Короткий ответ
RAG по внутренним инженерным документам. Rag должен возвращать source_id/section/version; ответ без трассировки к фрагменту не считается grounded.
Что это меняет в реальной работе
RAG по внутренним документам строится вокруг versioned corpus, chunk_id, metadata и retrieval eval. Правильный тест включает вопросы с точным ответом, конфликтом версий и отсутствием ответа, чтобы модель умела сказать «в базе нет подтверждения».
Ключевое требование к инженерному использованию ИИ — оставить границу между данными, вычислением, интерпретацией и решением наблюдаемой. Если модель получила право искать, выполнять код или менять файлы, это право рассматривается как отдельный tool-контракт с журналом и проверкой результата.
Практический инженерный сценарий
Учебный корпус содержит два документа — две редакции вымышленной внутренней инструкции «Контроль вала». Значения ниже заданы только для демонстрации RAG и не являются нормативом или рекомендацией для реального изделия.
| Метаданные фрагмента | Содержимое |
|---|---|
| source_id: INS-SHAFT; version: A; status: superseded; section: 4.2; chunk_id: shaft-A-42 | Для изделия P-17 предельное радиальное биение — 0,05 мм. Редакция заменена редакцией B. |
| source_id: INS-SHAFT; version: B; status: approved; section: 4.2; chunk_id: shaft-B-42 | Для изделия P-17 предельное радиальное биение — 0,03 мм. Редакция B действует с 01.10.2026. |
Таблицу можно прокручивать по горизонтали →
Запрос: «Какой предел радиального биения P-17 действует на 09.10.2026?» Перед поиском проверяют права доступа и статус редакции в реестре документов. В этом учебном реестре B утверждена и действует, A заменена. Retrieval должен вернуть shaft-B-42; shaft-A-42 допустим для исторического сравнения, но не как основание действующего требования.
Ожидаемый ответ: «На указанную дату предел — 0,03 мм [INS-SHAFT, редакция B, п. 4.2, shaft-B-42]». Ссылку раскрывают до самого фрагмента и проверяют, что он относится к P-17, радиальному биению и нужной дате. Если вопрос просит сравнить редакции, возвращают оба фрагмента: предел уменьшен с 0,05 до 0,03 мм, на 0,02 мм, то есть на 40% относительно A; возле каждого исходного числа оставляют соответствующий locator.
Проверка отказа: на вопрос «Какой момент затяжки крепежа P-17?» оба фрагмента не дают ответа. Ожидается: «В доступных фрагментах момент затяжки не указан; требуется инструкция по сборке P-17». Если найден только A или статус B неизвестен, действующий предел также не подтверждён. Ответ не дополняют типичным значением или неподтверждённым статусом.
Технические границы и критерии качества
RAG состоит из подготовки корпуса, поиска фрагментов и формирования ответа по найденному контексту. При загрузке сохраняют source_id, редакцию, статус, дату применимости и locator; при поиске применяют права доступа и фильтры по изделию/редакции. Реестр утверждения документов остаётся источником статуса: более новая дата файла не означает, что редакция введена в действие.
Разбиение документа не должно отрывать численное требование от единиц, условий и примечаний. Семантическая близость и высокий score показывают релевантность поиска, но не доказывают применимость требования. Конфликт редакций разрешают по заданной политике документов; если её недостаточно, вывод останавливают и запрашивают уточнение.
Проверяйте отдельно retrieval и ответ. Для retrieval важно, попал ли нужный подтверждающий фрагмент в выдачу; для ответа — сохранены ли число, единица, область применения и ссылка. Одна цитата рядом с абзацем не подтверждает автоматически все его утверждения. В OpenAI File search предусмотрены ссылки на файлы и фильтрация по метаданным; выдачу поисковых фрагментов нужно запрашивать отдельно, если она требуется для журнала проверки. Ссылка на файл ещё не заменяет locator конкретного пункта в вашем инженерном workflow.
Конфиденциальность определяется всем контуром: где хранятся документы и индекс, кто имеет доступ, какие данные уходят в embeddings/генерацию и что записывается в логи. RAG может работать локально или через облачные сервисы; выбор архитектуры не заменяет контроль редакций и качества поиска.
| Контроль именно для этой темы | Что фиксировать |
|---|---|
| Корпус | source_id, version, status, применимость и locator |
| Retrieval | Запрос, фильтры и фактически возвращённые chunk_id |
| Ответ | Каждое существенное требование связано с подтверждающим фрагментом |
| Остановка | Нет подтверждения, конфликт редакций либо неизвестный статус документа |
Таблицу можно прокручивать по горизонтали →
Практическая специфика темы
Для темы «RAG по внутренним инженерным документам» полезно рассматривать не абстрактный диалог с нейросетью, а конкретный проверяемый кейс. RAG по внутренним документам строится вокруг versioned corpus, chunk_id, metadata и retrieval eval. Правильный тест включает вопросы с точным ответом, конфликтом версий и отсутствием ответа, чтобы модель умела сказать «в базе нет подтверждения».
Перед запуском сформулируйте критерий остановки: если отсутствует критический вход, первичный источник, разрешение на действие или профильный способ проверки, модель должна вернуть статус «недостаточно данных/требуется review», а не закрывать пробел правдоподобным текстом. После ответа проверяется не только вывод, но и сохранность входов, единиц и ограничений.
| Контроль | Что должно быть в результате |
|---|---|
| Поиск | нужный фрагмент возвращён с редакцией и областью применения |
| Цитирование | число и единица подтверждаются конкретным пунктом документа |
| Отказ | при отсутствии основания указан пробел и требуемый документ |
Таблицу можно прокручивать по горизонтали →
Как принять решение по этой теме
Для темы «RAG по внутренним инженерным документам» полезно применять три последовательных теста. Первый — достаточность входа: можно ли восстановить каждое критическое значение и его источник. Второй — наблюдаемость преобразования: видно ли, что именно сделал ИИ, tool или внешний API, и можно ли повторить этот шаг без догадок. Третий — независимая проверка: существует ли профильный способ подтвердить итог — расчётом, измерением, CAD/CAE, первичным документом или тестом кода. Если хотя бы один тест не пройден, ответ остаётся draft, а не инженерным решением.
Практически это означает: RAG должен возвращать source_id/section/version; ответ без трассировки к фрагменту не считается grounded. Для повторяемого применения сохраните один корректный, один граничный и один намеренно неполный пример. После смены модели, тарифа, системной инструкции или набора tools прогоните эти примеры снова. Так различие между «модель отвечает красиво» и «workflow устойчиво решает задачу» становится измеримым.
Рекомендуемый workflow
Что сохранить в инженерной записи
По теме «RAG по внутренним инженерным документам» в рабочей записи достаточно сохранить компактный, но проверяемый набор: идентификатор задачи; исходные файлы или значения с единицами; точную конфигурацию ИИ; разрешённые tools; исходный prompt; полученный output; список исправлений; способ независимой проверки и фамилию/роль утвердившего результат. Такая запись нужна не ради бюрократии: она позволяет воспроизвести решение после обновления модели, понять причину расхождения и не переносить неподтверждённый вывод в следующую стадию проекта. Если задача повторяется, эта же запись становится основой eval-case.
Типичные ошибки
- просить «сделай правильно» без входной схемы и критерия готовности;
- считать уверенный стиль ответа признаком истинности;
- разрешать модели незаметно заменять отсутствующие числа «типичными»;
- смешивать факт из источника и предположение модели в одной таблице без статуса;
- переносить workflow на новую модель/версию без контрольного eval-набора;
- автоматизировать publish, запись в PDM/CAD или production раньше, чем есть rollback и approval gate.
Чек-лист перед использованием результата
Навигация по серии
Внутри части — 10 взаимосвязанных материалов. Переходы между частями и перекрёстные ссылки сохраняют учебную последовательность.
Источники и документация
- OpenAI — Retrieval: поиск и фильтры по атрибутам
- OpenAI — File search: citations и выдача результатов поиска
- Ollama
- NIST AI RMF
- OpenAI — Models
- Google — Gemini models
