Введение: Почему RAG?
Представьте: приходит письмо из вышестоящих или надзорных органов с требованием предоставить информацию или отчёт. Тут начинается суета и судорожный поиск нужных документов. А что, если всю внутреннюю документацию — приказы, инструкции, отчёты — можно было бы "спросить"? Задать вопрос и получить точный ответ, подкреплённый информацией из этих документов.
Именно для этого и существуют системы RAG (Retrieval-Augmented Generation). Это не просто LLM, которая отвечает, что знает, а система, которая ищет информацию в вашей базе данных, а затем использует её для формирования точного и релевантного ответа.
Помимо этого, такая система может помочь в подготовке отчётов и аналитических справок, автоматизировать ответы на типовые запросы граждан и служить интерактивной базой знаний для обучения новых сотрудников. Всё это позволяет значительно повысить эффективность работы госучреждения.
Чтобы самостоятельно развернуть такой пайплайн, нужны программист, время, деньги и навыки. Всего этого у нас нет. Но есть большое желание опробовать систему, и тут на помощь приходят готовые решения. Для реализации этого проекта была выбрана связка инструментов LightRAG + OpenWebUI.
Компоненты системы
Ollama: это фреймворк для локального запуска больших языковых моделей. Он необходим для работы модели эмбеддинга, которая преобразует текст из документов в числовые векторы. Для этой цели была выбрана paraphrase-multilingual, которая отлично работает с текстами на разных языках, включая русский, и идеально подходит для проекта.
LightRAG: это бэкенд для создания AI-приложений на базе RAG. Он предоставляет готовые API-эндпоинты и интуитивно понятный веб-интерфейс, что значительно упрощает работу.
OpenWebUI: это фронтенд — красивый и удобный веб-интерфейс, который позволяет взаимодействовать с моделями и RAG-системой без написания кода. Он может работать в связке с LightRAG.
Развёртывание и настройка
Как и в первой части, все компоненты разворачивались с помощью Docker и Portainer.
Сначала был поднят Ollama, затем с помощью команды в терминале: docker exec -it ollama ollama pull paraphrase-multilingual
была загружена модель paraphrase-multilingual.
Эта модель позволяет создавать векторные представления документов.
Далее был развернут LightRAG. На этом этапе были заданы его основные конфигурации: указана модель эмбеддинга, прописаны настройки внешней модели и определён путь для хранения данных.
Веб-интерфейс LightRAG по умолчанию доступен на порту 9621.
На странице Documents можно легко загружать документы, и там же отображается список всех загруженных и обработанных файлов.

На странице Knowledge Graphs (Граф знаний) можно увидеть связи между сущностями (людьми, организациями, концепциями), которые система извлекла из текста. Это помогает визуализировать структуру данных.

На странице Retrieval можно протестировать работу системы, задавая вопросы по загруженным документам. В конце ответа система приводит список документов, из которых была взята информация. Также здесь есть возможность отрегулировать параметры, чтобы добиться наилучшего результата.

На странице API размещён интерфейс Swagger, который показывает список доступных HTTP-запросов (эндпоинтов) для работы с документами. Это позволяет протестировать работу системы без написания кода, а в будущем — автоматизировать загрузку и обработку документов или интегрировать LightRAG в другие системы.

После этого был развернут OpenWebUI. Одним из его ключевых преимуществ является простота установки и понятный интерфейс. Благодаря системе авторизации каждый сотрудник получает собственную рабочую среду с сохранением истории запросов и индивидуальных настроек, что делает использование сервиса более удобным и персонализированным.

Результат: новые возможности
В итоге у нас получилась полноценная RAG-система, которая позволяет сотрудникам:
Быстро находить информацию: больше нет необходимости искать нужный отчёт вручную в куче папок. Достаточно просто задать вопрос, и система выдаст ответ со ссылкой на источник.
Экономить время и повышать эффективность: сотрудники могут быстрее выполнять свои задачи и сфокусироваться на более важных вещах.
Эта история доказывает, что технологии могут служить не только бизнесу, но и обществу. Даже в условиях ограниченных ресурсов, энтузиазм и готовность учиться позволяют создавать по-настоящему полезные и инновационные проекты.