WrenAI 15 分钟上手:给数据库装上 Text-to-SQL 入口,把问题直接问成 SQL
2026/9/9 22:50:31 网站建设 项目流程

WrenAI 15 分钟上手:给数据库装上 Text-to-SQL 入口,把问题直接问成 SQL

【免费下载链接】WrenAIGenBI (Generative BI) for AI agents, an open-source, governed text-to-SQL through an open context layer that turns natural-language questions into trusted dashboards, charts, and SQL across 20+ data sources, such as BigQuery, Snowflake, PostgreSQL, ClickHouse, Amazon Redshift, Databricks and more.项目地址: https://gitcode.com/GitHub_Trending/wr/WrenAI

每次运营想看一下上周各渠道的转化数据,都得排队等分析师取数,等结果回来,问题又换了方向。WrenAI 是一款开源的 Text-to-SQL 工具,它架在数据库前面,业务人员用自然语言提问,系统直接把数据查出来,不用写一行 SQL。

🚀 先跑起来:四步问出第一条 SQL

跑通的最快路径不需要服务器,官方 quickstart 用本地文件就能走完整条链路,15 分钟左右。

1. 安装 CLI,把工具装进环境

pip install "wrenai[postgres,memory]"

核心包自带 DuckDB,不用先准备数据库;方括号里追加了 PostgreSQL 连接器和记忆索引。想读源码可克隆仓库:https://gitcode.com/GitHub_Trending/wr/WrenAI ,Python 侧逻辑在 core/ 目录。

2. 在 CLI 里连接第一个数据库

终端里运行wren profile add,按提示依次填写地址、端口、账号和库名。保存后项目里多出一份连接 profile,之后所有查询都走这个入口。

3. 让 AI 生成语义模型 MDL

MDL 是 models/ 与 relationships.yml 下的一组 YAML 文件,用业务语言写清"哪些表该用、每个字段什么含义、表之间怎么关联"。这一步可以交给 AI agent 读库表结构起草初版,人来审改。官方 quickstart 自带示例库,不用自己准备数据库也能跟完。

4. 问出第一个问题,拿到第一条 SQL

wren ask "本季度销售额 Top10 的客户" --guided

返回结果分两部分:系统生成的 SQL 和实际执行的结果行。语义对不上就换问法,或修改 MDL 里的字段描述再问一遍。

它是怎样把问题变成 SQL 的

整条链路拆成四步,每一步都有据可查。

用户输入。问题经 CLI 或 Python SDK 进入,WrenAI 先取这题相关的项目上下文,而不是把全部表结构一股脑丢给模型。

检索增强(RAG)。大白话就是:模型回答前,先翻一遍项目里相关的资料,把答案依据给它。这里的资料有两份,一份是 MDL,告诉模型哪些表和字段相关、怎么关联、"收入"在你们公司的定义是什么;另一份是本地记忆库(LanceDB),召回过去相似的问题-SQL 配对当例子。前面提到的"语义层"就是把数据库对象翻译成业务语言的那一层,MDL 是它的文件形态。

生成 SQL。模型对着 MDL 写 SQL,而不是对着裸表写;执行前还要过 dry-plan 干跑:只生成执行计划、不动一行数据,发现表用错、关联错了就先纠正再跑。

返回结果。校验通过后在目标数据源真正执行,把结果行交回来。被确认过的问题-SQL 配对会写回记忆库,成为下一次检索的例子,所以这套系统用得多会越准。

谁在用它:三个岗位的取数对比

  • 运营:过去每周五提数据需求,两天后才拿到周报;现在输入"本周哪个渠道转化最好",系统生成 SQL、把数拉出来直接给答案。
  • 财务:过去对收入要请 DBA 写 SQL;现在问"上季度各区域收入多少、环比变化",得到一条可核对的 SQL 和一张结果表。
  • 销售:过去查客户下单明细依赖 BI 权限;现在让 agent 查"本季度销售额 Top10 客户",SQL 和表格一起出,可直接拿去开会。

上手前要知道的两条前提

  • 语义模型需要持续维护,且依赖接入模型的能力。MDL 是答案准确度的根,表结构或业务定义变了就要同步更新,否则会出现 SQL 生成了但"自信地错"的情况。检索增强与干跑校验能显著降低错误,但不保证为零;多表关联的复杂问题,建议先把字段描述和历史例子补进模型。
  • 开源版不含行列级权限管控。那是 Cloud 或自托管版本的能力,面向全公司开放前,仍要设计好数据源侧的账号权限。

WrenAI 的定位是数据库和提问人之间的一层:把自然语言变成受治理的 SQL,让每个定义可审查、可版本化。如果你已在跑 LangChain agent,可以接着仓库里的 wren-langchain 往下看,把这个入口做成你自己机器人里的一个工具。

【免费下载链接】WrenAIGenBI (Generative BI) for AI agents, an open-source, governed text-to-SQL through an open context layer that turns natural-language questions into trusted dashboards, charts, and SQL across 20+ data sources, such as BigQuery, Snowflake, PostgreSQL, ClickHouse, Amazon Redshift, Databricks and more.项目地址: https://gitcode.com/GitHub_Trending/wr/WrenAI

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询