Что такое RAG?
RAG (Retrieval-Augmented Generation) — архитектурный паттерн, при котором языковая модель получает релевантный контекст из внешней базы знаний перед генерацией ответа. Это устраняет главные проблемы «голых» LLM: галлюцинации и устаревшие данные.
По отраслевым оценкам, RAG-системы обеспечивают работу около 60% production AI-приложений в 2024–2025 годах.
Компоненты RAG-пайплайна
RAG состоит из двух фаз:
Фаза индексации (offline)
Document Loaders → Text Splitters → Embedding Model → Vector Store. На этом этапе документы загружаются, разбиваются на чанки, преобразуются в эмбеддинги и сохраняются в векторной базе данных.
Фаза запроса (online)
User Question → Embed Query → Retriever (Top-K) → LLM + Context → Ответ. При запросе вопрос пользователя превращается в вектор, находятся ближайшие чанки, и LLM генерирует ответ на основе контекста.
Практика: создание RAG-чатбота в Flowise
Процесс создания реального RAG-чатбота для клиента включает следующие шаги:
- Подготовка данных — загрузка документов клиента (PDF, текстовые файлы, Markdown). Рекомендуется предварительно структурировать данные в Markdown для лучшего качества.
- Настройка Document Store — создание хранилища в Flowise, выбор загрузчика (Text File, PDF, Markdown) и сплиттера (RecursiveCharacterTextSplitter с chunk_size=1000, overlap=200).
- Выбор эмбеддингов и Vector Store — OpenAI Embeddings (text-embedding-3-small) + Pinecone для постоянного хранения.
- Создание Chatflow — подключение Tool Agent с OpenRouter (Claude 3.7 Sonnet), Buffer Window Memory (20 сообщений) и Retriever Tool.
- Системный промпт — настройка роли, языка и правил поведения агента.
Используйте LlamaIndex или аналогичные инструменты для предварительной конвертации документов в Markdown — это значительно повышает качество RAG.
Стратегии разбивки на чанки
| Размер чанка | Применение | Плюсы |
|---|---|---|
| 128–256 токенов | Точный поиск фактов | Высокая точность |
| 300–500 токенов | Общий RAG (рекомендуется) | Баланс точности и контекста |
| 512–1024 токенов | Поиск сложных концепций | Богатый контекст |
Оценка качества RAG
Для оценки используются метрики: Precision@K и Recall@K (точность ретривала), Faithfulness (соответствие ответа контексту), Answer Relevancy (релевантность ответа) и Hallucination Rate.