NVIDIA 开源 Auto Ontology,给 AI 查数加一层语义校验
NVIDIA 开源 Auto Ontology,一个面向 AI 智能体的语义层
你的老板问 AI 智能体:“上个季度的营收是多少?”
3 秒后它给出了答案。干净的数字。漂亮的图表。
但它用错了“营收”那一列。
没人注意到。
这正是 NVIDIA 新开源库 Auto Ontology 要解决的问题。它的 README 说得很直白:“……如果数字是错的,一个营收指标回答得再快也毫无价值。”
它是什么:
一个“上下文层”,位于 AI 智能体和你的数据库之间。它告诉智能体数据在哪里、每个字段是什么意思、以及该不该用它。
它的工作原理,一步一步:
• 发现:读取你的数据库元数据,起草一份本体,也就是一张业务术语地图,比如“活跃客户”
• 落地:智能体使用这些术语,而不是从原始表名去猜
• 校验:对照已认证的定义检查生成的 SQL
• 暴露:智能体通过 MCP、CLI 或 API 访问它
• 学习:经认证的修正会回写到这张地图里
对用户来说:
你问一个问题,会得到答案、它执行的 SQL、以及对应的行数据。你可以检查它的工作,而不只是信任它。
对开发者来说:
• Apache 2.0 许可,可用 Docker Compose 或 Helm 运行
• 支持 Databricks、Postgres、Snowflake 和 DuckDB
• 默认使用 NVIDIA 的 Nemotron 模型,但任何兼容 OpenAI 的端点都能用
• MCP 服务器有 9 个只读工具。它刻意不提供浏览原始表的工具,所以智能体必须走业务术语
它建立在之前的工作之上:
• Cube 和 dbt MetricFlow:需要你用代码手写的语义层
• Wren AI:面向 AI 智能体的开放语义层,其上下文层部分由智能体构建
• Snowflake 的 Semantic View Autopilot:同样用 AI 起草语义模型,但只适用于 Snowflake
这里的不同之处在于:开源、跨四个数据库可用、并且通过 MCP 为智能体而建。
需要诚实说明的部分:
• “快 90%”的说法来自 NVIDIA 自己的测试,没有公布基准
• 没有公布准确率分数。NVIDIA 提供了一套评测工具(BIRD,1534 个问题),但没有给出结果
• 那套评测工具是用 Claude Opus 4.8 测的,不是 Nemotron
• 如果没有 HashiCorp Vault,数据库密码会以未加密形式存储在 Postgres 中(据 README)
• 它还很年轻:GitHub 上大约 750 个 star,而且 NVIDIA 目前不接受外部贡献
更重要的一点:AI 分析的难点不在于写 SQL。而在于就这些词的含义达成一致。
GitHub:链接见回复 👇
本文由 AI 翻译自英文原帖,技术名词保留英文。
查看 X 原帖