В этом руководстве будет продемонстрирован процесс использования буфера сводки разговоров в LangChain.
Как использовать буфер сводки разговоров в LangChain?
Разговор может включать в себя несколько сообщений, которые напоминают взаимодействие человека и машины, а в буфере могут храниться самые последние сообщения. РазговорСводкаБуферПамять библиотека используется для объединения обеих концепций, таких как хранение самых последних сообщений и извлечение их сводки.
Чтобы изучить процесс использования буфера сводки разговоров в LangChain, просто прочтите следующее руководство:
Шаг 1. Установите модули
Сначала установите модуль LangChain с помощью команды pip, чтобы получить необходимые библиотеки:
pip установить langchain
Установите токенизатор tiktoken, который можно использовать для разделения текстовых документов на небольшие фрагменты:
pip установить тиктокен
После этого установите модули OpenAI, которые можно использовать для построения языковых моделей, таких как LLM и цепочки:
pip установить openai
Сейчас, настроить среду получив ключ API от учетной записи OpenAI и используя его в модели:
Импортировать тыИмпортировать получить пропуск
ты . примерно [ 'ОПЕНАЙ_API_KEY' ] '=' получить пропуск . получить пропуск ( «Ключ API OpenAI:» )
Шаг 2. Использование буфера сводки разговоров
Начните процесс использования буфера сводки разговоров, импортировав библиотеки для построения LLM с помощью метода OpenAI():
от лангчейн. Память Импортировать РазговорСводкаБуферПамятьот лангчейн. llms Импортировать ОпенАИ
лм '=' ОпенАИ ( )
Создайте память с помощью метода ConversationSummaryBufferMemory(), а затем сохраните разговор в памяти:
Память '=' РазговорСводкаБуферПамять ( лм '=' лм , max_token_limit '=' 10 )Память. save_context ( { 'вход' : 'привет' } , { 'выход' : 'Как дела' } )
Память. save_context ( { 'вход' : 'У меня все хорошо а ты как' } , { 'выход' : 'немного' } )
Теперь выполните память, вызвав load_memory_variables () метод извлечения сообщений из памяти:
Память. load_memory_variables ( { } )
Теперь используйте сводную информацию о буфере разговора, чтобы настроить буфер, ограничив количество сообщений, которые будут храниться в буфере. После этого извлеките сводку этих сообщений, хранящуюся в буфере, а затем сохраните разговор в памяти:
Память '=' РазговорСводкаБуферПамять (лм '=' лм , max_token_limit '=' 10 , return_messages '=' Истинный
)
Память. save_context ( { 'вход' : 'привет' } , { 'выход' : 'Как дела' } )
Память. save_context ( { 'вход' : 'У меня все хорошо а ты как' } , { 'выход' : 'немного' } )
Получите сводку предыдущих сообщений, хранящихся в буферной памяти, используя следующий код:
Сообщения '=' Память. чат_память . Сообщенияprevious_summary '=' ''
Память. предсказать_new_summary ( Сообщения , previous_summary )
Шаг 3. Использование буфера сводки разговоров в цепочке
Постройте цепочки, используя Цепочка разговоров() метод, содержащий значение буферной памяти для хранения в ней сообщения:
от лангчейн. цепи Импортировать Разговорная цепочкаразговор_with_summary '=' Разговорная цепочка (
лм '=' лм ,
Память '=' РазговорСводкаБуферПамять ( лм '=' ОпенАИ ( ) , max_token_limit '=' 40 ) ,
подробный '=' Истинный ,
)
разговор_с_сводкой. предсказывать ( вход '=' 'Привет как дела?' )
Предоставьте входные данные в виде текста, используя метод Predict(), чтобы получить сводку разговора:
разговор_с_сводкой. предсказывать ( вход '=' «Просто работаю над проектом НЛП» )
Используйте выходные данные модели, добавьте дополнительные данные, используя сообщения в буферной памяти, и отобразите их сводку:
разговор_с_сводкой. предсказывать ( вход '=' «да, это так! Я работаю над проектированием LLM» )
Подводя итог, можно сказать, что результат будет более понятным, более удобным для человека и более подходящим для чат-ботов:
разговор_с_сводкой. предсказывать (вход '=' «Я хочу использовать LangChain! Вы слышали о нем»
)
Это все, что касается использования буфера сводки разговоров в LangChain.
Заключение
Чтобы использовать буферную память сводки разговоров в LangChain, просто установите модули или платформы, чтобы получить необходимые библиотеки. После импорта библиотек создайте LLM или чат-ботов, чтобы использовать функцию ConverstaionSummaryBufferMemory() для получения сводки разговора. Буферная память используется для ограничения количества сообщений, хранящихся в памяти и используемых для извлечения сводки. В этом посте подробно описан процесс использования буферной памяти сводки разговоров в LangChain.