Проблема «серого шума» в аналитике
Агенты ИИ могут быстро извлекать документы и опрашивать базы данных, но надежность аналитики часто страдает из-за неточностей. Если метрика выручки рассчитана неверно, скорость ответа не имеет значения. NVIDIA Auto Ontology решает эту проблему, создавая слой контекста, который сообщает агентам, где находятся данные, что они означают, откуда взялись и как их использовать. Библиотека строится на основе корпоративных метаданных, согласовывает определения across систем и предоставляет доступ через MCP, CLI и API.
Архитектура и ключевые компоненты
Решение представляет собой полноценный стек, объединяющий фронтенд, бэкенд и слой хранения. Данные и онтология хранятся в PostgreSQL с расширением pgvector, что позволяет использовать векторный поиск для семантических запросов. Для безопасности подключений используется HashiCorp Vault, а аутентификация построена на Better Auth.
| Компонент | Технология | Роль | Порт |
|---|---|---|---|
| Frontend | Next.js 16 (React 19, TS, Tailwind 4) | Web UI, аутентификация, API-шлюз | 3000 |
| Backend | FastAPI (Python 3.12+), LangChain | Чат, NL-to-SQL, каталог данных | 3001 |
| Ingestion worker | FastAPI (Python 3.12+) | Загрузка табличных данных, эмбеддинги | 3002 |
| Postgres + pgvector | Relational Database | Метаданные, каталог, векторное хранилище | 5432 |
Модельная тройка NVIDIA NIM
В основе системы лежат модели NVIDIA NIM, которые можно использовать как через хостинг API, так и в self-hosted режиме. Система использует специфические роли для разных задач: генерация SQL, извлечение сущностей, эмбеддинг и реранкинг. По умолчанию используются следующие модели:
- LLM (Reasoning):
nvidia/nemotron-3.5-lightning-30b-a3b— основная модель для чата и преобразования NL в SQL. - Embeddings:
nvidia/nemotron-3-embed-1b— для создания векторных представлений текста. - Reranking:
nvidia/llama-nemotron-rerank-vl-1b-v2— для уточнения результатов поиска.
Конфигурация гибкая: можно задать полный набор параметров для каждой роли или использовать общие переменные DEFAULT_MODELS_*, от которых происходят остальные настройки.
Валидация и прозрачность (Grounding & Validation)
Ключевое отличие Auto Ontology — не просто ответ, а объяснение пути к нему. Агент разрешает термины (например, «выручка», «продукт») через онтологию, строит связи между таблицами и выполняет SQL. Результат всегда сопровождается исходным SQL-запросом и шагами логики.
Пример работы с базой Wide World Importers:
- Вопрос: «Какова выручка за USB-флешку sushi roll в Пенсильвании в июне 2015?»
- Ответ: $588.80 (из 3 строк инвойса).
- SQL: Полный запрос с JOIN'ами по таблицам sales, warehouse, application.
- Шаги: Агент явно указывает, какие термины были разрешены и как они связаны.
Если данных нет (например, запрос про ROI рекламы, которого нет в базе), агент не галлюцинирует, а сообщает о недостатке покрытия (coverage 0.5) и предлагает уточнить запрос или подключить другой источник.
Развертывание и лицензия
Проект распространяется под лицензией Apache 2.0. Развертывание поддерживается через Docker Compose (для локального стека) и Helm-чарты (для Kubernetes). В репозитории есть скрипты для инициализации базы данных и семантической компиляции. В данный момент проект не принимает внешние контрибьюции, но активно используется для бенчмарков, таких как BIRD (text-to-SQL).
Источник: Github ↗
