【免费下载链接】nao
👾 nao is an open source analytics agent. (1) Create context with nao-core cli, (2) deploy nao chat interface for everyone
nao 是一款开源数据分析智能体(Analytics Agent),核心能力是一站式数据仓库连接:无论你的数据放在 BigQuery、Snowflake、Databricks 还是本地 DuckDB 文件里,只需在一份配置文件里声明,nao 就能把表结构、字段描述、数据样例自动同步成 Agent 的"上下文",让团队成员用自然语言直接查询自己的数据栈。
一、15 种数据仓库,一个配置格式
nao 的数据库支持集中定义在 cli/nao_core/config/databases/ 目录中,每种引擎都有独立的连接器和专属优化逻辑:
| 类别 | 支持的引擎 |
|---|---|
| 云数仓 | BigQuery、Snowflake、Redshift、Databricks、Microsoft Fabric、Athena、StarRocks |
| 联邦查询 | Trino、ClickHouse、MotherDuck、DuckLake |
| 关系型数据库 | PostgreSQL、MySQL、MSSQL |
| 本地分析 | DuckDB |
所有类型都继承自统一的基类 base.py,这意味着:换引擎 = 换一段 YAML 配置,而不是换一套工具链。你的分析规则、测试用例、上下文文档全部复用。
二、三步接入你的数据仓库
接入流程由 nao-core CLI 驱动,全程交互式引导,无需手写连接串:
第 1 步:安装并初始化
pip install nao-core nao initnao init会依次询问项目名称、要连接的数据库(可选,支持从 15 种类型中任选)、代码仓库、LLM Key 等,最后生成项目脚手架和 nao_config.yaml。
第 2 步:同步上下文
nao sync这一步会把数据库的表结构、字段类型、数据预览等渲染成 Markdown 上下文文件。仓库自带的示例项目 example/databases/type=duckdb/database=jaffle_shop/ 就展示了 sync 后的 40+ 张表文档。
第 3 步:启动聊天
nao chat浏览器打开http://localhost:5005,即可用自然语言提问。想排查连接问题随时运行nao debug,还能用nao test对 Agent 做单元测试(见 test/)。
三、数据库配置长什么样?
参考仓库中的 example/nao_config.yaml,一个 DuckDB 连接只需 10 来行:
databases: - name: duckdb-jaffle-shop type: duckdb path: ./jaffle_shop.duckdb templates: [columns, preview] include: [] exclude: []各引擎的专属字段差异不小,举几个典型例子:
- BigQuery(bigquery.py):支持 SSO/服务账号认证、
dataset_id默认数据集、max_query_size查询费用护栏,还能通过partition_filters为分区表指定预览过滤条件 - DuckDB(duckdb.py):只需一个
path指向.duckdb文件,本地文件默认以只读方式打开并禁用外部访问,保证安全 - Snowflake(snowflake.py):支持外部浏览器 SSO、密钥对认证、Programmatic Access Token 等多种认证方式
- PostgreSQL(postgres.py):标准 host/port/user/password,最熟悉的接入方式
每个连接都支持templates选项,决定为每张表生成哪些上下文文档:columns(字段)、preview(数据预览)、profiling(数据剖析)、query_history(历史查询)、ai_summary(AI 摘要),按需勾选即可控制同步成本。
四、不只是"连上",还有精细管控
面向生产环境,nao 提供了数据访问层面的细粒度控制(同样定义在 base.py):
- 🎯include / exclude:用 Glob 模式只纳入
analytics.dim_*这类核心表,排除temp_*临时表 - 🔒allow_listed_only:开启后 Agent 生成的 SQL 只能查询已同步进上下文的表,杜绝"查错表"
- 🚫exclude_columns:按
schema.table.column排除敏感列(如*.ssn),从源头防泄漏 - 💰max_query_size(BigQuery):执行前先做 dry-run 估算扫描量,超预算直接拦截
五、总结
nao 的数据接入理念可以用一句话概括:声明式配置 + 自动同步 + 自然语言查询。从 BigQuery 到 DuckDB 的 15 种数据源共用同一套 nao_config.yaml 格式和 CLI 工作流(init → sync → chat),数据团队建好一次上下文,业务同学就能立刻在聊天界面里提问、出图、分享分析结论。
如果你想上手试试,可以从仓库内置的 example/ 示例项目开始——它附带了一个完整的 jaffle_shop DuckDB 数据库,pip install nao-core之后几分钟就能看到效果。
【免费下载链接】nao
👾 nao is an open source analytics agent. (1) Create context with nao-core cli, (2) deploy nao chat interface for everyone
相关推荐
Mac Mouse Fix 实用教程:4 步把普通 Mac 鼠标调出触控板般的顺滑滚动
Mac Mouse Fix 实用教程:4 步把普通 Mac 鼠标调出触控板般的顺滑滚动 如果你在用普通鼠标操作 Mac,多半被这两个问题折磨过:滚轮一格一格地跳
桌面应用系统编程用 chdman 把 4.3GB 的 PS2 ISO 压到 2.2GB:ROMm 游戏库 CHD 压缩完整指南
用 chdman 把 4.3GB 的 PS2 ISO 压到 2.2GB:ROMm 游戏库 CHD 压缩完整指南 硬盘还剩 200GB,PS2 目录里塞着 40
后端前端终极指南:Rath支持的15+数据库连接全攻略,从MySQL到ClickHouse的无缝集成
终极指南:Rath支持的15+数据库连接全攻略,从MySQL到ClickHouse的无缝集成 Rath作为新一代自动化数据探索分析与可视化平台,提供了强大的多数
数据分析数据可视化BI机器学习
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考