RAG?还是 Text To SQL
发布: (2026年1月18日 GMT+8 00:40)
2 min read
原文: Dev.to
Source: Dev.to
背景
我最近参与了一个项目,涉及一个相对较小的数据库:包含 16 列、20,001 行,记录公司地址和状态详情。任务是根据用户查询获取数据,并确保零幻觉。系统还需要支持聚合函数,例如计算最大值和平均值。由于聊天机器人是概念验证,数据库规模故意保持在较小范围。
方法
鉴于这些需求,我选择了 Text‑to‑SQL 架构。这种方法相较于检索增强生成(RAG)提供更高的确定性准确性,并且能够原生执行诸如 AVG、MAX 以及其他聚合操作——这些是聊天机器人所需的核心功能。
考虑因素
- 并发性: 预期负载最高可达 100 个并发用户。
- 可扩展性: 数据库支持水平扩展,且无需重新索引向量的计算开销。
- 数据波动性: 某些列(例如
capital)可能频繁变化,使得确定性的 Text‑to‑SQL 解决方案在此类数据集上更高效。