Загрузка...

Блог

Серия: Качество RAG в production · статья 1 из 6

Почему RAG отвечает не то: чек-лист диагностики

Почему RAG отвечает не то: чек-лист диагностики

Когда чат по документам выдаёт нерелевантный или неточный ответ, причина чаще всего в данных, разбиении на чанки, формулировке запроса или настройках контекста. Ниже — чек-лист, с чего начать диагностику.

Первый шаг в Adminica: прогнать проверку корпуса (data_lint) и сверить выдачу с GET /api/v1/knowledge/search по ключевым фразам из жалобы.

1. Данные: что попало в индекс

Пустые записи, дубликаты и устаревшие версии документов засоряют выдачу. Проверьте: есть ли в базе ответ на вопрос в принципе? Не попал ли в индекс мусор (шапки, подвалы, навигация)? Запустите data_lint или аналог и убедитесь, что в векторную БД попадают только валидные фрагменты с осмысленным текстом.

2. Чанкинг: границы фрагментов

Слишком крупные чанки тянут в контекст лишнее; слишком мелкие теряют смысл. Если ответ «не из той части» документа, попробуйте изменить стратегию разбиения: по заголовкам, по абзацам или с перекрытием. Проверьте, что граница чанка не режет предложение или список по полуслову.

3. Формулировка запроса

Слишком общий вопрос («расскажи про настройку») или избыток жаргона без ключевых слов ухудшают поиск. Попросите пользователя переформулировать: «как настроить X в среде Y», «что делать при ошибке Z». Сравните ответы — часто смена формулировки сразу улучшает результат.

4. Объём и релевантность контекста

Слишком много чанков в контексте размывают фокус; слишком мало — не хватает информации. Проверьте лимит top-k и порог релевантности. При необходимости включите гибридный поиск (векторный + ключевые слова), чтобы лучше ловить точные термины.

5. Модель и промпт

LLM может игнорировать контекст или «додумывать». Усильте системный промпт: «отвечай только на основе приведённых фрагментов», «если в контексте нет ответа — скажи об этом». Для спорных кейсов попробуйте другую модель или температуру.

  • Проверьте наличие и качество данных в индексе (data_lint, выборочные запросы).
  • Оцените чанкинг: размер и границы фрагментов для типичных вопросов.
  • Прогоните один и тот же вопрос в разных формулировках и сравните выдачу.
  • Настройте объём контекста и при необходимости гибридный поиск.
  • Жёстко задайте в промпте опору на контекст и отказ от выдумки.

Итог: Неверные ответы RAG чаще всего связаны с данными, чанкингом, формулировкой запроса, объёмом контекста или промптом. Пройдите чек-лист по порядку — это сужает круг причин и ускоряет исправление.