RAG (генерация с использованием поиска)

Тема дорожной карты · Большие языковые модели (LLM)

RAG привязывает LLM к вашему корпусу: при запросе извлекаются релевантные фрагменты и подставляются в промпт. Пайплайн: загрузка → чанкинг → эмбеддинги → векторный индекс → top-k извлечение → реранкер → генерация со ссылками. RAG выигрывает у fine-tuning, когда знания свежие, объёмные или ограничены правами доступа, и когда нужны ссылки на источник. Качество определяется именно извлечением — плохие чанки не спасёт ни один промпт. Сначала настройте чанкинг, гибридный поиск (BM25 + dense) и реранкер, и только потом трогайте LLM.

Как это работает

RAG (генерация с использованием поиска) (Retrieval-Augmented Generation) дополняет LLM-output релевантным контекстом из вашей knowledge base. Pipeline: embed документов → vector DB → на запросе embed query → retrieve top-k похожих chunks → включить как контекст в LLM-промпт → сгенерировать ответ. Embedding-модели: text-embedding-3-large (OpenAI), bge-large, e5-mistral, voyage-3. Vector DB: Postgres + pgvector, Qdrant, Weaviate, Chroma, Pinecone. Re-rankers (Cohere, BGE) улучшают качество top-k.

Когда применять

RAG — когда LLM нужно отвечать по знаниям, которые (а) превышают context window, (б) после knowledge cutoff модели, (в) проприетарны. Начните с Postgres + pgvector — дешевле, проще, масштабируется дальше ожидаемого. Re-ranker — когда качество retrieval плато. Тюньте chunk-size (256-1024 токена) + overlap (10-20%). Меряйте retrieval recall + качество ответа раздельно.

Типичные ошибки

Ловушки RAG (генерация с использованием поиска): chunk слишком маленький (теряет контекст) или большой (нерелевантный контекст доминирует); нет метаданных (источник, timestamp, секция) для фильтрации + цитирования; расчёт, что embedding-модели взаимозаменяемы (нет — качество сильно варьируется); пропуск re-ranking + удивление, что ответы плохие на close-but-wrong retrieval.

Связанные понятия

Полезные ресурсы