
Локальный RAG для закупок: LlamaIndex + Qdrant в действии
В статье Владимир показывает, как собрать RAG‑систему для ФЗ‑44, ФЗ‑223 и локальных положений, используя LlamaIndex, Qdrant и Gradio, полностью в локальном контуре.
Что сделано
Автор статьи — Владимир, разработчик‑энтузиаст, решил протестировать LlamaIndex (ранее — GPT Index) в реальном бизнес‑кейсе. Задача: построить Retrieval‑Augmented Generation (RAG)‑систему, способную отвечать на вопросы по нормативным актам в сфере закупок (ФЗ‑44, ФЗ‑223 и внутренние положения), не покидая локального окружения.
Технический стек
- LlamaIndex 0.9.0 – упрощает работу с документами, создаёт индексы и интегрируется с векторными базами.
- Qdrant 1.2 – локальная векторная БД, хранит эмбеддинги и обеспечивает быстрый поиск.
- Sentence‑Transformers (модель
all-MiniLM-L6-v2) – генерирует эмбеддинги для текстов нормативных актов. - FastAPI – лёгкий веб‑фреймворк для создания API‑эндпоинтов.
- Gradio – UI‑слой, позволяющий протестировать систему в браузере без установки фронтенда.
Как это работает
- Сбор данных – PDF‑документы законов и локальных регламентов конвертируются в текст с помощью
pdfplumber. - Индексация – LlamaIndex разбивает тексты на куски (≈500 токенов) и создаёт эмбеддинги, которые сохраняются в Qdrant.
- Поиск – При запросе пользовательского вопроса система генерирует эмбеддинг, ищет похожие фрагменты в Qdrant и возвращает их в виде контекста.
- Генерация ответа – Контекст передаётся в локальную LLM (например,
Llama‑2‑7B‑Chatчерез Ollama), которая формирует ответ. - API и UI – FastAPI экспонирует
/query‑эндпоинт, а Gradio предоставляет простую веб‑страницу с полем ввода и выводом ответа.
Полезные ссылки
- LlamaIndex docs: https://llamaindex.ai/
- Qdrant docs: https://qdrant.tech/
- Gradio tutorial: https://gradio.app/
- Пример кода на GitHub (author’s repo): https://github.com/vlad-rag-purchases
Что важно знать
Система полностью локальная, поэтому данные о закупках не покидают корпоративную сеть – это критично для соблюдения конфиденциальности и требований регуляторов.
Локальный RAG‑подход позволяет работать с чувствительными документами без риска утечки в облако, что особенно ценно для государственных и корпоративных закупок. Стек LlamaIndex + Qdrant легко адаптировать под любые нормативные базы, а Gradio упрощает быстрый прототип. Главное – правильно подобрать эмбеддинги и обеспечить достаточную мощность для LLM, иначе отклик будет медленным.


