Есть ли способ редактировать разговор агента Langchain по мере его продолжения?

Я использую langchain для запроса базы данных MySQL, но агенты langchain всегда превышают лимит токенов OpenAI в 4 КБ. Когда я просмотрел историю разговоров агента, кажется, что агент звонилschema_sql_dbнесколько раз, и схемы таблиц заняли много моих токенов.

Есть ли у меня способ вмешаться и удалить схемы из истории разговоров, а также суммировать историю агента, когда она становится слишком длинной?

Спасибо!

2 ответа

Существуют различные способы ограничения этой проблемы с токенами. Я рекомендую вам использовать базы данных сосновой шишки или weaviate, если это возможно, но если нет, попробуйте использовать типы памяти — ConversationBufferMemory, ConversationSummaryMemory, ConversationBufferWindowMemory и другие. Суммируя свой контент, вы также можете создать отдельный класс эмори.

Для получения дополнительной информации ознакомьтесь с этим кодом Python

Я также столкнулся с этой проблемой. Однако @Sam упомянул в своем сообщении, что мы можем редактировать агент sql_database.py из библиотеки langchain.

SQLDatabaseSequentialChain Langchain для запроса базы данных

Вы можете найти библиотеку вC:\Users\<username>\AppData\Local\Programs\Python\Python39\Lib\site-packages\langchainесли вы находитесь в Windows.

sql_databse.py — не единственный файл, который вы можете редактировать. Я тоже работаю над этим, и мне сложно это сделать.

Надеюсь, вы найдете решение

Другие вопросы по тегам