英伟达 Auto Ontology 深度解读:给数据智能体装上“企业词典”,让 AI 写的 SQL 算对数
核心摘要
- 是什么(来源1):英伟达开源的 Python 框架 Auto Ontology,在智能体和数据仓库之间加一层“上下文层”,告诉智能体数据在哪、是什么意思、该不该用、怎么用、从哪来
- 怎么做(来源1):先从数据库元数据自动生成本体草稿,再由人工测试、修正、认证,最后智能体依据认证过的定义写 SQL,并随答案返回 SQL 和推理步骤
- 背景(来源2):2026 年 10 月 21 日 GTC 柏林大会上,作为英伟达“Agent Knowledge Foundation”的新组件发布;GitHub 仓库约 4,600 星,采用 Apache 2.0 许可
- 亮点(来源1):支持 10 种数据库引擎;提供 9 个只读 MCP 工具;问题超出数据范围时会先判断“能不能答”,而不是硬编一个数字
常见问题
Auto Ontology 是全自动的吗?
不是。它自动生成本体草稿,但需要人工用真实问题测试、修正并认证后,才算可信(来源1)。
它支持哪些数据库?
PostgreSQL、MySQL、Databricks、Snowflake、ClickHouse、Trino、Apache Kyuubi、HeavyDB、DuckDB、SQLite(来源1)。
能不能用自己的大模型?
可以。每个模型角色都能配置为自托管 NIM 或任何兼容 OpenAI 的端点,但模型需支持结构化输出(来源1)。
它的准确率是多少?
截至本文写作时,官方仓库和评测仓库都没有公布结果数字,只提供了带对照组的评测框架(来源1、来源3)。
是什么(来源1):英伟达开源的 Python 框架 Auto Ontology,在智能体和数据仓库之间加一层“上下文层”,告诉智能体数据在哪、是什么意思、该不该用、怎么用、从哪来。
怎么做(来源1):先从数据库元数据自动生成本体草稿,再由人工测试、修正、认证,最后智能体依据认证过的定义写 SQL,并随答案返回 SQL 和推理步骤。
背景(来源2):2026 年 10 月 21 日 GTC 柏林大会上,作为英伟达“Agent Knowledge Foundation”的新组件发布;GitHub 仓库约 4,600 星,采用 Apache 2.0 许可。
亮点(来源1):支持 10 种数据库引擎;提供 9 个只读 MCP 工具;问题超出数据范围时会先判断“能不能答”,而不是硬编一个数字。
要冷静看待的地方(本文分析):仓库尚未公布准确率数字;默认用英伟达托管模型,编译时的列画像与样本值会发往外部推理端点;PII 识别默认关闭;不接受外部代码贡献。
写作说明:标注“来源N”的为项目仓库、代码或官方资料;“本文分析”为作者推论。代码观察基于 2026 年 11 月 4 日的仓库版本(来源1)。
一、它要解决什么问题
1. 问数智能体的老毛病
仓库开宗明义:智能体能检索文档、能查数据库,但可靠性才是数据分析智能体的门槛——收入数字答得再快,算错了也一文不值(来源1)。
本文分析:企业里“收入”可能有含税、不含税、已开票、已回款几种口径;客户表可能在三个系统各有一份;同一张表的字段名可能是缩写。只给大模型看表结构(schema),它很容易选错表、连错关系、用错口径,而且错得“看起来很合理”。
2. Auto Ontology 的定位
它宣称承担五项工作(来源1):
| 工作 | 含义 |
|---|---|
| 发现(Discover) | 从元数据生成企业本体;接入已有本体和语义模型;构建面向 AI 的知识图谱 |
| 落地(Ground) | 给智能体可信的指标、实体、关系定义;调和不同系统间的定义冲突 |
| 校验(Validate) | 依据认证定义和数据血缘检查生成的查询;每个答案附带来源 |
| 暴露(Expose) | 通过 MCP、命令行和 API 提供给任何智能体框架 |
| 学习(Learn) | 把认证过的修正和使用情况回流到本体,让共享上下文越用越好 |
仓库强调,它是对企业已有语义模型的补充,不是替代(来源1)。它兼容 Apache Ossie 语义模型交换标准,可以导入、导出 Ossie YAML(来源1)。
二、本体里装的是什么
本体包含三类定义(来源1):
- 术语(Terms):业务概念,如“客户”“发票明细”,每个都带描述和同义词,并映射到具体的列;
- SQL 属性(SQL attributes):挂在术语下、经过审核的 SQL 表达式,如毛利率、滚动合计。智能体复用这些表达式,保证同一指标每次都按同一口径计算;
- 关系(Relationships):表与表之间如何连接,包括桥接表,根据主外键和数据本身推断。
本文分析:第二类最关键。传统 Text-to-SQL 每次让模型“现场发明”指标公式;SQL 属性把公式固化下来,等于把“口径”从模型的随机发挥变成了可审计的资产。
三、工作流程:生成 → 认证 → 作答
1. 生成(自动)
- 读取数据源:抽取表结构、对列做画像、采样取值,写入目录;
- 命名实体:逐表抽取术语并映射到列;
- 解析关系:推断表间连接和桥接表,并根据历史查询推荐 SQL 属性;
- 写入本体:术语、关系、SQL 属性存入 Postgres,向量存入 pgvector 供检索。
(来源1)
在示例数据库 Wide World Importers(微软的销售样例库)上,一次编译生成了 31 个术语(来源1)。
2. 认证(人工)
- 用真实问题在聊天界面测试,或通过 MCP 调用
check_answerable、ask_question; - 在界面或 API 中修正术语、描述和 SQL 属性;
- 确认无误后,对名称、描述和 SQL 属性进行认证。
(来源1)
本文分析:“自动生成”只是草稿,“人工认证”才是可信的来源。这是 Auto Ontology 与“一键全自动”宣传最大的区别,也意味着落地成本的大头仍在业务专家。
3. 作答(智能体)
- 判断问题意图,抽取问题提到的实体;
- 通过向量检索找候选术语、列和 SQL 属性;
- 基于候选写 SQL;
- 拿过滤值和查询去数据库核对,检查不通过就修复 SQL;
- 执行查询,返回答案、SQL 和推理步骤。
(来源1)
候选不足以支撑查询时,智能体会报告“这份数据答不了这个问题”;预测类问题在配置后转给 KumoRFM(来源1)。
4. 示例:答得出和答不出
答得出:问“2015 年 6 月宾夕法尼亚州寿司卷造型 U 盘的收入是多少”,智能体把“收入”“产品”“州”解析为本体术语,沿“发票明细 → 发票 → 客户 → 城市 → 州”的关系连接 6 张表,返回 588.80 美元、来自 3 条发票明细,并附上完整 SQL(来源1)。
答不出:问“这款 U 盘 2015 年 6 月的广告投资回报率”,智能体先调用 check_answerable,覆盖率 0.5,没有任何术语对应“广告支出”,于是反问用户:要不要改看收入,或者广告支出是否在另一个数据源里(来源1)。
本文分析:第二个例子比第一个更重要。对企业来说,“知道自己答不了”比“答得快”更值钱,这正是幻觉数字最常见的来源。
四、技术架构
| 组件 | 技术 | 作用 | 端口 |
|---|---|---|---|
| 前端 | Next.js、Better Auth、Prisma | 网页界面、身份认证、对外 API 网关 | 3000 |
| 后端 | FastAPI(Python 3.12+)、LangChain | Text-to-SQL 智能体、目录、本体 API | 3001 |
| 摄取服务 | FastAPI | 摄取与语义编译 | 3002 |
| MCP 服务 | FastMCP | 基于公开 API 的只读智能体工具 | 3003 |
| 数据库 | PostgreSQL 17 + pgvector | 目录、本体、应用数据、向量库 | 5432 |
| HashiCorp Vault | 可选 | 存储数据库连接凭证 | — |
(来源1)
部署方式:本地 Docker Compose,或 Kubernetes Helm 图表(来源1)。仓库 Python 代码约 12.9 万行,其中测试文件 169 个(来源1,本文统计)。
1. 模型分工
| 角色 | 默认模型 | 负责 |
|---|---|---|
| 推理(REASONING) | nemotron-3.5-lightning-30b-a3b | 构建本体、写 SQL 与解释、判断可答性 |
| 非推理(NON_REASONING) | nemotron-3.5-lightning-30b-a3b | 意图识别、实体抽取、候选筛选、SQL 检查与修复 |
| 向量(EMBED) | nemotron-3.5-embed-1b | 为表、列、术语、SQL 属性建索引并匹配问题 |
| 重排(RERANK) | nemotron-3.5-rerank-8b | 编译桥接表 SQL 属性时给候选表排序 |
(来源1)
任何角色都可换成自托管 NIM 或兼容 OpenAI 的端点,但要求模型支持结构化输出,且摄取和查询必须用同一个向量模型(来源1)。
2. 支持的数据源
PostgreSQL、MySQL、Databricks、Snowflake、ClickHouse、Trino、Apache Kyuubi、HeavyDB、DuckDB、SQLite,共 10 种(来源1)。
3. 三种接入方式
MCP 服务:9 个只读工具,每个用户单独登录,每次调用都以该用户权限运行(来源1)。
| 用途 | 工具 |
|---|---|
| 就绪检查 | check_readiness |
| 术语查询 | search_terms、get_term、get_term_columns、get_term_sql_attributes、get_sql_attribute、describe_table |
| 可答性 | check_answerable |
| 提问 | ask_question:返回答案、SQL 和数据行 |
智能体技能:提供安装、管理、查询三套技能,教编程智能体操作 Auto Ontology(来源1)。
REST API:POST /api/chat/completions,以服务器推送事件流返回结果(来源1)。
五、安全与治理:代码里能看到什么
1. 只读防护
代码中的探测执行器只放行单条 SELECT 或 WITH 语句:拒绝含内部分号的多语句,并用正则拦截 insert、update、delete、drop、alter、create、truncate、grant 等关键词,没有 LIMIT 时自动补上(来源1,db_probe/executor.py)。
本文分析:这是“关键词黑名单”式防护,能挡住明显的写操作,但正则也会误伤合法查询(例如用到 replace() 函数的 SELECT 会被拒),且无法替代数据库层面的权限控制。生产环境应给连接账号只授只读权限,不能只靠应用层正则。
2. 内部端口不能暴露
仓库明确警告:3001 和 3002 端口必须放在私有网络。后端信任前端转发的 x-auto-ontology-user-id 请求头来识别用户,摄取服务的摄取、删除、重置、编译接口本身没有认证,所有客户端都应经过 3000 端口的网页应用(来源1)。
本文分析:这是一个典型的“网关信任”架构。部署时若误把 3001 暴露出去,任何人伪造请求头就能冒充任意用户。
3. PII 识别
- 采用“规则优先、大模型兜底”:先按列名、表名匹配高置信规则(如 customer_email),规则判断不了再交给大模型;
- 大模型提示词要求保守:信息不足或不确定时一律判为 PII;
- 识别结果会作为 PII 标签从列传播到由它生成的 SQL 属性上。
(来源1,pii_detection/)
需要注意:PII 识别默认关闭,必须在设置中手动开启,摄取时才会分类(来源1,feature_flags.py)。
4. 数据外发
- 生成阶段会对列做画像、采样取值,再交给推理模型构建本体(来源1);
- 默认推理端点是英伟达托管的 API 目录(integrate.api.nvidia.com)(来源1);
- 启用 KumoRFM 预测时,智能体会把已连接的表上传到 Kumo 托管服务,默认最多 20 张表,每表行数不设上限;仓库提醒先完成组织内的数据审查再开启(来源1)。
本文分析:对金融、医疗等受监管行业,默认配置不能直接上生产。至少要改用自托管模型、确认采样值的范围,并关闭或严格限制 KumoRFM。
六、效果到底如何
仓库 README 没有给出准确率数字,只把读者引向单独的评测仓库(来源1)。
评测仓库的设计值得肯定(来源3):
- 有对照组:同一模型回答同一批问题两次,对照组只给表结构,实验组由 Auto Ontology 智能体自行检索本体;
- 确定性评分:执行两组 SQL 和标准 SQL,按各基准的官方规则比对结果,不用大模型当裁判;
- 数据集:BIRD(开发集 1,534 题、迷你开发集 500 题)、BEAVER(100 题样本)、FDABench-Lite(169 题)、Wide World Importers(41 题)、多轮的 BIRD-Interact;
- 输出:两组准确率差值,以及被本体“修好”和“改坏”的题目清单。
但截至本文写作时,评测仓库同样没有公布任何结果数字(来源3)。部分媒体报道中“本体构建时间缩短 90%”的说法,本文在官方仓库和英伟达博客中都没有找到出处,因此不予采信。
本文分析:评测方法是“自带尺子、自己量”,企业应该在自己的数据上跑一遍对照实验,而不是等官方数字。
七、优势与局限(本文分析)
优势
- 把口径变成资产:SQL 属性经认证后复用,同一指标每次算法一致;
- 可解释:每个答案附 SQL 和推理步骤,业务人员可以复核;
- 会说“不知道”:
check_answerable先判断覆盖率,减少幻觉数字; - 开放生态:MCP、API、技能三种接入,兼容 Ossie 标准,模型可替换;
- 工程化程度高:完整的认证、权限、Vault 凭证、Helm 部署和大量测试,不是演示级原型。
局限
- 没有公开准确率:价值主张最核心的“少答错”,目前没有官方数字支撑;
- 人工认证成本不低:自动生成只是起点,业务专家逐条审核才是质量保证;
- 只覆盖结构化数据:本质仍是 Text-to-SQL,文档、邮件等非结构化知识不在范围内;
- 默认绑定英伟达模型和托管端点:虽可替换,但对结构化输出有要求,国产或私有模型的效果需要自测;
- 社区参与受限:不接受外部代码贡献,只接受问题反馈和集成申请(来源1);
- 应用层只读防护较粗:正则黑名单需配合数据库只读账号。
八、与其他方案的关系(本文分析)
- 与传统语义层(如 dbt 语义层、LookML):传统语义层由人从零手写;Auto Ontology 先自动生成草稿,再人工认证,并原生面向智能体调用;
- 与 Palantir 本体:英伟达博客提到,其供应链部门通过 Palantir Foundry、Ontology 和 AIP 使用 Agent Knowledge Foundation(来源2)。Auto Ontology 更像开源、轻量、聚焦 SQL 问数的版本;
- 与直接给大模型看表结构:后者部署最快,但口径不稳定、无法说明来源;Auto Ontology 用前期认证成本换取答案的一致性和可审计性。
九、对企业(尤其是银行)的落地建议(本文分析)
- 先选一个指标口径混乱、但问题高频的业务域试点,例如对公存款日均余额或信用卡活跃客户数;
- 网络与权限:只暴露 3000 端口;数据库连接用只读账号,按数据域划分;凭证放 Vault;
- 数据不出域:推理、向量、重排全部改用行内自托管模型;评估编译阶段采样值是否涉及客户信息;不启用 KumoRFM 或经数据安全审批后再用;
- 打开 PII 识别,并把识别结果与行内数据分级分类标准对齐;
- 把“认证”纳入数据治理流程:指定指标负责人,SQL 属性变更走审批和版本记录;
- 自己跑对照评测:用行内真实问题集,比较“只给表结构”和“接入本体”两种方式的准确率,以及被修好和改坏的题目;
- 把“答不了”当成正确行为:上线考核不只看回答率,也看拒答是否恰当。
结语
Auto Ontology 的价值不在于又一个 Text-to-SQL 工具,而在于它把企业数据问答中最难的部分——“口径到底是什么”——变成了可以生成、审核、认证、复用的工程资产,并让智能体学会在数据不足时说“不知道”。它的短板同样清楚:还没有公开准确率,默认配置偏向英伟达托管服务,真正的质量仍取决于业务专家的认证投入。对企业来说,它值得认真试点,但应该在自己的数据上量出效果,再决定投入多少。
事实来源
- GitHub 仓库(来源1):README、源代码、.env.example 与部署说明,2026 年 11 月 4 日版本。
- 英伟达博客(来源2):2026 年 10 月 21 日 Agent Toolkit 扩展公告。
- 评测仓库(来源3):Auto-Ontology Eval 的方法与数据集说明。
本文推论部分(非来源表述):口径问题举例、各节“本文分析”、只读防护与网关风险评估、优势与局限、方案对比、银行落地建议、结语。
本文不构成任何投资建议。
(内容由AI生成,仅供参考)
参考文献
- NVIDIA/auto-ontology(GitHub 仓库与 README) [GitHub]
- NVIDIA Agent Toolkit Expands, Grounding Enterprise Agents in Company Data [NVIDIA Blog,2026-10-21]
- Auto-Ontology Eval(评测仓库) [GitHub]