Простой запуск RAG…
Мой рабочий пример. С простым запуском. Стек: FAISS + GigaChat + Amvera
RAG — это не магия и не «агент с 15 библиотеками».
Это три вещи:
— векторный поиск — LLM — строгий промпт
Ниже — мой реальный рабочий пример Telegram-бота на FAISS + GigaChat API, который отвечает строго по юридическим документам.
Без overengineering. Без лишних абстракций. Простой и понятный пайплайн.
Как работает схема
Логика максимально прозрачная:
1. Пользователь задаёт вопрос 2. Мы ищем релевантные документы через FAISS 3. Формируем жёсткий промпт 4. Передаём контекст в GigaChat 5. Возвращаем ответ
Всё.
Никаких агентов. Никакой «магии». Только retrieval + генерация.
Почему я выбрал GigaChat
Выбор модели — это всегда инженерное решение, а не «что моднее».
Я выбрал GigaChat по нескольким причинам:
— не нужен VPN — простое подключение через API — отлично работает с русским языком из коробки — понятная и прозрачная тарификация — 50 000 токенов бесплатно на старте
Для проектов на русском языке это огромный плюс. Не нужно городить прокси, VPN, пляски с доступами.
Просто подключил — и работает.
Для MVP и production в РФ — это удобное и стабильное решение.
Векторная база (FAISS)
Сердце RAG — это embeddings.
Я использую модель:
sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2
Почему:
— поддержка русского — лёгкая модель — не требует GPU — работает стабильно
Документы:
— очищаются — режутся на чанки — преобразуются в embeddings — сохраняются в FAISS
При запросе пользователя выполняется similarity search (top-5).
Если база знаний плохая — RAG не спасёт. Качество начинается с источников.
Самое важное — промпт
LLM должна быть ограничена.
Я жёстко задаю правила:
— отвечай только на основе документов — если информации нет — так и скажи — указывай источники — не придумывай
Без строгого промпта RAG превращается в фантазирующий чат.
RAG = 50% retrieval + 50% prompt engineering.
Telegram через aiogram
Бот построен на aiogram.
Важно:
— проверять, что база загружена — проверять, что LLM подключена — логировать ошибки — не падать при сбоях — показывать typing
Надёжность — это мелкие детали.
Почему я использую Amvera Cloud
Инфраструктура должна быть простой.
Я выбрал Amvera по нескольким причинам:
— простой деплой Python-приложения — быстрый запуск без сложного DevOps — сразу дают доменное имя, если нужно — встроенный VPN — скачивание библиотек не вызывает проблем
Это снижает порог входа.
Вы не тратите время на борьбу с окружением. Вы запускаете сервис.
Для RAG-бота этого более чем достаточно.
Почему это production-подход
Потому что:
— retrieval отделён от генерации — база знаний контролируется — модель не «гуляет по интернету» — архитектура прозрачна — система масштабируема
Это не игрушка. Это управляемый AI-сервис.
Итог
RAG — это не про сложность.
Это про дисциплину:
— чистые документы — правильная нарезка — хорошие embeddings — строгий промпт — понятная инфраструктура
Мой пример — это простой, рабочий RAG-бот.
Без магии. Без лишних слоёв. Только инженерия.
👉 https://t.me/manager_dot_exe Про архитектуру, AI и системное мышление в IT.