RAG (Retrieval-Augmented Generation)

Данные и MLЧастота употребления: очень высокая· Сложность: 4/5· Актуальность: 5/5· Тренд: растёт

Подход, при котором LLM дополняет ответ контекстом, найденным во внешней базе знаний через поиск.

Подробно

Retrieval-Augmented Generation — это архитектурный паттерн для LLM-приложений, где перед генерацией ответа система ищет релевантные фрагменты документов в индексе и подставляет их в промпт. Это снижает количество галлюцинаций, позволяет отвечать по актуальным и приватным данным без дообучения модели и даёт ссылки на источники. Типовой пайплайн включает загрузку документов, чанкинг, вычисление эмбеддингов, хранение в векторной БД (pgvector, Qdrant, Weaviate), поиск по сходству и, часто, ре-ранкинг результатов. Применяется в корпоративных чат-ботах, поддержке клиентов, поиске по документации и в ассистентах по коду. Качество RAG критически зависит от стратегии чанкинга, модели эмбеддингов и гибридного поиска (векторный + BM25).

Примеры употребления

  • docs = retriever.get_relevant_documents(query) # LangChain
  • RAG-пайплайн: чанкинг → эмбеддинги → векторный поиск → промпт к LLM.
  • Настроили гибридный поиск pgvector + BM25, чтобы поднять recall на RAG-запросах.
  • Индекс RAG переиндексируется ночью, иначе ответы идут по устаревшим документам.
#llm #embeddings #vector-search #nlp #retrieval

Источники