Технический анализ

От естественного языка к проверенному SQL: роль семантического слоя

Успех BI Copilot определяется не брендом LLM, а зрелостью семантического слоя. Как построить настоящую NL-аналитику.

BIART Ekibi3 мин чтения1 просмотров
Semantic layer ve BI Copilot mimarisi görseli

Большинство BI Copilot, вышедших в 2024-2025, ударились об одну стену: вопрос "топ-5 самых прибыльных филиалов прошлого месяца" LLM переводит в синтаксически верный, но семантически неверный SQL. "Прибыльность филиала" интерпретирует LLM, а не определения организации. Решение — не другой бренд LLM, а семантический слой в середине.

Что такое семантический слой?

Семантический слой переводит между сырой формой таблиц и колонок и языком бизнеса. Три блока:

  • EntityMap: какая таблица представляет какую бизнес-сущность.
  • MetricDefinition: одна формула на один KPI.
  • BusinessTerm: корпоративный глоссарий.

Рядом — ColumnPolicy (видимые/маскированные колонки) и сертифицированные few-shot-примеры.

Поток NL → SQL

Поток BI Copilot, построенного на семантическом слое:

  1. Intent: запрос данных, объяснение KPI, поиск глоссария?
  2. Retrieve: векторный поиск тянет EntityMap, MetricDefinition и прошлые примеры.
  3. Plan: LLM выдаёт QuerySpec JSON — таблицы, колонки, фильтры, группировка, сортировка. Не SQL.
  4. Validate: QuerySpec проверяется по семантическому слою и каталогу.
  5. Synthesize: QuerySpec компилируется в параметризованный read-only SQL.
  6. Execute: запуск в sandbox под выделенным read-only DB-аккаунтом.
  7. Mask: ColumnPolicy выполняет маскирование с учётом роли.
  8. Narrate: LLM-нарратор даёт нарратив с sanitization.

Почему прямая генерация SQL проваливается

LLM легко производит синтаксически верный SQL, но не знает, какая таблица — "филиал", как считается "прибыльность", какая колонка — PII. Три класса ошибок:

  • Неверный JOIN: похожие названия, не та FK.
  • Неверная метрика: net_amount вместо profit_amount.
  • PII-утечка: ID клиента попадает в результат.

QuerySpec-промежуточный слой ставит структурный шлюз против этих ошибок.

Сертифицированные few-shots

Few-shot-примеры — живая память семантического слоя. Хороший стартовый набор для банка:

  • "Топ-5 самых прибыльных филиалов прошлого месяца" → QuerySpec → SQL.
  • "Уровень одобрения потребительских кредитов за неделю" → QuerySpec → SQL.
  • "Объём портфеля PEP-сегмента YTD" → QuerySpec → SQL.

Хранятся по языкам (TR / EN / AZ / RU); LLM получает few-shot на языке вопроса.

Banking domain pack

Чтобы корректно отвечать на "в каких филиалах концентрируются VIP-клиенты", нужна организационная терминология. Domain pack: глоссарий BusinessTerm, набор MetricDefinition, сертифицированные few-shot. Banking-tr и banking-en стартуют с общей базы; каждый банк обогащает её своим словарём.

Операционная дисциплина

Конвейер NL → SQL становится операционным с тремя точками контроля:

  • Suggestion inbox: новый QuerySpec/метрика — на approve admin-у.
  • PromptAuditLog: каждая стадия в аудит; 90 дней KVKK или 7 лет RegulatedFinance.
  • Confidence threshold: запросы с низкой уверенностью маршрутизируются человеку.

Заключение

Успех BI Copilot — это успех семантического слоя, а не LLM-бренда. 70% инвестиций — определения таблиц и метрик, 20% — few-shots, 10% — выбор модели. При таком соотношении NL-запрос становится устойчивой аналитической поверхностью, снимающей IT-бутылочное горлышко.

Поделиться
Veri kalitesi Trust Score dashboard görseliУправление данными
3 мин чтения

Trust Score качества данных: измеримая бизнес-метрика

Качество данных обсуждают на каждой встрече, и никто не называет одно и то же число. Trust Score даёт бизнесу одну метрику, а регулятору — доказательство.