Агент LangChain SQLDatabase всегда имеет ошибки при запросе к базе данных
Я попытался задать ему простую задачу, которая включает в себя объединение двух разных таблиц, и агенты, кажется, включают дополнительный ', что приводит к этой ошибке (эта ошибка не появляется, когда приглашение простое и просто спрашивает об одной таблице) есть кто-нибудь еще столкнулся с этой проблемой??
Thought: The table names are correct. I should query the schema of these tables.
Action: schema_sql_db
Action Input: 'ods_crs_reservation, ods_crs_reservation_room_history'
Observation: Error: table_names {"ods_crs_reservation_room_history'", "'ods_crs_reservation"} not found in database
Thought: I must have made a typo. I should double check the table names.
Action: list_tables_sql_db
Action Input: ""
1 ответ
Я получил ту же ошибку и решил ее, не используя набор инструментов, а загрузив инструменты отдельно с небольшими изменениями в схеме.
from langchain.tools.sql_database.tool import (
InfoSQLDatabaseTool,
ListSQLDatabaseTool,
QueryCheckerTool,
QuerySQLDataBaseTool,
)
# assign your llm and db
info_sql_database_tool_description = """Input to this tool is a comma separated list of tables, output is the schema and sample rows for those tables.Be sure that the tables actually exist by calling list_tables_sql_db first! Example Input: table1, table2, table3"""
tools = [
QuerySQLDataBaseTool(db=db),
InfoSQLDatabaseTool(db=db, description=info_sql_database_tool_description),
ListSQLDatabaseTool(db=db),
QueryCheckerTool(db=db, llm=llm),
]