К содержанию
Новости

В серии про enterprise RAG описали диспетчер, который собирает prompt из базового шаблона и фрагментов под конкретный вопрос

В серии про enterprise RAG описали диспетчер, который собирает prompt из базового шаблона и фрагментов под конкретный вопрос
Фото: Towards Data Science

В серии Enterprise Document Intelligence вышла вторая часть раздела о генерации ответов в enterprise RAG-системе. В материале разбирается подход, при котором prompt для LLM формируется прямо в момент вызова модели: берется фиксированный BASE-шаблон, а затем к нему добавляются отдельные фрагменты правил, в зависимости от типа вопроса и ожидаемого формата ответа.

Как пишет Towards Data Science, ключевую роль в этой схеме играет dispatcher. Он получает объект ParsedQuestion, через ANSWER_REGISTRY выбирает нужную схему, формирует system prompt и user prompt, вызывает модель и сохраняет полный trace ответа. В user prompt попадают сам вопрос, ключевые слова, а также размеченные строки из найденных фрагментов документов.

Авторы противопоставляют этот подход «mega-prompt», где один системный prompt одновременно обрабатывает даты, суммы, таблицы, списки и свободный текст. По их словам, такая конструкция со временем обрастает условными правилами, становится сложнее в отладке и увеличивает расход токенов. Вариант с отдельными prompt-шаблонами для каждого типа ответа они тоже считают неудобным: приходится дублировать общие ограничения и синхронизировать изменения между шаблонами.

В статье generation описывается как четвертый блок общей архитектуры Enterprise Document Intelligence, наряду с разбором документов, парсингом вопросов и retrieval. Для generation используются части объекта ParsedQuestion, включая expected_answer_shape, generation и keywords. При этом определение типа ответа остается задачей блока question parsing.

Ключевые факты

  • Dispatcher возвращает три элемента: схему ответа, system prompt и user prompt.

  • В user prompt включаются вопрос, keywords и размеченные строки passages.

  • В серии Enterprise Document Intelligence generation описывается как четвертый блок после document parsing, question parsing и retrieval.

  • Текущая реализация parse_question.py, по описанию авторов, пока содержит только минимальную версию ParsedQuestion.