Впровадження RAG-системи для AI-бота
RAG вирішує конкретну проблему: модель не знає ваш продукт, вашу документацію, ваші внутрішні регламенти. Донавчання дороге і повільно оновлюється. RAG — дешевше, актуальніше, прозоріше. Користувач ставить запитання → система шукає релевантні фрагменти документації → передає їх у контекст моделі → модель відповідає на основі реальних даних. Наш досвід показує, що якісно реалізований RAG підвищує точність відповідей до 95% і знижує навантаження на підтримку на 40–50%.
На відміну від традиційних чат-ботів, RAG-бот використовує живу базу знань: ви додаєте або змінюєте документи — бот одразу відповідає за оновленою інформацією. Це особливо важливо для мобільних додатків із часто змінюваними тарифами, продуктами або умовами. Ми впровадили RAG-системи для 15+ проєктів, включаючи мобільні додатки з чутливими даними. Наша команда має 8+ років досвіду в мобільній розробці (iOS, Android, Flutter) та серверній архітектурі. Гарантуємо прозорість: ви бачите, звідки береться кожна відповідь. Середній час відповіді RAG-бота становить 1–3 секунди, включаючи пошук та генерацію, що відповідає очікуванням користувачів.
Техніка описана в роботі Lewis et al.
Проблеми, які вирішує RAG
Перша і головна — галюцинації моделі. Без контексту LLM може вигадати неіснуючі функції або параметри. RAG фіксує відповіді на вашій документації.
Друга — актуальність даних. Перенавчати модель щоразу при зміні документації дорого і довго. RAG підтягує останню версію з бази знань.
Третя — довіра користувачів. Мобільний чат-бот з RAG показує джерела відповіді — користувач може перевірити інформацію. Це знижує кількість ескалацій.
Компоненти RAG-системи
Ingestion, Retrieval, Generation — як вони пов'язані
Ingestion (завантаження та індексування):
- Розбивка документів на чанки (chunking)
- Створення ембеддингів для кожного чанка
- Збереження у векторну БД
Retrieval (пошук):
- Ембеддинг користувацького запиту
- Векторний пошук (cosine similarity / ANN)
- Реренжування результатів (опціонально)
Generation (генерація):
- Формування промпту з контекстом
- Виклик LLM
- Постобробка відповіді
На мобільному весь Ingestion і більшість Retrieval — серверне завдання. Клієнт робить запит до API, отримує відповідь з джерелами.
Chunking: найнедооціненіший етап
Якість RAG визначається якістю чанків. Поганий chunking вбиває точність незалежно від моделі.
Фіксований chunking (по 500 символів) — не робіть так. Розриває речення, втрачає контекст абзаців.
Семантичний chunking — розбивка за смисловими межами (заголовки, абзаци, речення). Для Markdown і HTML працює за замовчуванням. Бібліотека LangChain4j на Java/Kotlin надає RecursiveCharacterTextSplitter з роздільниками ["\n\n", "\n", ". "] — це правильний підхід.
Overlap — перекриття між чанками 10–20%: останні 50–100 токенів попереднього чанка включаються в початок наступного. Це зберігає контекст на межах.
Оптимальний розмір чанка залежить від типу документа: для технічної документації — 300–500 токенів, для юридичних текстів — 500–800 токенів, для FAQ — чанк = одне питання+відповідь.
Яку модель ембеддингів обрати?
| Модель | Розмірність | Контекст | Вартість | Підходить для |
|---|---|---|---|---|
| text-embedding-3-small | 1536 | 8192 | Дешево | Загальний контент |
| text-embedding-3-large | 3072 | 8192 | Середньо | Технічна документація |
| nomic-embed-text | 768 | 8192 | Безкоштовно (self-host) | Приватні дані |
| multilingual-e5-large | 1024 | 512 | Безкоштовно (self-host) | Мультимовний контент |
Для мобільного додатка з чутливими даними — self-hosted модель. OpenAI Embeddings відправляють документи на сервери OpenAI.
Що краще: hybrid search чи чистий векторний?
Hybrid search — комбінація векторного пошуку та BM25 (keyword search) дає кращі результати, ніж лише векторний. Pgvector + pg_trgm дозволяють робити це в PostgreSQL без окремої інфраструктури.
Реренжування — після vector search беремо топ-20 результатів, проганяємо через cross-encoder модель (cross-encoder/ms-marco-MiniLM-L-6-v2), повертаємо топ-5. Це суттєво покращує релевантність. Cohere Rerank API — якщо не хочете self-hosted модель.
Metadata filtering — якщо у документів є метадані (дата, розділ, мова, тип документа), фільтруйте за ними до векторного пошуку. Шукати за векторами серед 10 тисяч релевантних чанків замість мільйона — швидше і точніше.
Формування промпту з контекстом
System: Ти помічник по продукту компанії. Відповідай ТІЛЬКИ на основі наданого контексту.
Якщо відповіді немає в контексті — скажи про це прямо.
Контекст:
[Чанк 1]: <текст>
[Чанк 2]: <текст>
[Чанк 3]: <текст>
User: Як налаштувати двофакторну аутентифікацію?
Вказувати джерела — хороша практика. На мобільному відображаємо список чанків/документів під відповіддю: користувач може перевірити, звідки інформація. Це знижує hallucination risk і підвищує довіру.
Мобільний UI для RAG-бота
Особливості рендерингу відповіді:
- Стрімінг через SSE — відповідь з'являється поступово
- Джерела під відповіддю (колапс-список)
- Індикатор «шукаю в базі знань» під час Retrieval (100–300 мс)
- Кнопка «Не знайшов відповіді» для ескалації до оператора
На Flutter: flutter_markdown для рендерингу відповіді, кастомний віджет для джерел. На iOS: UILabel з NSAttributedString або UITextView + WKWebView для Markdown. На Android: Markwon — найкращий Markdown-рендерер для RecyclerView.
Склад робіт з впровадження RAG
- Аудит корпусу документів та проектування схеми індексації
- Вибір та розгортання векторної БД (Pgvector, Qdrant, Pinecone — під ваш стек)
- Реалізація ingestion pipeline з семантичним chunking та overlap
- Налаштування hybrid search + reranking для максимальної релевантності
- Інтеграція з LLM (OpenAI, GPT-4, Claude, YandexGPT або self-hosted)
- Мобільний чат-UI з стрімінгом, джерелами та ескалацією
- Документація з експлуатації та навчання команди
- Оцінка якості метриками RAGAS
Замовте аудит вашої бази знань — ми проаналізуємо документи та запропонуємо план впровадження RAG. Зв'яжіться з нами для консультації. Напишіть нам, щоб отримати детальний план.
Терміни та орієнтири
| Етап | Термін |
|---|---|
| Аудит та проектування | 1 тиждень |
| Реалізація пайплайну | 2–3 тижні |
| Інтеграція та UI | 2–4 тижні |
| Тестування та доопрацювання | 1–2 тижні |
Базовий RAG-бот з простою документацією — від 3 тижнів. Продакшен-система з hybrid search, reranking, мультимовністю та оцінкою якості — до 12 тижнів. Точні терміни залежать від обсягу документів та складності інтеграції.
Типові помилки при впровадженні RAG
- Ігнорування попередньої обробки документів: PDF з картинками, скани, таблиці — вимагають OCR та очищення.
- Відсутність метаданих: без фільтрації за датою або розділом якість пошуку падає.
- Недостатнє тестування: використовуйте метрики RAGAS — точність, релевантність, faithfulness.
- Нехтування безпекою: налаштуйте фільтрацію контексту, щоб модель не видавала чутливі дані.
RAG — це не одна модель, а система з багатьох компонентів. Зверніться до спеціалістів з досвідом: ми допоможемо уникнути типових помилок і впровадити рішення, яке буде працювати надійно.







