Как заставить RAG-ассистента ссылаться на источники и проверять цитаты?
- Как бороться с выдуманными ссылками в ответах LLM?
- Что такое groundedness?
Фрагментам в контексте дают идентификаторы, модель обязана указывать их у каждого утверждения (лучше в структурированном виде). Затем код проверяет: ссылки ведут только на реально переданные фрагменты, цитаты дословно встречаются в источнике, а утверждения подтверждаются фрагментом (проверка судьёй или моделью NLI). Долю ответов с неподтверждёнными утверждениями измеряют на наборе и в выборке продакшена.
- Ссылка на несуществующий фрагмент — явная ошибка, ловится кодом
- Дословные цитаты проверяются простым поиском подстроки
- Ответ без опоры лучше заменить на «не нашёл в документах»
А ещё Проверка опоры (groundedness) — одна из главных метрик RAG вместе с полнотой поиска
Подробно
Формат ответа:
{"answer": "…",
"claims": [{"text": "Возврат возможен в течение 14 дней",
"sources": ["doc12#3"], "quote": "в течение 14 дней"}]}
Проверки:
- все sources есть среди переданных фрагментов;
- quote — подстрока фрагмента;
- утверждение следует из фрагмента — судья с рубрикой или модель логического следования;
- при провале: перегенерировать или ответить «не нашёл».
Интерфейс. Ссылки кликабельны и открывают фрагмент — пользователь может проверить сам, и доверие растёт.
Что хотят услышать
- Идентификаторы фрагментов и обязательные ссылки.
- Автоматическая проверка ссылок и цитат.
- Проверка опоры утверждений.
- Метрика доли неподтверждённых ответов.
Проверьте себя
Один верный вариант. Подумайте, потом откройте ответ.
Показать варианты и ответ
- ✗Попросить модель «не выдумывать» — проверка в коде не нужна
- ✓Идентификаторы фрагментов, обязательные ссылки и проверка их кодом
- ✗Попросить модель в промпте ссылаться только на переданные фрагменты: она видит контекст и не может сослаться на несуществующий
- ✗Доверять ссылкам модели: она видит контекст и не может ошибиться
Связанные вопросы
Разбор собеседования с sotto
После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.