You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用LangChain的SQLDatabaseSequentialChain操作大型结构化数据库时,生成带Markdown代码块的SQL导致执行报错的问题咨询

使用LangChain的SQLDatabaseSequentialChain操作大型结构化数据库时,生成带Markdown代码块的SQL导致执行报错的问题咨询

大家好,我最近在用LangChain的SQLDatabaseSequentialChain处理PostgreSQL数据库查询时碰到了个棘手的问题:生成的SQL语句被自动套上了Markdown代码块格式(也就是sql开头、结尾的那种),结果直接传给SQLAlchemy执行的时候触发了语法错误,完全跑不起来。

错误信息

File "/home/dkrnd/projects/llm_learn/.venv/lib/python3.12/site-packages/sqlalchemy/engine/default.py", line 941, in do_execute
    cursor.execute(statement, parameters)
sqlalchemy.exc.ProgrammingError: (psycopg2.errors.SyntaxError) syntax error at or near "```"
LINE 1: ```sql
        ^
[SQL: ```sql
SELECT COUNT(*) AS user_count FROM users;
```]

当前代码配置

from langchain.chains import SQLDatabaseSequentialChain
from langchain_community.utilities import SQLDatabase

db = SQLDatabase.from_uri("postgresql://...")
llm = ChatOpenAI(model="gpt-4o-mini", temperature=0.0)
chain = SQLDatabaseSequentialChain.from_llm(
    llm=llm,
    database=db,
    verbose=True
)

# 执行这行时生成的SQL会带Markdown格式符号
response = chain.invoke({"query": "How many user are there?"})

有没有朋友遇到过类似的情况?或者知道怎么让模型生成纯SQL语句,不带那些额外的Markdown格式符号?

备注:内容来源于stack exchange,提问作者Nathan Aurelius

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 14:13:02