Това ръководство ще илюстрира процеса на използване на паметта на обекта в LangChain.
Как да използвам паметта на обекта в LangChain?
Обектът се използва за запазване на ключовите факти, съхранени в паметта, за да бъдат извлечени, когато бъдат попитани от човека, използвайки заявките/подканите. За да научите процеса на използване на паметта на обекта в LangChain, просто посетете следното ръководство:
Стъпка 1: Инсталирайте модули
Първо инсталирайте модула LangChain, като използвате командата pip, за да получите неговите зависимости:
pip инсталирайте langchain
След това инсталирайте модула OpenAI, за да получите неговите библиотеки за изграждане на LLM и чат модели:
pip инсталирайте openai
Настройте средата OpenAI използвайки API ключа, който може да бъде извлечен от OpenAI акаунта:
импортиране Вие
импортиране getpass
Вие . приблизително [ „OPENAI_API_KEY“ ] = getpass . getpass ( „API ключ на OpenAI:“ )
Стъпка 2: Използване на Entity Memory
За да използвате паметта на обекта, импортирайте необходимите библиотеки за изграждане на LLM с помощта на метода OpenAI():
от Langchain. llms импортиране OpenAIот Langchain. памет импортиране ConversationEntityMemory
llm = OpenAI ( температура = 0 )
След това дефинирайте памет променлива с помощта на метода ConversationEntityMemory() за обучение на модела с помощта на входните и изходните променливи:
памет = ConversationEntityMemory ( llm = llm )_вход = { 'вход' : „Joe са Root са правили проект“ }
памет. load_memory_variables ( _вход )
памет. save_context (
_вход ,
{ 'изход' : 'Страхотно! Що за проект е това?' }
)
Сега тествайте паметта, като използвате заявката/подканата в вход променлива чрез извикване на метода load_memory_variables():
памет. load_memory_variables ( { 'вход' : 'кой е Root' } )
Сега дайте малко повече информация, за да може моделът да добави още няколко обекта в паметта:
памет = ConversationEntityMemory ( llm = llm , върнати_съобщения = Вярно )_вход = { 'вход' : „Joe са Root са правили проект“ }
памет. load_memory_variables ( _вход )
памет. save_context (
_вход ,
{ 'изход' : 'Страхотно! Що за проект е това' }
)
Изпълнете следния код, за да получите изхода, като използвате обектите, които се съхраняват в паметта. Възможно е чрез вход съдържащ подканата:
памет. load_memory_variables ( { 'вход' : 'кой е Джо' } )
Стъпка 3: Използване на паметта на обекта във верига
За да използвате паметта на обекта след изграждане на верига, просто импортирайте необходимите библиотеки, като използвате следния кодов блок:
от Langchain. вериги импортиране ConversationChainот Langchain. памет импортиране ConversationEntityMemory
от Langchain. памет . подкана импортиране ENTITY_MEMORY_CONVERSATION_TEMPLATE
от пидантичен импортиране BaseModel
от писане импортиране списък , Dict , Всякакви
Изградете модела на разговор с помощта на метода ConversationChain(), като използвате аргументи като llm:
разговор = ConversationChain (llm = llm ,
многословен = Вярно ,
подкана = ENTITY_MEMORY_CONVERSATION_TEMPLATE ,
памет = ConversationEntityMemory ( llm = llm )
)
Извикайте метода conversion.predict() с входа, инициализиран с подканата или заявката:
разговор. прогнозирам ( вход = „Joe са Root са правили проект“ )
Сега получете отделен изход за всеки обект, описващ информацията за него:
разговор. памет . entity_store . магазин
Използвайте изхода от модела, за да дадете входа, така че моделът да може да съхранява повече информация за тези обекти:
разговор. прогнозирам ( вход = „Те се опитват да добавят по-сложни структури на паметта към Langchain“ )
След като дадете информацията, която се съхранява в паметта, просто задайте въпроса, за да извлечете конкретната информация за обектите:
разговор. прогнозирам ( вход = „Какво знаеш за Джо и Рут“ )
Стъпка 4: Тестване на Memory Store
Потребителят може да инспектира директно хранилищата на паметта, за да получи информацията, съхранена в тях, като използва следния код:
от печат импортиране печатпечат ( разговор. памет . entity_store . магазин )
Предоставете повече информация, която да се съхранява в паметта, тъй като повече информация дава по-точни резултати:
разговор. прогнозирам ( вход = „Root основа бизнес, наречен HJRS“ )
Извлечете информация от хранилището на паметта, след като добавите повече информация за обектите:
от печат импортиране печатпечат ( разговор. памет . entity_store . магазин )
Паметта съдържа информация за множество обекти като HJRS, Joe, LangChain и Root:
Сега извлечете информация за конкретен обект, като използвате заявката или подканата, дефинирани във входната променлива:
разговор. прогнозирам ( вход = „Какво знаете за Root“ )
Това е всичко за използването на паметта на обекта с помощта на рамката LangChain.
Заключение
За да използвате паметта на обекта в LangChain, просто инсталирайте необходимите модули за импортиране на библиотеки, необходими за изграждане на модели след настройка на средата OpenAI. След това изградете LLM модела и съхранете обекти в паметта, като предоставите информация за обектите. Потребителят може също да извлича информация с помощта на тези обекти и да изгражда тези спомени във веригите с разбъркана информация за обекти. Тази публикация разработи подробно процеса на използване на паметта на обекта в LangChain.