大模型在技术上 能 / 怎么 实现比较准确的数据库查询 吗/呢 ?

2025 年 4 月 9 日
 p1nk

背景

领导给了个任务,在本地配置一个 deepseek 大模型,然后构建公司内部的知识库、连接公司内部的数据库,实现领导和员工对访问需求。 现在上述三个任务都已经实现了,但是在对接数据库查询这块有很大问题。

问题

在将提示词(包含任务要求、数据表信息)和用户给到模型之后,模型给出的 sql 语句,十次有七次是直接无法执行的,基本就是语法有问题(常见错误 order by 、to_char 等等),再有三次就是和表结构有冲突,无法执行。

尝试

我尝试根据它 sql 的错误语法再加提示词,但是问题是越来越多的提示词再加上需要告知的表结构,提示词都快把可输入最长 token 占满了,而且提示词也不是百分百有效(比如我告诉它不要使用任何 order by ,但是还是输出...)

疑惑

我一开始就怀疑这件事是否可行,现在变得严格怀疑这件事是否可行。
表结构很简单的话我尝试过没有任何问题,可以做到百分百不出错,但是一旦企业的表结构极其复杂各种嵌套,在这种情况下还一定要用自然语言生成需要精准执行的 SQL 语句,我严格怀疑能做到么?
希望是我的技术水平不够,能有大佬帮我解解惑

11463 次点击
所在节点    程序员
78 条回复
leonhao
2025 年 4 月 9 日
你需要先把表结构转化成简单的结构,现在的 AI 还没这么智能,题外话,随便应付一下领导得了,反正无法上线,这个场景现阶段就是个玩具
mumbler
2025 年 4 月 9 日
我们团队能做到,找我们合作啊
ferock
2025 年 4 月 9 日
写那么多提示词就差自己写 sql 教 ai 了
Varsion13
2025 年 4 月 9 日
可以换一个思路(目前我们是这么做的)

开放 API 给 AI ,喊 AI 根据对话内容直接请求对应的 API ,然后展示 Response
elron
2025 年 4 月 9 日
text2sql 很常见的技术啊
sunmacarenas
2025 年 4 月 9 日
可以看下 ragflow 里的 DB Assistant 这个 Agent
p1nk
2025 年 4 月 9 日
@leonhao #1 我也是这么觉得,得让数据库同事弄个简单的表出来,别整那么复杂。而且说这么多到头来也是给自己和别的同事找工作,还不一定有成效...

@Varsion13 #4 大佬这个思路好厉害,确实是一个方法我琢磨琢磨

@elron #5 我指的是对于复杂的表结构和问题,模型不能生成正确的 sql
XG9H3BN7CWMMmnjw
2025 年 4 月 9 日
我觉得是无法做到百分百准确,最多接近正确答案
daodao
2025 年 4 月 9 日
你说的这个需求 是现在大模型落地最常见的应用场景。。。
sunny352787
2025 年 4 月 9 日
这不就是 MCP 吗?你搭一个 MCP 服务让 AI 调用就好了
hmxxmh
2025 年 4 月 9 日
最早可以用 function call,现在都是 mcp
hefish
2025 年 4 月 9 日
不能把机器当人使。。。。

同理,也不能把人当机器使。。。
p1nk
2025 年 4 月 9 日
@sunmacarenas #6

@sunny352787 #10

@hmxxmh #11

感谢大佬,我研究一下。
我一直在弄 function call ,敢情都有 mcp 了。一直瞎造轮子😂
sayoko
2025 年 4 月 9 日
可以参考下这个库,只试用过 https://github.com/vanna-ai/vanna ,
XG9H3BN7CWMMmnjw
2025 年 4 月 9 日
@p1nk #13 楼主最靠谱的就是用 MCP 参考 4 楼说的,生成 sql 都是白扯
ChoiYoonJung
2025 年 4 月 9 日
除了 mcp 什么的,如果一定想要用大模型生成 sql 直接用,可以参考 dify 工作流的方式,加一个节点让大模型去校验 sql 并给出修改意见,然后根据修改意见再改一版
MRlaopeng
2025 年 4 月 9 日
大佬这个咋实现的 (构建公司内部的知识库、连接公司内部的数据库,实现领导和员工对访问需求)
super452
2025 年 4 月 9 日
要是这个需求能落地,sqlboy 的末日就到了 hh
hhyyd
2025 年 4 月 9 日
很难哎,应该把大模型更多当人来看,就像一个新入职的员工,直接让他按 XXX 口径取 XXX 数据, 他不知道数据不知道业务,很容易取错。


就算带了两年给训练成熟练工了,取相同的数据也很难一口气写个 100%对的 sql 。更别说业务的迭代了
skyemin
2025 年 4 月 9 日
@Varsion13 请教一下 ai 现在可以直接请求 api 吗,怎么实现的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/1124121

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX