重塑智能体数据可靠性

智能体虽能检索文档与查询数据库,但数据数值的准确性仍是其分析能力的核心门槛。若底层数据有误,响应速度再快也毫无意义。为此,智能体亟需一个“上下文层”,以明确数据的位置、含义、适用性、来源及关联内容。

NVIDIA Auto Ontology 应运而生。这是一个基于企业元数据构建上下文层的开源库,旨在协调跨系统的数据定义,并通过 MCP、CLI 和 API 向任意智能体框架开放能力。它并非替代方案,而是对客户现有语义模型的有力补充。

核心能力闭环

Auto Ontology 为开发人员提供了一套完整的工作流:

  • 发现(Discover):从元数据自动生成企业本体,连接既有本体与语义模型,构建面向 AI 的知识图谱。
  • 落地(Ground):赋予智能体对指标、实体和关系的可信业务理解,消除跨系统定义的不一致。
  • 验证(Validate):将生成的查询与认证定义及血缘关系比对,并在每次回答中返回溯源信息。
  • 暴露(Expose):通过 MCP、CLI 和 API 标准化输出服务,兼容各类智能体框架。
  • 学习(Learn):将认证的修正及使用反馈回流至本体,使共享上下文随交互次数增加而持续进化。

技术架构与组件

该工具支持结构化数据的自然语言查询,问题经 NVIDIA NIM 处理后转换为 SQL 并在数据库中执行。其语义目录/本体层存储在 Postgres 中,与应用元数据共存。安全方面,采用 Better Auth 实现身份验证与基于角色的访问控制(RBAC)。

主要软件组件如下:

  • 前端:基于 Next.js 16 (React 19, TypeScript, Tailwind CSS 4),负责 Web UI、身份验证及 API 网关,默认端口 3000。
  • 后端:采用 FastAPI (Python 3.12+) 与 LangChain,处理聊天、NL-to-SQL 及数据源 API,默认端口 3001。
  • 摄取工作进程:基于 FastAPI,负责表格数据摄取及嵌入向量写入,默认端口 3002。
  • 数据存储:Postgres + pgvector,用于存储应用元数据、目录、本体及向量数据,默认端口 5432。
  • 凭据管理:可选集成 HashiCorp Vault,用于安全存储连接凭据。

模型配置与推理

Auto Ontology 依赖 NVIDIA NIM 端点进行推理,支持托管版 NVIDIA API 目录或自托管 NIM。默认模型配置包括:

  • LLM:nvidia/nemotron-3-nano-30b-a3b
  • Embeddings:nvidia/nemotron-3-embed-1b
  • Reranking:nvidia/llama-nemotron-rerank-vl-1b-v2

系统通过环境变量配置模型三元组(Endpoint、API Key、Model)。支持为不同角色(如推理、非推理、嵌入、重排序)设置独立配置,未设置字段将回退至 DEFAULT_MODELS 全局默认值。

部署与连接管理

前置条件:需安装 Docker 及 Docker Compose v2,获取 NVIDIA API 密钥,并准备源数据库(Databricks、Postgres、Snowflake 或 DuckDB)连接详情。

本地部署:通过 Docker Compose 快速启动。克隆仓库后,复制并编辑 .env 文件,务必配置 AUTH_SECRET 和 APP_URL,否则会导致身份验证失败。执行 docker compose up -d --build 即可构建镜像并启动服务栈。

连接安全:源数据库连接可通过 UI 添加或环境变量配置。若未集成 Vault,连接凭据将以明文形式存储于 Postgres;启用 Vault 后,凭据将被加密存储,数据库中仅保留引用键。

API 与智能体集成

对于脚本化任务,用户可生成 API 令牌。令牌通过 x-api-key 头传输,权限继承自所有者,且撤销即时生效。智能体可通过 POST /api/chat/completions 接口进行对话,支持 SSE 流式响应及基于 conversation_id 的多轮上下文管理。

此外,Auto Ontology 提供 MCP 服务器,允许 Claude Desktop 等智能体框架直接查询企业数据。

许可与贡献政策

Auto Ontology 基于 Apache License 2.0 开源。需注意的是,该项目目前不接受外部贡献,来自维护团队之外的 Issue 或 Pull Request 将不会被审查或合并。安全相关问题请遵循官方安全指南报告。