Какой результат даёт система
Пользователь задаёт вопрос обычным языком и получает ответ с названием документа, страницей, листом или слайдом. Составные вопросы разбиваются на несколько поисковых тем. Если для одной части нет доказательства, система просит уточнение или отказывается. Загруженный клиентский отчёт не становится нормативным источником автоматически.
Поток документа
- 01Скачать файл и сохранить URL, MIME, размер и SHA-256 оригинала.
- 02Извлечь структуру PDF, Word, Excel или PowerPoint; OCR запускать только для слабых страниц.
- 03Разбить материал на фрагменты с адресом страницы, листа, диапазона или слайда.
- 04Построить полнотекстовый и семантический индексы.
- 05Сформировать ответ только из найденных доказательств и проверить citations на сервере.
Почему используются два поиска
FTS5/BM25 хорошо находит номера приказов, реквизиты и точные термины. Embeddings находят перефразировки. Выдачи объединяются через Reciprocal Rank Fusion и фильтры метаданных.
Составный запрос превращается в 2–4 самостоятельных подзапроса. Отсутствие доказательства для одного шага блокирует полный ответ.
exact terms → FTS5 / BM25
plain-language question → embeddings
rankings → RRF → evidence set
claims → citation validation → answerКак сервер не даёт модели придумать источник
Модель выбирает только известные ID фрагментов. Сервер проверяет существование ID, принадлежность документу и точный текст. Несуществующая ссылка, утверждение без citation или изменённое число приводят к отказу.
Текст документа считается недоверенными данными. Команда внутри PDF не может изменить системные правила или запросить секрет.
Числа и актуальность
Узкий расчёт водоотбора выполняется обычным кодом через Decimal. Модель выбирает исходные величины, но формула, подстановка и результат остаются проверяемыми.
Наличие документа в официальном каталоге не доказывает, что редакция действует сегодня. Для актуальности нужен отдельный реестр статусов и источник проверки. Критические выводы по-прежнему подтверждает профильный специалист.