Featured image of post 用 DuckDB 搭建 AI 数据问答机器人:让业务人员自己查数据

用 DuckDB 搭建 AI 数据问答机器人:让业务人员自己查数据

用 DuckDB + LLM 搭建 Text-to-SQL 数据问答机器人,让不会 SQL 的业务人员通过自然语言获取数据洞察。附完整可运行代码、安全执行引擎和三种变现场景。

用 DuckDB 搭建 AI 数据问答机器人:让业务人员自己查数据

💰 变现路径:为企业搭建内部数据问答系统,单次交付 5000-20000 元


一、业务人员的痛点,就是你的商机

你有没有遇到过这种场景:去找一家电商公司的运营总监聊合作,他说"我们每天要看 5 个维度的销售数据,但每次都要找数据分析师排期"。

你回答:“我帮你搭一个系统,以后你们直接在聊天框里问’上周华东区哪三款商品退货率最高’,系统自动给你答案。”

这就是 AI 数据问答机器人的核心价值——让不会 SQL 的业务人员,能用自然语言获取数据洞察。

传统方案怎么做?前端写 React → 后端写 FastAPI → 对接 LLM API → 把自然语言转 SQL → 执行查询 → 返回结果。这套流程至少需要 2000 行代码。

用 DuckDB,整个核心逻辑不到 150 行。原因很简单:DuckDB 是进程内数据库,不需要单独部署,Python 里 import duckdb 就能用,天然适合嵌入 AI Agent 的推理链路中。


二、系统架构:四步完成自然语言到数据结果

整个系统的核心链路非常清晰:

用户提问(自然语言)→ LLM 生成 SQL → DuckDB 执行查询 → 格式化结果
       ↑                                              ↓
       └────────── 结果反馈给 LLM 生成自然语言回答 ←┘

四个关键模块:

  1. Schema 感知:让 LLM 了解数据库表结构
  2. SQL 生成器:将自然语言转为 DuckDB SQL
  3. 安全执行引擎:防止恶意查询,保护数据安全
  4. 自然语言回答器:将查询结果转化为业务可读的分析

三、第一步:准备数据

DuckDB 的强大之处在于它能直接读取各种格式的文件,无需导入过程。

import duckdb
import json

# 创建 DuckDB 内存数据库(零配置)
con = duckdb.ATTACH (':memory:')

# 直接读取 CSV(自动推断 schema)
con.execute("""
---

## 本文信息

| 项目 | 内容 |
|------|------|
| DuckDB 版本 | v1.5.x(部分功能基于 v2.0 Preview) |
| 最后验证 | 2026-09-12 |
| 测试环境 | Linux / x86_64 / 16GB RAM |
| 官方文档 | [DuckDB Documentation](https://duckdb.org/docs/) |
| GitHub | [pengzz9527/duckdb-blog](https://github.com/pengzz9527/duckdb-blog) |

如发现错误,欢迎通过 [GitHub Issue](https://github.com/pengzz9527/duckdb-blog/issues) 或邮件 [email protected] 反馈。

📺 Watch video tutorials → Olap Studio YouTube

Subscribe for more DuckDB & AI automation tutorials

使用 Hugo 构建
主题 StackJimmy 设计