March 24
АВАРИЙНАЯ СХЕМА ОТЛАДКИ RAG-СИСТЕМ
Уровень 1: Видимые симптомы
- Симптом: Галлюцинации или невнятные ответы
- Первая проверка: Сравни ответы с разными температурами (0.1 vs 0.7)
- Что ищем: Если при низкой температуре ответы всё равно бредовые — проблема не в LLM, а в поиске/индексации
- Симптом: Неуместные источники в ответе
Уровень 2: Диагностика индексирования
- Тест синхронизации: Добавь уникальный временный документ, запроси инфу из него немедленно
- Тест на дубликаты: Выгрузи случайные 100 документов и проверь хэши
- Проверка эмбеддингов: Запусти t-SNE визуализацию на выборке векторов
Уровень 3: Диагностика поиска
- Проверка топ-К: Искусственно занизь К до 3-5 и посмотри, что система выбирает
- Проверка метрики сходства: Проведи A/B тест между косинусным расстоянием и евклидовым
- Аудит времени отклика: Замерь время каждого этапа (чанкинг → эмбеддинг → поиск → ранжирование → LLM)
Уровень 4: Проверка промптов
- Изоляция промпта: Запусти тот же запрос к LLM без RAG-контекста и сравни
- Частая ошибка: Если промпт содержит инструкции "используй только предоставленную информацию", а информации нет — система будет галлюцинировать
- Тестирование окна контекста: Пробуй разные размеры контекста для извлеченных чанков
Уровень красной тревоги: Аварийные фиксы
- Временное снижение температуры: Установи 0.1-0.2 для критических запросов
- Ручное задание релевантных источников: Временно захардкодь маппинг ключевых запросов к документам
- Регенерация всех эмбеддингов с нуля: Да, это долго и больно, но часто это единственный способ
Штука, которая реально спасла мне проект: я создал второй "теневой" индекс с другой моделью эмбеддингов и делал фоллбэк, если основной выдавал низкое confidence score. Да, это жрало в два раза больше ресурсов, но лучше так, чем объяснять клиенту, почему его финансовый помощник рассказывает про кроликов.
В этом дерьме важно понимать: технические проблемы фиксятся техническими решениями, но доверие клиента восстанавливать гораздо сложнее. Лучше потратить лишний день на диагностику, чем потерять проект из-за спешки.