如何提高智能问数准确率?

智能问数最佳实践指南

💡 小伙伴最常问的问题:这个产品的问数准确率能达到多少?

简单回答:我们为您提供的是一套强大的基础设施,至于怎么用、结果准不准,最终是由您的配置决定的!但是只要您按照我们的最佳实践去配置,那么在大模型不突然抽风(PS:出现幻觉)的情况下,至少能保证常见问题的准确率是100%。

这些基础设施包括:DSL 设计(提示词和工作流经过反复测试打磨,跨行业通用,一般无需修改)、 接口坊设计(数据库元数据维护、字段值域自动初始化、专业术语维护、示例 SQL 维护、数据库表分类、100% 查询权限控制、表关联关系校验等)、 自研问答前后端设计(用户登录、AI 对话等,替代 Dify 自带对话页面,上线必备)。

以下是我们总结出来的最佳实践,即使您不使用我们的产品,而是自己开发智能问数应用,原理也都一样,希望可以帮到您。

⚠️ 重要前提:大模型本身是概率模型,没人敢保证 NL2SQL 在任何场景下的准确率都是 100%,我们只能通过循序渐进的配置,来确保在尽可能多的场景中的准确率维持在100%;当然,您业务系统本身的数据质量也极其重要。

本文内容是对视频教程的总结提炼,视频教程: 【直播回放】从0到1搭建带查询权限控制的智能问数 →

1. 选择一位合适的人才

1.1 这个人最好既懂你们业务系统的表结构,又懂业务逻辑,换句话说,就是既懂技术又懂业务(Ta 要能知道业务数据和数据库表的对应关系,查询规则是什么;当大模型回复的结果不对,要能知道 SQL 语句错在什么地方)。

如果没有这样的人,那这事儿就悬了——到时候 AI 回复的到底对不对,没人知道!所以,请务必珍惜这样的人才!

1.2 让 Ta 看完我们从 0 到 1 的视频教程,只要认真看完了,相信最多一个下午的时间就能得到一个好的问数效果!

2. 选择一款合适的大模型

2.1 大模型的能力不能太弱,模型参数量尽量在70B 以上。国产 70B 以下的模型,我们认为Qwen3.5 及以上版本系列能够胜任(其中 27B、35B-A3B 经过测试效果很好,前者偏慢,后者快但 SQL 能力稍弱,可能需要更多示例 SQL)。

另外,不建议使用 DeepSeek R1 模型。如果用互联网模型,推荐DeepSeek V3 及以上版本、Qwen3.5 及以上系列、Qwen-Max等模型。

2.2 确保你使用的大模型具备工具调用能力,因为 Agent 节点需要调用工具。我们之所以使用 Agent,是因为 Agent 能够在 SQL 语句发生语法错误(或表关联错误)时自动根据报错信息修正 SQL 语句,并自动重新调用工具获取查询结果。

提示:目前大模型只需要在 Dify 中配置,接口坊中不需要配置大模型。

3. 在接口坊配置业务系统信息

3.1 一定把数据库表的元数据定义清楚(表含义、字段含义、表关联关系),此为智能问数之根本。表关联关系也很重要,它让接口坊可以自动校验大模型编写的 SQL 语句是否有关联错误,也让准确率更高(当然那些问数用不上的表完全可以被忽略)。

3.2 数据库表的分类:如果表的数量比较多,可以在接口坊定义多个问题类别,每个类别关联的表控制在 10 张左右,一般按照业务系统的功能模块分类(如销售、采购、库存、财务等)。如果表的数量较少且无法分类,就用一个分类关联所有的表即可。

详细配置过程请参考我们从 0 到 1 的视频教程!完成以上两点,就可以开始进行问数测试了。

4. 进行问数测试

新对话设置界面

接口坊新对话设置界面

4.1 根据问数效果,判断是否需要在接口坊进一步维护:

  • 数据库表的特殊存储逻辑:有的数据库表的数据存储逻辑比较特殊,你如果不告诉大模型,那么大模型很难写出准确的 SQL 语句。
  • 业务系统的专业术语:当用户习惯行业术语提问时,很可能需要你进行术语解释,让大模型知道这些术语对应数据库中的什么数据。
  • 特殊查询逻辑的示例 SQL:示例 SQL 很牛!如果该配置的都配置了,但大模型在某个问题上确实容易出错,那你就针对这个问题配置一条示例 SQL 吧,准确率立马提升。
  • 字段值域初始化:识别经常被询问的字段(例如部门名称、区域名称、产品名称等主体与客体的名称字段),给这些字段开启值域初始化。强烈建议使用这个功能!!!

5. 特殊情况:调整 DSL 中的提示词

如果业务系统所在的垂直行业确实有一定的特殊性导致有些场景问数效果不好,可以联系我们一起探讨,针对不足的方面去优化 Dify 中的大模型提示词。也就是说DSL 中自带的大模型提示词,一般情况下是不需要修改的。后期这种垂直行业的全局性配置我们也会通过接口坊实现。

6. 下一步工作

等问数效果满意了,再根据需要去接口坊配置查询权限,让不同岗位的人查询不同范围的数据。前期只需要配置一个用户用来测试就行,不需要配置任何权限。

7. 上线

利用我们的自研问答前后端产品(源码交付,可任意二次开发),实现用户登录、对话功能,支持移动端和 PC 端,支持对话记录分享,替代 Dify 自带的对话页面。

带权限控制的智能问数系统界面

带权限控制的智能问数系统界面

以上是我们一路走来的心得,不一定准确,分享给大家,欢迎批评指正! 若您觉得内容客观合理,还请为这篇文章点个赞,让我知道有人在共鸣,谢谢!