June 10

🤖 LLM-роутинг для RAG-систем: как навести порядок в хаосе документов


Если ты уже работаешь с векторной базой и хочешь, чтобы ответы были точнее и быстрее, тебе нужен многоуровневый роутинг запросов. В этом гайде разберём два рабочих сценария:

  • базовый роутинг по отделам;
  • расширенный подход с фильтрацией по метаданным и несколькими LLM.

Если ты еще не знаком с RAG, то смотри предыдущие гайды:

Зачем нужен Agentic RAG? - https://teletype.in/@moneybeast/5_mmUgwfwgn

Категориальный роутинг в RAG: Пошаговый гайд (ЭТО ПЕРВАЯ ЧАСТЬ ДАННОЙ СТАТЬИ) - https://teletype.in/@moneybeast/Dm6xpsi0I-n

Контекстуализация чанков: как улучшить поиск в векторной базе - https://teletype.in/@moneybeast/XmeBMO9hrbN

🧩 Проблема: поиск как иголка в стоге сена

Когда пользователь задаёт вопрос, ему не важно, что у тебя сотни документов. Он хочет конкретный ответ — быстро и по делу. А LLM, если не ограничить её контекст, начинает шарить по всей базе, выдавая или мусор, или слишком обобщённый ответ.

Решение — роутинг. Подход, который имитирует человеческий способ запроса информации в компании:

Не ищем везде. Сначала уточняем, кому задать вопрос.

🛠️ Сценарий 1: Базовый LLM-роутинг по отделам

Подходит для компаний, в чьих документах есть чёткое разделение по функциям: HR, бухгалтерия, налоги, закупки, IT.

🔁 Общая логика:

  1. Пользователь задаёт вопрос → первый LLM-агент (роутер) определяет тему.
  2. В зависимости от темы вопроса — HR, IT и т.д. — выбирается соответствующий промпт и кусок базы.
  3. Второй LLM-агент ищет уже по узкому контексту.

🔧 Настройка в n8n:

  1. Нода Chat — точка входа для тестов.
  2. История пользователя — достаём прошлые сообщения (опционально).
  3. Промпт для роутера:
    • System prompt: "Ты роутер. Определи тему запроса. Возможные направления: HR, IT, бухгалтерия, закупки, налоговая."
    • Формат ответа: JSON (например, { "topic": "HR" }).
  4. LLM (роутер) — получает промпт + вопрос → возвращает тему.
  5. Switch — направляет поток в нужную ветку по topic.
  6. LLM (ответчик) — получает свой узкоспециализированный промпт и даёт финальный ответ.
  7. Запись в историю — сохраняем результат.

👇 Пример:

Запрос: «Как оформить отпуск?» → роутер определяет HR → далее — vacation → подгружается нужный документ → ответ с конкретным регламентом.


💡 Советы:

  • Не пиши десятки веток вручную. Если используешь базу данных, подгружай нужный промпт динамически.
  • ✅ Используй contains, а не equal, в Switch — это снизит ошибки от запятых и пробелов.
  • 🧠 Постарайся дать роутеру больше контекста — хотя бы 3–5 предыдущих сообщений.
  • 📄 Хорошо оформленный промпт = половина успеха. Не ленись его адаптировать под бизнес-процессы.

Расширенный роутинг с метаданными и множеством LLM

Для сложных систем с документами из разных доменов: медицина, наука, ML, финансы и т.д.

🔍 Задача:

Ограничить поиск не только по теме (HR, IT), но и по предметной области (отпуск, увольнение, регламент пользования техникой и т.д.).


📊 Что используется:

  • Два документа в одной векторной коллекции: один по ML, другой по астрофизике.
  • Каждый снабжён метаданными: field: отпуск или field: увольнение.
  • Промпт роутера: Определи домен вопроса: отпускL или увольнение. Ответь в JSON: { "route": "увольнение" }
  • Выход → Switch: в зависимости от route — подставляется нужное значение в метаданные.

🔗 Как всё работает:

  1. Пользователь вводит вопрос.
  2. LLM-роутер → определяет домен.
  3. Далее — подставляем metadata.filter в запрос к векторной базе. { "metadata": { "field": "astrophysics" } }
  4. LLM-агент получает только нужные чанки документов.
  5. Генерируется ответ.

🤹 Оптимизации и советы:

  • Подключи контекст из истории чата — особенно если вопрос из серии «А как насчёт второго варианта?»
  • 🚀 Один роутер может управлять всей системой. Главное — заранее продумай структуру тем и метаданных.

💰 Как это всё монетизировать?

  1. Чат-боты-консультанты для компаний. Реализуй multi-department систему на Make или LangChain.
  2. Встроенные помощники в B2B SaaS — под каждую роль пользователя можно запускать свои LLM-потоки.
  3. Автоматизация поддержки — не нужно нагружать саппорт-отделы, бот сам отправит пользователя в нужный «кабинет».

🧠 Вывод: ключ — в сужении скопа

Хороший RAG — это не поиск по всей базе. Это правильное ограничение области.

Сначала определяем тему. Потом предмет. Потом запускаем поиск.
Итог: меньше ложных ответов.