Проще говоря, retriever отвечает на вопрос "что нужно достать из базы знаний, чтобы модель не фантазировала?". Если он нашел хорошие источники, ответ будет точнее. Если он достал не те документы, даже сильная модель может уверенно ответить неправильно.
В RAG retriever обычно работает через embeddings и векторную базу. Документы заранее разбивают на chunks, превращают в векторы и кладут в хранилище. На запрос пользователя тоже строится vector, затем система ищет похожие фрагменты по cosine similarity или другой метрике. Часто используется параметр top-k: сколько найденных фрагментов передать модели.
Хороший retriever — это не просто "поиск по похожести". В реальных проектах он учитывает права доступа, свежесть документов, тип источника, язык запроса, фильтры, reranking, цитирование, дубли, размер контекста и стоимость. Для ИИ-агента retriever становится ключевым инструментом: он помогает отвечать по базе знаний компании, документам, продуктовым инструкциям и внутренним регламентам.
Примеры
- Пользователь спрашивает: "Как оформить возврат?". Retriever находит фрагменты из регламента возвратов, инструкции поддержки и FAQ, а модель отвечает на основе этих источников.
- ИИ-агент поддержки получает вопрос о тарифе. Retriever достает актуальную страницу тарифа, а не старую презентацию из архива.
- Внутренний поиск по договорам: retriever находит пункты про штрафы, сроки и ответственность, а модель кратко объясняет их юристу.
- RAG по базе знаний компании использует top-k=5: в контекст модели попадают пять самых релевантных chunks, а остальные игнорируются.
- Если у пользователя нет доступа к HR-документам, retriever должен отфильтровать их до передачи в модель.
Где используется
- Отвечать на вопросы по базе знаний компании без ручного поиска.
- Подключать LLM к документам, инструкциям, регламентам, договорам и FAQ.
- Снижать галлюцинации модели за счет передачи релевантных источников.
- Строить внутренний поиск по корпоративным документам.
- Давать ИИ-агенту доступ к актуальным данным без дообучения модели.
- Фильтровать результаты поиска по правам доступа, дате, типу документа или отделу.
- Добавлять цитаты и ссылки на источники в ответы агента.
- Оптимизировать контекст: передавать модели только нужные chunks, а не весь документ.
- Тестировать качество RAG через evals: нашел ли retriever правильный источник для вопроса.
Связанные термины
Частые вопросы
Чем retriever отличается от LLM?
Retriever ищет релевантные данные, а LLM формирует ответ. Retriever не должен придумывать текст ответа, его задача — найти правильный контекст для модели.
Что важнее для RAG: модель или retriever?
Оба важны, но плохой retriever часто ломает всю систему. Если в контекст попали неправильные документы, модель может дать уверенный, но неверный ответ.
Что такое top-k в retriever?
Top-k — это количество найденных фрагментов, которые система передает модели. Например, top-k=5 означает, что в контекст попадут пять наиболее похожих chunks.
Как понять, что retriever работает плохо?
Признаки: модель часто отвечает не по теме, ссылается на старые документы, не находит очевидные инструкции, берет слишком длинный контекст или игнорирует права доступа.
Можно ли сделать retriever без векторной базы?
Да. Иногда хватает полнотекстового поиска, SQL-фильтров или гибридного поиска. Но для смыслового поиска по документам embeddings и vector database обычно дают лучший результат.