Это руководство проиллюстрирует процесс использования памяти объектов в LangChain.
Как использовать память сущностей в LangChain?
Сущность используется для хранения ключевых фактов в памяти для их извлечения по запросу человека с помощью запросов/подсказок. Чтобы изучить процесс использования памяти объекта в LangChain, просто посетите следующее руководство:
Шаг 1. Установите модули
Сначала установите модуль LangChain с помощью команды pip, чтобы получить его зависимости:
pip установить langchain
После этого установите модуль OpenAI, чтобы получить его библиотеки для построения LLM и моделей чатов:
pip установить openai
Настройте среду OpenAI используя ключ API, который можно извлечь из учетной записи OpenAI:
Импортировать ты
Импортировать получить пропуск
ты . примерно [ 'ОПЕНАЙ_API_KEY' ] '=' получить пропуск . получить пропуск ( «Ключ API OpenAI:» )
Шаг 2. Использование памяти объектов
Чтобы использовать память объекта, импортируйте необходимые библиотеки для построения LLM с помощью метода OpenAI():
от лангчейн. llms Импортировать ОпенАИот лангчейн. Память Импортировать РазговорСущностьПамять
лм '=' ОпенАИ ( температура '=' 0 )
После этого определите Память переменную с помощью метода ConversationEntityMemory() для обучения модели с использованием входных и выходных переменных:
Память '=' РазговорСущностьПамять ( лм '=' лм )_вход '=' { 'вход' : «Джо Рут занимается проектом» }
Память. load_memory_variables ( _вход )
Память. save_context (
_вход ,
{ 'выход' : «Отлично! Что это за проект?» }
)
Теперь проверьте память, используя запрос/подсказку в вход переменную, вызвав метод load_memory_variables():
Память. load_memory_variables ( { 'вход' : 'кто такой Рут' } )
Теперь предоставьте дополнительную информацию, чтобы модель могла добавить еще несколько объектов в память:
Память '=' РазговорСущностьПамять ( лм '=' лм , return_messages '=' Истинный )_вход '=' { 'вход' : «Джо Рут занимается проектом» }
Память. load_memory_variables ( _вход )
Память. save_context (
_вход ,
{ 'выход' : «Отлично! Что это за проект?» }
)
Выполните следующий код, чтобы получить выходные данные, используя объекты, хранящиеся в памяти. Это возможно через вход содержащий подсказку:
Память. load_memory_variables ( { 'вход' : 'кто такой Джо' } )
Шаг 3. Использование памяти сущностей в цепочке
Чтобы использовать память объекта после построения цепочки, просто импортируйте необходимые библиотеки, используя следующий блок кода:
от лангчейн. цепи Импортировать Разговорная цепочкаот лангчейн. Память Импортировать РазговорСущностьПамять
от лангчейн. Память . быстрый Импортировать ENTITY_MEMORY_CONVERSATION_TEMPLATE
от пикантный Импортировать Базовая модель
от печатание Импортировать Список , Дикт , Любой
Создайте модель диалога с помощью метода ConversationChain(), используя такие аргументы, как llm:
беседа '=' Разговорная цепочка (лм '=' лм ,
подробный '=' Истинный ,
быстрый '=' ENTITY_MEMORY_CONVERSATION_TEMPLATE ,
Память '=' РазговорСущностьПамять ( лм '=' лм )
)
Вызовите метод разговора.predict() с входными данными, инициализированными с помощью подсказки или запроса:
беседа. предсказывать ( вход '=' «Джо Рут занимается проектом» )
Теперь получите отдельный вывод для каждой сущности, описывающий информацию о ней:
беседа. Память . объект_магазин . магазин
Используйте выходные данные модели, чтобы предоставить входные данные, чтобы модель могла хранить больше информации об этих объектах:
беседа. предсказывать ( вход '=' «Они пытаются добавить в Langchain более сложные структуры памяти» )
После предоставления информации, хранящейся в памяти, просто задайте вопрос, чтобы извлечь конкретную информацию об объектах:
беседа. предсказывать ( вход '=' «Что ты знаешь о Джо и Руте?» )
Шаг 4. Тестирование хранилища памяти
Пользователь может напрямую проверять хранилища памяти, чтобы получить хранящуюся в них информацию, используя следующий код:
от Распечатать Импортировать РаспечататьРаспечатать ( беседа. Память . объект_магазин . магазин )
Предоставьте больше информации для хранения в памяти, поскольку больше информации дает более точные результаты:
беседа. предсказывать ( вход '=' «Рут основал компанию под названием HJRS» )
Извлеките информацию из хранилища памяти после добавления дополнительной информации об объектах:
от Распечатать Импортировать РаспечататьРаспечатать ( беседа. Память . объект_магазин . магазин )
В памяти хранится информация о нескольких объектах, таких как HJRS, Joe, LangChain и Root:
Теперь извлеките информацию о конкретной сущности, используя запрос или подсказку, определенную во входной переменной:
беседа. предсказывать ( вход '=' «Что ты знаешь о Руте» )
Это все, что касается использования памяти сущностей с помощью инфраструктуры LangChain.
Заключение
Чтобы использовать память сущностей в LangChain, просто установите необходимые модули для импорта библиотек, необходимых для построения моделей, после настройки среды OpenAI. После этого постройте модель LLM и сохраните сущности в памяти, предоставив информацию об сущностях. Пользователь также может извлекать информацию с помощью этих сущностей и строить эти воспоминания в цепочках с перемешанной информацией об сущностях. В этом посте подробно описан процесс использования памяти сущностей в LangChain.