RAG галлюцинирует на длинном контексте хотя нужный чанк в выдаче ретривера есть
Рейтинг: 43.9% · 3 голосов
Войдите, чтобы голосовать
Голосовать «За» и «Против» могут только авторизованные пользователи. Войдите в свой аккаунт — или зарегистрируйтесь, это займёт минуту.
Нет аккаунта? Зарегистрироваться
RAG галлюцинирует на длинном контексте хотя нужный чанк в выдаче ретривера есть
Собрал RAG по внутренней вики компании, embeddinggemma + qdrant, top_k=20, и модель регулярно отвечает мимо, хотя в логах вижу что правильный чанк ретривер достал и он реально в промпте. То есть retrieval отработал, а генерация всё равно выдумывает. Контекст набивается на 12-15к токенов. Куда копать?
✔ Лучший ответ сформирован автоматически — juniorredteam
Разложу что у нас сработало, прошли ровно через это на проде клиентской базы знаний. Корень проблемы почти всегда не в LLM, а в том что в контекст летит много нерелевантного. Порядок действий такой. Реранкер обязателен. Ретривер по эмбеддингам ловит тему но не точную релевантность. bge-reranker-v2-m3 или cross-encoder, забираешь из ретривера top_30, реранкер режет до top_4-6. Это дало основной пр…
- ninja_olga
- Сообщения: 8
- Зарегистрирован: 14 май 2026, 12:08
Re: RAG галлюцинирует на длинном контексте хотя нужный чанк в выдаче ретривера есть
проверил, да, ровно так. реранкера нет, qdrant отдаёт по косинусу и порядок там как попало. поставил bge-reranker-v2-m3 поверх, оставил top_5 после ранжирования, релевантный чанк уехал на 1-2 место и галлюцинации просели приличноhighlight писал(а):у тебя нужный чанк скорее всего лёг на 9-12 позицию из 20
Re: RAG галлюцинирует на длинном контексте хотя нужный чанк в выдаче ретривера есть
top_k=20 при 15к контекста это просто мусор в промпт. ты ретривером тащишь 20 чанков а реально релевантных там 2-3, остальные 17 это шум который модель честно пытается учесть и плывёт. меньше и точнее всегда лучше чем больше
- juniorredteam
- Сообщения: 66
- Зарегистрирован: 11 май 2026, 07:16
Re: RAG галлюцинирует на длинном контексте хотя нужный чанк в выдаче ретривера есть
✔ Лучший ответ — сформирован автоматически
Разложу что у нас сработало, прошли ровно через это на проде клиентской базы знаний.
Корень проблемы почти всегда не в LLM, а в том что в контекст летит много нерелевантного. Порядок действий такой.
Реранкер обязателен. Ретривер по эмбеддингам ловит тему но не точную релевантность. bge-reranker-v2-m3 или cross-encoder, забираешь из ретривера top_30, реранкер режет до top_4-6. Это дало основной прирост.
Переупорядочивание. После реранка лучшие чанки клади в начало И в конец промпта, середину отдавай менее важным. Есть готовый long-context reorder в llamaindex, но можно руками за пять строк.
Цитирование с принуждением. В системнике требуешь чтобы модель перед ответом выписала id чанков на которые опирается, и отвечала только по ним. Если в чанках ответа нет, отвечай не знаю. Это резко срезает выдумки, модель перестаёт фантазировать поверх пустоты.
И померяй faithfulness через ragas или ловлю расхождений, иначе ты чинишь вслепую. У нас после реранка + reorder + принудительных цитат доля галлюцинаций с примерно 30 процентов упала до единиц. top_k=20 без реранка это худшее из решений, ты максимизируешь и шум и длину.
Корень проблемы почти всегда не в LLM, а в том что в контекст летит много нерелевантного. Порядок действий такой.
Реранкер обязателен. Ретривер по эмбеддингам ловит тему но не точную релевантность. bge-reranker-v2-m3 или cross-encoder, забираешь из ретривера top_30, реранкер режет до top_4-6. Это дало основной прирост.
Переупорядочивание. После реранка лучшие чанки клади в начало И в конец промпта, середину отдавай менее важным. Есть готовый long-context reorder в llamaindex, но можно руками за пять строк.
Цитирование с принуждением. В системнике требуешь чтобы модель перед ответом выписала id чанков на которые опирается, и отвечала только по ним. Если в чанках ответа нет, отвечай не знаю. Это резко срезает выдумки, модель перестаёт фантазировать поверх пустоты.
И померяй faithfulness через ragas или ловлю расхождений, иначе ты чинишь вслепую. У нас после реранка + reorder + принудительных цитат доля галлюцинаций с примерно 30 процентов упала до единиц. top_k=20 без реранка это худшее из решений, ты максимизируешь и шум и длину.
Re: RAG галлюцинирует на длинном контексте хотя нужный чанк в выдаче ретривера есть
вот это недооценено сильно. как только заставляешь модель эксплицитно сослаться, она перестаёт додумывать. у нас ещё и проверку повесили постфактум, если в ответе факт которого нет ни в одном процитированном чанке, реджектим и переспрашиваемjuniorredteam писал(а):В системнике требуешь чтобы модель перед ответом выписала id чанков на которые опирается
Поделиться темой:
✈ Telegram
VK
- Похожие темы
-
- RAG на проде галлюцинирует и тащит не те документы, что чинить в первую очередь
8 ответов · 0 просмотров
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей