NVIDIA выложила в открытый доступ Auto Ontology — библиотеку под лицензией Apache 2.0, которая строит семантический слой поверх корпоративных метаданных. Задача слоя — не дать агенту сочинять SQL по наитию, а заставить его обращаться к заверенным бизнес-определениям. В репозитории проекта эта мысль сформулирована прямо: быстрый ответ про выручку ничего не стоит, если число в нём неверное.
Auto Ontology встаёт между агентом и хранилищем данных. Она сообщает агенту, где лежат данные, что означают поля, стоит ли пользоваться конкретным полем, как его применять и откуда оно взялось. Пять основных задач слоя — обнаруживать (генерировать онтологии из метаданных и подключать существующие семантические модели), заземлять (давать агенту доверенный смысл метрик, сущностей и связей), проверять (сверять сгенерированные запросы с заверенными определениями и происхождением данных), предоставлять доступ (через MCP, CLI и API) и обучаться (возвращать заверенные исправления обратно в онтологию).
Разработчик подчёркивает: на выходе получается стартовая онтология. Проверять, уточнять и заверять её всё равно должны эксперты предметной области.
Из чего состоит стек и где он запускается
В основе четыре сервиса. Фронтенд на Next.js 16 отвечает за веб-интерфейс и аутентификацию на порту 3000. Бэкенд на FastAPI с LangChain обслуживает чат, преобразование естественного языка в SQL и API каталога на порту 3001. Воркер загрузки пишет эмбеддинги на порту 3002. Postgres с pgvector хранит каталог, онтологию и векторы.
Источниками данных могут быть Databricks, Postgres, Snowflake или DuckDB. Модели задаются через переменные окружения — тройки из адреса эндпоинта, ключа и имени модели. Роли разделены: отдельно для рассуждающих и нерассуждающих моделей, отдельно для эмбеддингов и переранжирования. Подойдёт любой эндпоинт, совместимый с OpenAI.
Локальный запуск — docker compose up -d --build после заполнения .env. Для Kubernetes есть Helm-чарт и руководство DEPLOYMENT.md. Бэкенд также опубликован как контейнер NGC. Ключ API с build.nvidia.com покрывает модели по умолчанию.
Девять инструментов MCP и 87 операций OpenAPI
Сервер MCP предоставляет девять инструментов только для чтения. ask_question возвращает ответ, SQL-запрос и строки результата отдельными полями, результат ограничен 100 строками. check_readiness проверяет, что скомпилированный семантический слой и живое подключение к базе существуют. Инструмента для просмотра сырых схем нет — это сделано намеренно, чтобы агенты доходили до данных только через семантический слой. Спецификация OpenAPI публикует 87 операций. Вход через OAuth, и каждый вызов несёт права вошедшего пользователя.
Как проверяли и что осталось непроверенным
Для оценки NVIDIA выпустила отдельный стенд auto-ontology-eval. Он прогоняет два варианта в NeMo Gym: контрольную LLM, работающую только со схемой, и агента, заземлённого на онтологию. Оценка детерминированная — по совпадению исполнения, без судьи-LLM.
В комплект входят датасеты BIRD Dev (1534 вопроса, 11 баз данных) и Mini-Dev (500 вопросов). FDABench-Lite добавляет 169 вопросов, BEAVER по умолчанию берёт выборку из 100 вопросов.
Сам репозиторий стенда честно перечисляет два ограничения. Необязательные few-shot примеры и привязки значений подаются только в ветку с онтологией — измеренная с ними дельта покрывает и эти входные данные, а не одно лишь заземление. Кроме того, в протестированной конфигурации обе ветки шли через модель Claude на инференс-шлюзе NVIDIA.
Заявленный результат — сокращение времени создания онтологии на 90% в тестах самой NVIDIA. Публичных оценок точности text-to-SQL при этом нет: репозиторий оценки поставляет стенд, а не результаты. Вывод из этого простой — открытый и готовый к MCP контекстный слой, который может опрашивать любой агентский каркас, но доверять ему стоит только после собственного прогона бенчмарков.
Чем отличается от других семантических слоёв
| Возможность | NVIDIA Auto Ontology | Wren AI | Cube Core | dbt MetricFlow |
|---|---|---|---|---|
| Лицензия | Apache 2.0 | Apache 2.0 core (open core) | Apache 2.0 backend, MIT client | Apache 2.0 (v0.209.0+) |
| Как строится слой | Генерируется из метаданных, затем заверяется | Контекстные файлы в Git с помощью агента | Определяется в коде | Определяется в коде в проекте dbt |
| Интерфейс для агента | MCP, CLI, REST API | MCP, CLI, SDK | SQL, REST, GraphQL API | Python-библиотека и CLI |
| Источники данных | Databricks, Postgres, Snowflake, DuckDB | 22+ | Все SQL-источники | Через адаптеры dbt |
| Модели по умолчанию | Nemotron через NVIDIA NIM | Не раскрываются | Не применимо | Не применимо |
Что это значит для администратора
Auto Ontology — не готовый продукт, а каркас, который придётся доводить. Модель по умолчанию — nvidia/nemotron-3-nano-30b-a3b вместе с эмбеддингами и моделью переранжирования от Nemotron. Но требование к совместимости с OpenAI снимает привязку к NVIDIA: инференс можно направить на собственный NIM или на другой совместимый эндпоинт. Для тех, кто уже держит Postgres, стек собирается локально одной командой, а pgvector обычно знаком по другим проектам.
Практический риск — доверие к цифрам. Слой создан ровно для того, чтобы агент не выдумывал метрики, но стартовую онтологию кто-то должен проверить. Если в компании нет человека, который заверяет определения выручки и клиентов, автоматическая генерация просто перенесёт путаницу в онтологию, и агент будет уверенно выдавать неверный SQL.
Смежные материалы по теме: открытый оркестратор GPU для Kubernetes от NVIDIA и стек распределённого инференса LLM для Kubernetes.
Частые вопросы
Под какой лицензией выходит Auto Ontology?
Apache 2.0. Это полноценная открытая лицензия, а не open core с платной частью, как у Wren AI.
Какая модель используется по умолчанию?
nvidia/nemotron-3-nano-30b-a3b, плюс эмбеддинги и модель переранжирования Nemotron. Инференс идёт через размещённые эндпоинты NVIDIA NIM или собственные NIM.
Можно ли обойтись без инфраструктуры NVIDIA?
Да. Подойдёт любой эндпоинт, совместимый с OpenAI, — модели задаются через переменные окружения из адреса, ключа и имени.
Какие базы данных поддерживаются как источники?
Databricks, Postgres, Snowflake и DuckDB.
Как развернуть локально?
Заполнить .env и выполнить docker compose up -d --build. Для Kubernetes есть Helm-чарт и руководство DEPLOYMENT.md.
Агент может посмотреть сырые схемы таблиц?
Нет. Инструмента для просмотра сырых схем в MCP-сервере нет намеренно — доступ к данным идёт только через семантический слой.
Сколько строк возвращает ask_question?
Не больше 100. Ответ, SQL-запрос и строки результата приходят отдельными полями.
Есть ли опубликованные оценки точности text-to-SQL?
Нет. Репозиторий auto-ontology-eval содержит стенд, а не результаты, поэтому бенчмарки нужно прогонять самостоятельно.
Что означает заявленное сокращение времени создания онтологии на 90%?
Это результат тестирования самой NVIDIA, самостоятельно ею же и опубликованный. Независимого подтверждения в статье не приводится.
Кто должен проверять сгенерированную онтологию?
Эксперты предметной области. NVIDIA прямо называет результат стартовой онтологией, которую бизнес-специалисты тестируют, уточняют и заверяют.
Источник: marktechpost.com