Есть ли способ редактировать разговор агента 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 — не единственный файл, который вы можете редактировать. Я тоже работаю над этим, и мне сложно это сделать.
Надеюсь, вы найдете решение