WrenAI 文本转SQL快速上手:让AI代理写出可信的SQL
WrenAI 文本转SQL快速上手让AI代理写出可信的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/WrenAIWrenAI 是一个开源的文本转SQLtext-to-SQL与 GenBI 引擎AI 代理通过它把自然语言问题变成可信的 SQL 和可分享的数据看板覆盖 20 数据源。这篇安装教程与使用指南写给想把 text-to-SQL 接进自己项目的数据工程师和开发者。快速开始四步装好 WrenAI环境要求一句话Python 3.11希望用 Claude Code、Cursor 这类 AI 客户端代劳的话再装个 Node.js/npm。不需要 Docker也不需要云服务。1. 安装 CLIpip install wrenai[postgres,memory] # 核心引擎 Postgres 连接器 本地记忆核心包自带 DuckDB本地文件可直接查其他数据源按连接器追加如wrenai[bigquery]、wrenai[snowflake]。2. 验证安装wren version # 输出一行 wrenai 版本号即成功3. 给 AI 客户端装驱动可选npx skills add Canner/WrenAI # 安装约 50 行的发现桩它会自动探测已装的 AI 客户端。工作流指南不随桩全量安装代理之后用wren skills get name按需拉取内容始终与 CLI 版本一致。4. 跑通第一条查询不走 AI 客户端的最短路径是四条命令wren context init # 生成 wren_project.yml 和 models/ 骨架 wren profile add my-db --interactive # 录入并保存一个命名连接wren context build # 把 YAML 编译成 target/mdl.json wren --sql SELECT COUNT(*) FROM orders # 通过语义层执行查询用 AI 客户端的话更省事在项目目录里对它说“用 Wren 把我的 Postgres 建起来”代理会自动执行 onboarding 流程——检查环境、建连接、搭项目、跑通首条查询。功能拆解MDL 语义层SQL 为什么写得对MDLModeling Definition Language是一组 Git 友好的 YAML模型、列、关系、视图、cube描述的是数据“意味着什么”而不只是“存在哪里”。wren context build把它编译成target/mdl.json之后每条 SQL 都先对着这份清单做规划与 dry-plan 校验出错时返回带提示的结构化错误。效果是同一个业务词比如 revenue在所有查询里含义一致代理继承的是业务定义而不是靠猜。Memory越用越准的本地记忆原理是在本地维护一套 LanceDB 索引配本地 embedding不依赖外部向量服务。wren memory index建模式索引wren memory fetch -q ...按模式文本大小自动选策略——小于 3 万字符直接返回全文更大则走向量检索取相关片段。每次成功的“问题→SQL”对都可以用wren memory store --nl ... --sql ...存下下次同类问题wren memory recall会按语义相似度把旧查询捞回来当参考。GenBI 看板把一次回答变成可分享的链接wren genbi build生成构建指令代理据此在apps/name/写出浏览器端应用由 wasm 引擎驱动数据快照后纯前端运行wren genbi verify做文件与密钥扫描预检wren genbi open本地预览wren genbi deploy一条命令发布到你自己的 Vercel 或 Cloudflare Pages 账号返回可分享 URL。部署 token 只从~/.wren/.env读取不会出现在命令行里。实战走一遍用 DuckDB 问数五步场景一个装了 DuckDB 数据库的目录官方示例用的 jaffle_shop 电商样例最方便。第一步登记连接。浏览器表单比手敲省事填 duckdb 类型和数据库所在目录wren profile debug可验证连通性wren profile add jaffle-shop --ui # 浏览器表单录入连接第二步建项目并锁定连接。wren context init # 生成项目骨架 wren context set-profile jaffle-shop # 本项目从此只用这条连接绑定后别处执行wren profile switch不会把本项目查询导流到别的库。第三步描述表。在models/下为customers、orders各写一个metadata.yml列名、类型、主键在relationships.yml声明两表的多对一连接。 这一步可以直接让 AI 代理按 generate-mdl 指南自动探查库结构并生成写完跑wren context validate校验。第四步编译并建索引。wren context build # 编译 manifest wren memory index # 建立模式检索索引第五步提问。在代理里直接问“哪 5 个客户的终身价值最高”。代理内部依次执行wren memory fetch取相关表结构、wren memory recall找相似历史查询、写 SQL、wren --sql ...执行最后把成功的那对存入记忆。同一个问题再问答案会更快更稳。常见问题速查首次执行wren memory命令卡住近一分钟macOS原因约 800MB 的原生库lancedb 与 torch首次加载会触发 macOS 一次性 XProtect 安全扫描。 修复等它跑完即可仅每次安装或全新虚拟环境发生一次装完可先手动跑一条 memory 命令“烧掉”这次等待。pip install wrenai很慢或超时原因部分网络环境访问 PyPI 源不畅HuggingFace 模型下载同样可能超时。 修复改用国内镜像源安装并按 README 提示设置 HuggingFace 镜像环境变量后再执行 CLI。SQL 报 table not found原因查询走的是 MDL 语义层对象名应是模型名而非物理表名也可能是 manifest 还没编译。 修复先执行wren context buildSQL 里改写模型名。GenBI 部署成功打开链接却显示 401原因Vercel 新项目默认开启部署保护未登录访问被拦。 修复在 Vercel 项目的 Deployment Protection 设置中关闭 Vercel Authentication。下一步想要可分享的报表按 GenBI 指南 走一遍wren genbi全流程想让 Claude Desktop、Cursor 等 MCP 客户端也能查数执行wren serve mcp启动进程内 MCP 服务器。日常命令与参数查 CLI 参考各数据源连接字段见 连接格式参考。【免费下载链接】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),仅供参考