Как это работает¶
Путь вопроса¶
Порядок обработки:
- Понимание вопроса. Система разбирает формулировку и составляет план: какие данные нужны, нужно ли строить график, надо ли использовать ранее сохранённый результат.
- Формирование запроса. По описанию домена данных формируется SQL-запрос. Перед выполнением он проверяется: разрешены только запросы на чтение, имена таблиц и колонок сверяются со справочником, добавляется ограничение на число строк.
- Выполнение и ответ. Запрос выполняется на аналитическом хранилище, результат сохраняется как датасет и возвращается пользователю в удобном виде.
На этом работа не заканчивается: полученный результат остаётся в системе, и с ним дальше работают инструментами Орбиты. Его можно открыть повторно без обращения к хранилищу, построить по нему график, перенести на лист табличного редактора, проверить происхождение любой цифры или зафиксировать запрос отчётом, чтобы получать те же цифры регулярно.
Откуда система знает структуру данных¶
Структура описывается в доменах данных. Домен это описание набора связанных таблиц: какие таблицы входят, что означает каждое поле, как таблицы связаны, какие значения допустимы. Домены готовит специалист по данным при внедрении, они хранятся отдельно от кода и меняются без обновления системы.
Чем подробнее описан домен, тем точнее формируются запросы. Подробнее: Подключение данных.
Что делает языковая модель, а что нет¶
Модель отвечает за понимание формулировки и составление запроса. Она не имеет прямого доступа к данным: запрос выполняет сама Орбита, через отдельное соединение и с проверками безопасности.
Из этого следуют два практических вывода:
- Ответ формируется по фактическим данным из хранилища, а не по памяти модели.
- Модель может работать на оборудовании организации, тогда обращений во внешние сервисы нет вообще.
Составные запросы¶
Один вопрос может включать несколько действий. Например, запрос «покажи продажи по месяцам и построй график» приведёт к двум шагам: получение данных и построение диаграммы. Система выполняет шаги последовательно, и если один из них не удался, дальнейшие не запускаются, а пользователь получает объяснение.