Comments 11
Как ты борешься с галлюцинациями rag систем?
Когда системе задаётся вопрос по базе знаний, но в ней нет искомой информации.
Или, что хуже, когда в БД есть вроде похожая, но всё равно отличающаяся информация, и ллм, получив такие чанки в контекст, пытается быть полезным и отвечает по данному контексту. Ответ системы в таких случаях часто звучит правдоподобно, но по факту является некорректным.
"Как ты борешься с галлюцинациями rag систем?" - тут только GraphRAG поможет
Есть ещё вариант использовать NLI-модели (Natural Language Inference), чтобы проверить, следует ли ответ модели из переданного контекста (например, roberta-large-mnli).
Некоторые модели хорошо понимают что в отданных чанках нет ответа на вопрос, особенно если их зампромптить на такой ответ: "если в указанной информации ответа нет, явно сообщи об этом числом 0".
Если есть похожие к запросу, но почему-то неревантные, значит надо улучшать retrieval.
Имхо, эта проблема заключается в сущности работы векторов слов/документов. Чанк может содержать (и содержит) одновременно несколько смыслов, причем зачастую весьма неожиданных. Поэтому векторный поиск может выдать весьма неожиданные результаты. Плюс польшая склонность к обобщению. Это хорошо для исследований, но не годится для применений, где требуется точность ответов. Я наверно в RAG буду использовать обычный поиск по ключевым фразам. Полноты будет, конечно меньше, но точность значительно выше. А векторный поиск хорош для развлекательных тематик - там ошибки некритичны.
Года идут, а пальцы нейронки так и не научились рисовать.
Накорми языковую модель документами