拓冰建站拓冰建站
首页 / 资讯中心 / 正文

WrenAI GenBI 语义查询引擎实战:自然语言到看板部署的完整路径

WrenAI GenBI 语义查询引擎实战自然语言到看板部署的完整路径【免费下载链接】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 是一个开源的生成式 BIGenBI引擎它让 AI 智能体通过受治理的 text-to-SQL 把自然语言问题翻译成可信的 SQL、图表乃至可分享的看板覆盖 22 数据源。本文面向刚接触 WrenAI 的开发者读完你可以独立完成安装、配置一个语义项目并跑通第一条语义查询。先搞清楚 WrenAI 到底解决什么问题直接让大模型写 SQL 的问题你大概率见过它自信地写错因为它只知道表结构不知道你的业务口径——营收到底算不算退款、客户是下单口径还是注册口径。WrenAI 的解法是在 AI 和你的数据库之间垫两层东西语义层MDL用 YAML 文件声明模型、列、关系、指标告诉 AI 数据意味着什么而不只是在哪里AI 上下文层包括记忆索引历史问题的 NL→SQL 对、业务定义文档让 AI 能回忆过去验证过的答案这两层加上底层的查询引擎基于 Apache DataFusion构成上面架构图中的Wren AI — Open Context Layer。AI 智能体Claude Code、Cursor、ChatGPT 等从上方发问SQL 从下方执行到 PostgreSQL、BigQuery、Snowflake、DuckDB 等数据源。仓库结构速览WrenAI 安装前先看地图. ├── core/ │ ├── wren/ # Python SDK 与 CLIpip 装的 wrenai 就是它 │ ├── wren-core/ # Rust 语义引擎Apache DataFusion │ ├── wren-core-py/ # Python 绑定 │ └── wren-core-wasm/ # WebAssembly 构建驱动浏览器端看板 ├── sdk/ # LangChain / Pydantic AI 的智能体集成 ├── docs/ # 官方文档含 50 AI 客户端接入指南 ├── examples/ # v5-jaffle 完整示例项目语义查询的活教材 └── skills/ # 教 AI 智能体操作 CLI 的技能文件core/wren/是你日常打交道最多的部分——CLI 和 Python SDK 都在这里。如果你只想跑通 Demo直接看 examples/v5-jaffle 这个完整示例项目即可它包含 models、views、cubes 全套 YAML 结构。入口拆解wren CLI 一条命令背后的启动链路核心入口是 core/wren/src/wren/cli.py它基于 Typer 框架你敲下wren --sql ...后大致经历四步定位语义模型_require_mdl从当前目录向上查找wren_project.yml找到项目后用编译好的target/mdl.json找不到会提示你先执行wren context build加载连接信息_load_conn优先读--connection-info参数否则自动发现~/.wren/connection_info.json读取安全配置config.py 从~/.wren/config.json加载strict_mode等治理参数引擎执行把 MDL 和连接参数交给 Rust 引擎WrenEngineSQL 先做语义层改写和 dry-plan 校验再下发到实际数据源# cli.py 中的关键逻辑节选 _WREN_HOME Path(os.environ.get(WREN_HOME, str(Path.home() / .wren))) def _require_mdl(mdl): project_path discover_project_path() # 向上查找项目根 target project_path / target / mdl.json配置速查表WrenAI 安装后最常碰的参数配置文件集中在~/.wren/目录下新手最常碰的就下面几项参数作用默认值建议data_source在wren_project.yml中声明数据源类型无填postgres/duckdb等与pip install的 extras 对应strict_modeconfig.json中开启后查询必须引用 MDL 已声明的表false生产环境建议true防止查询跑到未建模的表denied_functions禁止在查询中调用的函数黑名单空列表加上pg_read_file、dblink等危险函数WREN_HOME环境变量指定配置文件根目录~/.wren多环境隔离时很有用VERCEL_TOKENGenBI 看板部署到 Vercel 的令牌无走环境变量或.env绝不写进 CLI 参数⚠️ 数据库账号密码、云服务的 API Token 一律放 profile 文件或环境变量里wren profile debug查看时敏感字段会自动打码。最小可运行路径四条命令跑通 WrenAI 语义查询装好 Python 3.11 后跟着敲完这四步就有第一条结果第 1 步安装DuckDB 已内置无需额外数据库pip install wrenai第 2 步初始化项目生成wren_project.yml、models/、views/骨架mkdir my-project cd my-project wren context init第 3 步配置连接 profile浏览器表单或终端交互二选一wren profile add my-db --interactive第 4 步编译语义模型并查询build会把 YAML 编译为target/mdl.jsonwren context build wren --sql SELECT order_id FROM orders LIMIT 10没有自己的数据库也没关系仓库自带 jaffle_shop 示例虚构电商数据照它的 YAML 结构搭一份接本地 DuckDB 文件即可。想接入 AI 智能体做自然语言问答再执行wren ask 你的问题 --guided获取包装好的提示词。跑通之后往哪深入到这里你已完成 WrenAI 的安装配置与首次语义查询。接下来按需求选路想给 AI 智能体加记忆召回看 core/wren/src/wren/memory/想理解 SQL 如何在语义层改写翻 core/wren-core/ 的 Rust 引擎源码想接 Claude Code / Cursor 等具体客户端docs/core/get_started/ 下有 50 多个现成指南。免责声明仓库随版本迭代目录结构和命令可能变化请以最新代码和文档为准。【免费下载链接】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),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门