Установка RAGFlow на OpenScaler

На сегодняшний день ИИ инструментарий и функционал нейросетей все больше входят в обиходную жизнь и работу многих специалистов. От генерации мемов и сомнительных видеороликов (читаем “развлечение”) до вполне себе профессионального применения в разных областях бизнес деятельности. Если следить за развитием нейросетей то легко заметить их все возрастающее количество, как минимум стоит взглянуть на рейтинг 100 лучших нейросетей в 10 различных областях применения. Как итог, все это многообразие, зачастую приводит к необходимости использования не одной а нескольких нейросетей для работы, ведь каждая из них в чем-то лучше или хуже конкурирующей. Дабы упростить взаимодействие с несколькими нейросетями, объединить процесс взаимодействия с ними в одном интуитивно понятном интерфейсе и значительно ускорить процесс работы мы предлагаем познакомиться с системой под названием RAGFlow и установить ее на наш OpenScaler.

RAGFlow — открытый исходный код движка RAG (Retrieval-Augmented Generation) который предназначен для глубокого понимания документов и извлечения знаний из неструктурированных данных. Этот инструмент позволяет компаниям интегрировать искусственный интеллект в свои процессы, улучшая качество обработки информации и взаимодействия с данными.

В качестве основных характеристик RAGFlow стоит отметить:

  • Глубокое понимание документов: RAGFlow использует продвинутые методы для извлечения знаний из сложных форматов данных, что обеспечивает высокое качество результатов
  • Шаблонная фрагментация: Пользователи могут выбирать из различных шаблонов для гибкой и настраиваемой сегментации данных, что упрощает процесс извлечения информации
  • Инструмент предоставляет обоснованные цитаты, что минимизирует вероятность генерации неверной информации и обеспечивает надежность выводов
  • Совместимость с различными форматами данных: RAGFlow поддерживает множество форматов, включая документы Word, Excel, изображения и веб-страницы, что делает его универсальным инструментом для работы с данными

При всем этом вам необязательно держать у себя локальную нейросеть а достаточно прописать доступ к публично доступной, к примеру DeepSeek.

Для установки RAGFlow можно использовать готовый контейнер docker для архитектуры X86, но в нашем случае установка планируется на сервер архитектуры ARM по сему, нам придется собрать свой контейнер самостоятельно:

cd /srv/

git clone https://github.com/infiniflow/ragflow.git

cd ragflow/

git checkout -f v0.17.2

uv run download_deps.py

docker build -f Dockerfile.deps -t infiniflow/ragflow_deps .

docker build -f Dockerfile -t infiniflow/ragflow:v130325-1512 .

Устанавливаем значение параметра max_map_count — это параметр конфигурации ядра Linux, который определяет максимальное количество областей памяти (или сегментов), которые процесс может выделить в своем виртуальном адресном пространстве. Он управляет максимальным количеством виртуально отображаемых областей, которые процесс может создать. Этот параметр часто связан с производительностью и стабильностью систем, использующих интенсивные операции с памятью, такие как базы данных и виртуализация. 

sysctl -w vm.max_map_count=262144

Отключаем и останавливает сетевой экран  firewalld.

Вносим корректировки в /srv/ragflow/docker/.env:

TIMEZONE=’Europe/Moscow’

RAGFLOW_IMAGE=infiniflow/ragflow:v130325-1512

Запускаем контейнер 

cd /srv/ragflow/docker

docker compose up -d

По завершению установки и запуска контейнера вы можете воспользоваться веб-интерфейсом пользователя для настройки системы, представленном на рисунке 1.

rag1

Рисунок 1 – Общий вид интерфейса RAGFlow

Перейдя в раздел Model Providers как показано на рисунке 2 вы можете привязать к интерфейсу те нейросети что вам необходимы для работы, полный список публично доступных к интеграции достигает нескольких десятков. Но вы также можете и осуществить привязку к своим локально работающим нейросетям. В дальнейшем вы можете указать какое именно применение для каждой из добавленных в систему нейросетей вы считаете основным – как представлено на рисунке 3.

rag2

Рисунок 2 – Список публичных нейросетей доступных для интеграции в систему.

На рисунке 3 представлен список привязанных к системе нейросетей включая локально запущенный сервер Ollama и сеть Tongyi-Qianwen привязанной по API

rag3

Рисунок 3 – Список привязанных к системе нейросетей

Для каждой из добавленных сетей возможно обозначить сферу ее применения в рамках системы задав ее “Model type” как показано на рисунке 4.

rag4

Рисунок 4 – Указание типа модели в настройках

Пример текстового запроса к сети представлен на рисунке 5.

rag5

Надеемся что наш обзор сподвигнет вас опробовать RAGFlow и он обретет свое место в числе ключевого ИИ инструментария используемого вами для решения текущих бизнес задач.