首页 > 教程资讯 > 教程详情

英伟达开源 Auto Ontology:用语义层约束智能体写 SQL

AI 与前沿 数码评测汪工 2026-11-04
文章分享

英伟达开源了 Auto Ontology,采用 Apache 2.0 许可证。这是一个从企业元数据构建上下文(语义)层的库,智能体借助这一层,针对经认证的业务定义来编写 SQL。项目仓库对问题的表述很直接:营收数字答得再快,算错了就毫无价值。据 MarkTechPost 报道,英伟达目前没有公布任何 text-to-SQL 准确率得分,只给出了本体创建时间缩短 90% 的自报数据。

它做什么

Auto Ontology 位于智能体和数据仓库之间,告诉智能体数据在哪里、字段是什么含义、该不该用、怎么用,以及数据从哪里来。它承担五项任务:

  1. Discover:从元数据生成本体,并接入已有的语义模型。
  2. Ground:为指标、实体和关系提供可信的业务含义。
  3. Validate:按认证过的定义和数据血缘校验生成的查询。
  4. Expose:通过 MCP、CLI 和 API 提供上下文。
  5. Learn:把经认证的纠正反馈回本体。

英伟达的开发者页面把生成结果定位为一个起点,仍需业务专家测试、精炼并认证。

技术栈与 MCP 接口

整套服务包含 4 个核心部分:

  • Next.js 16 前端,负责 Web 界面和身份验证,端口为 3000。
  • 集成 LangChain 的 FastAPI 后端,负责聊天、自然语言转 SQL 和目录 API,端口为 3001。
  • 写入嵌入向量的 ingestion worker,端口为 3002。
  • 带 pgvector 的 Postgres,存储目录、本体和向量。

支持的数据源为 Databricks、Postgres、Snowflake 和 DuckDB。默认大模型是 nvidia/nemotron-3-nano-30b-a3b,任何兼容 OpenAI API 的端点都可以接入。

MCP 服务器暴露 9 个只读工具。ask_question 把答案、SQL 和行数据分开返回,结果上限为 100 行;check_readiness 用来确认已编译的语义层和实时数据库连接都存在。系统刻意没有提供浏览原始 schema 的工具,智能体只能通过语义层取数。底层 OpenAPI 规范公开 87 个操作,登录走 OAuth,每次调用都携带登录用户的权限。

评测:只有测试框架,没有成绩

英伟达另行开源了评测工具包 auto-ontology-eval。它在 NeMo Gym 中对比两组:只提供 schema 的 LLM 对照组,以及基于本体接地的智能体组,用确定性的执行匹配打分,不使用 LLM 评审。内置数据集包括 BIRD Dev(1,534 题、11 个数据库)、Mini-Dev(500 题)和 FDABench-Lite(169 题),BEAVER 默认抽样 100 题。

评测仓库披露了两点限制:

  • 可选的 few-shot 示例和取值锚点只提供给本体组,带上它们测得的差值,包含的是这些输入的作用,而不只是接地的作用。
  • 其测试配置让两组都经英伟达推理网关调用 Claude 模型。

因此,评测仓库提供的是框架而非结果。要判断效果,用户需要在自己的数据上跑一遍。

部署方式

本地部署填好 .env 后执行 docker compose up -d --build 即可;Kubernetes 用户可使用 Helm chart 和 DEPLOYMENT.md。后端镜像发布在 NGC 容器目录,使用默认模型需要 build.nvidia.com 的 NVIDIA API 密钥。

MarkTechPost 在对比表中称,Auto Ontology 的语义层由元数据生成后再认证,Wren AI 的数据源为 22+ 种,Cube Core 与 dbt MetricFlow 则是以代码定义语义层。

来源