∴ GitHub / 趋势仓库
NVIDIA / auto-ontology
为数据构建语义图层的 Python 框架,提升 LLM 与代理查询的准确性与可解释性
- 语言
- Python
- Star
- 5.6k
- Fork
- 443
- 当日新增(11-05)
- +2,050
- 累计在榜
- 2 天
- 最高名次
- 第 1 名
- 首次上榜
- 2026-11-04
∴ 是什么
Auto-Ontology 是一个 Python 框架,用于在数据之上构建基于语义图的推理层。它由前端(Next.js)、后端(FastAPI)、摄取服务(FastAPI)和 MCP 服务器组成,将数据库元数据编译为本体,包括业务术语、SQL 属性和表关系。代理通过该本体进行查询,并在 Web UI 中审查和认证定义。
∴ 解决什么问题
- 代理在查询前需要知道数据在哪里、含义是什么、是否可用、如何使用、来源何处以及相似内容,但仅靠 schema 无法提供这些上下文
- 将 schema 粘贴到上下文窗口会导致 token 随表和列增长,且含义推断不准确
- 连接和度量每次查询临时拼凑,容易出错
- 无法回答的问题常被自信地错误回答,缺少可回答性检查
∴ 怎么上手
- 01克隆仓库并创建 .env:git clone https://github.com/NVIDIA/auto-ontology.git && cd auto-ontology && cp .env.example .env,然后设置 DEFAULT_MODELS_API_KEY、AUTH_SECRET、APP_URL、POSTGRES_PASSWORD、CONNECTION_STRINGS、AUTO_ONTOLOGY_ADMIN_PASSWORD、PGADMIN_PASSWORD
- 02启动 Postgres 并加载示例数据库:docker compose up -d --wait postgres && git clone https://github.com/NVIDIA/auto-ontology-eval.git ../auto-ontology-eval && (cd ../auto-ontology-eval && uv sync && cp .env.example .env && POSTGRES_PASSWORD='<the same password>' uv run python scripts/seed/seed_wwi.py --database-name wideworldimporters --drop)
- 03构建并启动其余服务:docker compose up -d --build
- 04打开 http://localhost:3000,用 .env 中的 AUTO_ONTOLOGY_ADMIN_EMAIL 和 AUTO_ONTOLOGY_ADMIN_PASSWORD 登录,在 Settings → Semantic Compilation 开启编译
- 05在 Chat 中提问,例如:What was revenue for the USB food flash drive - sushi roll in Pennsylvania in June 2015?
- 06提问数据无法回答的问题(如广告支出),观察代理先检查可回答性并请求澄清
∴ 适合谁
面向需要为企业数据构建可靠代理分析能力的开发者,尤其是使用 LLM 和 agent 工作流、希望减少错误答案并增强可解释性的团队。
∴ 要点
- 许可证为 Apache-2.0
- 支持从数据库元数据生成本体、导入现有语义模型,并以语义图形式探索
- 提供术语、SQL 属性和关系三类定义,支持在 UI 或 API 中审查、编辑和认证
- 通过 MCP、agent skills 和 REST API 向代理提供上下文
- 兼容 Apache Ossie 标准,支持导入/导出 Ossie YAML 模型定义
- 包含可回答性检查,无法回答时返回 SQL 和代理步骤
许可证 Apache-2.0
解读由 AI 依据项目 README 生成,生成于 2026-11-04,以 GitHub 原文为准。
∴ 在榜记录
GitHub Trending 今日榜的每日存档,日期按北京时间。2026-11-04 首次上榜,累计在榜 2 天,最高第 1 名。