Как использовать память сущностей в LangChain?

Kak Ispol Zovat Pamat Susnostej V Langchain



LangChain — это модуль, который позволяет создавать модели, способные обрабатывать естественные языки, то есть языки, которые люди используют для общения. LangChain содержит все необходимые модули и зависимости, которые можно использовать для создания больших языковых моделей или чат-ботов. Эти модели необходимо обучить изучению естественного языка для генерации текстов на основе запросов, заданных пользователем.

Это руководство проиллюстрирует процесс использования памяти объектов в 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.