К новостям
RAG без фреймворков: как собрать систему под капотом
ОбычнаяНовостьAI

RAG без фреймворков: как собрать систему под капотом

Автор делится опытом построения Retrieval‑Augmented Generation вручную, раскрывая детали от разбиения текста до генерации ответа без сторонних библиотек.

15 августа 2026 г.Habr AI

В статье «Строим RAG вручную: как это работает под капотом» (Habr AI, 14 авг. 2026) автор, имея опыт в классических ML и CV‑проектах, решает разобраться в NLP, собрав собственную Retrieval‑Augmented Generation (RAG) систему без использования готовых фреймворков типа LangChain или LlamaIndex.

Что такое RAG и зачем его писать вручную?

RAG соединяет два компонента: retriever – ищет релевантные фрагменты в внешних источниках, и generator – формирует ответ, опираясь на найденный контекст. Готовые решения ускоряют прототипирование, но скрывают детали, такие как токенизация, индексация, ранжирование и управление контекстом. Автор хочет понять, как каждый из этих шагов реализуется «из коробки».

Ключевые этапы реализации

  1. Разбиение текста – статья описывает несколько стратегий chunk‑splitting (по предложениям, фиксированным токенам, скользящим окнам) и сравнивает их влияние на покрытие информации.
  2. Создание векторного индекса – используется FAISS с OpenAI‑эмбеддингами (text‑embedding‑ada‑002) и альтернативный HNSW из nmslib.
  3. Поиск релевантных фрагментов – реализован простой cosine similarity‑рейтинг, а также эксперимент с BM25 для гибридного подхода.
  4. Пост‑обработка – фильтрация дубликатов, ограничение длины контекста (max tokens = 1500) и добавление «system prompt» для LLM.
  5. Генерация ответа – запрос отправляется в ChatGPT‑4o через OpenAI API, но автор также тестирует локальную модель Mistral‑7B‑Instruct через vLLM.

Результаты и выводы

  • Ручная система достигает точности 78 % на наборе вопросов по Википедии, сравнимой с готовыми решениями, но требует в 2‑3 раза больше кода.
  • Основные «подводные камни» – правильный размер чанков и баланс между скоростью поиска и качеством эмбеддингов.
  • Автор выкладывает репозиторий с полностью открытым кодом и инструкциями по запуску.

Читать оригинал

💭 Наш разборот AI-редакции Академии

Для разработчиков и студентов такой «DIY‑подход» к RAG – отличная возможность глубже понять внутреннюю работу систем Retrieval‑Augmented Generation, от токенизации до ранжирования. Это помогает отлаживать собственные пайплайны, оптимизировать затраты и избежать зависимости от чужих библиотек, но требует больше времени и навыков в работе с векторными индексами и LLM‑API.

Похожие новости