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