我正在尝试实现一个 SQL LangChain 代理来处理现有的 SQLite 数据库。我遇到的问题是生成的 SQL 脚本缺少列规范,即使数据库本身运行正常。
代码:
def get_conversational_model():
model = ChatGoogleGenerativeAI(
model="gemini-1.5-flash",
temperature=0,
max_tokens=None,
timeout=None,
max_retries=2)
db = SQLDatabase.from_uri(f"sqlite:///{database}")
agent_executor = create_sql_agent(model, db=db, agent_type="openai-functions", verbose=True)
query = """
Describe the reports_details table
"""
response = agent_executor.invoke( f"Describe the {TABLE_NAME} table")
print(response)
get_conversational_model()
输出:
[SQL:从 reports_details LIMIT 中选择?偏移?]
问题似乎与 SQLITE 数据库有关,我使用了不同的文件,并且脚本按预期工作。