英伟达 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):

  1. 术语(Terms):业务概念,如“客户”“发票明细”,每个都带描述和同义词,并映射到具体的列;
  2. SQL 属性(SQL attributes):挂在术语下、经过审核的 SQL 表达式,如毛利率、滚动合计。智能体复用这些表达式,保证同一指标每次都按同一口径计算;
  3. 关系(Relationships):表与表之间如何连接,包括桥接表,根据主外键和数据本身推断。

本文分析:第二类最关键。传统 Text-to-SQL 每次让模型“现场发明”指标公式;SQL 属性把公式固化下来,等于把“口径”从模型的随机发挥变成了可审计的资产。

三、工作流程:生成 → 认证 → 作答

1. 生成(自动)

  1. 读取数据源:抽取表结构、对列做画像、采样取值,写入目录;
  2. 命名实体:逐表抽取术语并映射到列;
  3. 解析关系:推断表间连接和桥接表,并根据历史查询推荐 SQL 属性;
  4. 写入本体:术语、关系、SQL 属性存入 Postgres,向量存入 pgvector 供检索。

(来源1)

在示例数据库 Wide World Importers(微软的销售样例库)上,一次编译生成了 31 个术语(来源1)。

2. 认证(人工)

  1. 用真实问题在聊天界面测试,或通过 MCP 调用 check_answerable、ask_question;
  2. 在界面或 API 中修正术语、描述和 SQL 属性;
  3. 确认无误后,对名称、描述和 SQL 属性进行认证。

(来源1)

本文分析:“自动生成”只是草稿,“人工认证”才是可信的来源。这是 Auto Ontology 与“一键全自动”宣传最大的区别,也意味着落地成本的大头仍在业务专家。

3. 作答(智能体)

  1. 判断问题意图,抽取问题提到的实体;
  2. 通过向量检索找候选术语、列和 SQL 属性;
  3. 基于候选写 SQL;
  4. 拿过滤值和查询去数据库核对,检查不通过就修复 SQL;
  5. 执行查询,返回答案、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+)、LangChainText-to-SQL 智能体、目录、本体 API3001
摄取服务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 识别

(来源1,pii_detection/)

需要注意:PII 识别默认关闭,必须在设置中手动开启,摄取时才会分类(来源1,feature_flags.py)。

4. 数据外发

本文分析:对金融、医疗等受监管行业,默认配置不能直接上生产。至少要改用自托管模型、确认采样值的范围,并关闭或严格限制 KumoRFM。

六、效果到底如何

仓库 README 没有给出准确率数字,只把读者引向单独的评测仓库(来源1)。

评测仓库的设计值得肯定(来源3):

但截至本文写作时,评测仓库同样没有公布任何结果数字(来源3)。部分媒体报道中“本体构建时间缩短 90%”的说法,本文在官方仓库和英伟达博客中都没有找到出处,因此不予采信。

本文分析:评测方法是“自带尺子、自己量”,企业应该在自己的数据上跑一遍对照实验,而不是等官方数字。

七、优势与局限(本文分析)

优势

  1. 把口径变成资产:SQL 属性经认证后复用,同一指标每次算法一致;
  2. 可解释:每个答案附 SQL 和推理步骤,业务人员可以复核;
  3. 会说“不知道”:check_answerable 先判断覆盖率,减少幻觉数字;
  4. 开放生态:MCP、API、技能三种接入,兼容 Ossie 标准,模型可替换;
  5. 工程化程度高:完整的认证、权限、Vault 凭证、Helm 部署和大量测试,不是演示级原型。

局限

  1. 没有公开准确率:价值主张最核心的“少答错”,目前没有官方数字支撑;
  2. 人工认证成本不低:自动生成只是起点,业务专家逐条审核才是质量保证;
  3. 只覆盖结构化数据:本质仍是 Text-to-SQL,文档、邮件等非结构化知识不在范围内;
  4. 默认绑定英伟达模型和托管端点:虽可替换,但对结构化输出有要求,国产或私有模型的效果需要自测;
  5. 社区参与受限:不接受外部代码贡献,只接受问题反馈和集成申请(来源1);
  6. 应用层只读防护较粗:正则黑名单需配合数据库只读账号。

八、与其他方案的关系(本文分析)

九、对企业(尤其是银行)的落地建议(本文分析)

  1. 先选一个指标口径混乱、但问题高频的业务域试点,例如对公存款日均余额或信用卡活跃客户数;
  2. 网络与权限:只暴露 3000 端口;数据库连接用只读账号,按数据域划分;凭证放 Vault;
  3. 数据不出域:推理、向量、重排全部改用行内自托管模型;评估编译阶段采样值是否涉及客户信息;不启用 KumoRFM 或经数据安全审批后再用;
  4. 打开 PII 识别,并把识别结果与行内数据分级分类标准对齐;
  5. 把“认证”纳入数据治理流程:指定指标负责人,SQL 属性变更走审批和版本记录;
  6. 自己跑对照评测:用行内真实问题集,比较“只给表结构”和“接入本体”两种方式的准确率,以及被修好和改坏的题目;
  7. 把“答不了”当成正确行为:上线考核不只看回答率,也看拒答是否恰当。

结语

Auto Ontology 的价值不在于又一个 Text-to-SQL 工具,而在于它把企业数据问答中最难的部分——“口径到底是什么”——变成了可以生成、审核、认证、复用的工程资产,并让智能体学会在数据不足时说“不知道”。它的短板同样清楚:还没有公开准确率,默认配置偏向英伟达托管服务,真正的质量仍取决于业务专家的认证投入。对企业来说,它值得认真试点,但应该在自己的数据上量出效果,再决定投入多少。

事实来源

  1. GitHub 仓库(来源1):README、源代码、.env.example 与部署说明,2026 年 11 月 4 日版本。
  2. 英伟达博客(来源2):2026 年 10 月 21 日 Agent Toolkit 扩展公告。
  3. 评测仓库(来源3):Auto-Ontology Eval 的方法与数据集说明。

本文推论部分(非来源表述):口径问题举例、各节“本文分析”、只读防护与网关风险评估、优势与局限、方案对比、银行落地建议、结语。

本文不构成任何投资建议。

(内容由AI生成,仅供参考)

参考文献

  1. NVIDIA/auto-ontology(GitHub 仓库与 README) [GitHub]
  2. NVIDIA Agent Toolkit Expands, Grounding Enterprise Agents in Company Data [NVIDIA Blog,2026-10-21]
  3. Auto-Ontology Eval(评测仓库) [GitHub]