Skip to main content

Cloud server with RAGFlow

RAGFlow Virtual Machine — a preconfigured cloud server with a RAG tool for Deep Document Understanding (Deep Document Understanding). The tool allows you to extract data from various sources to improve the accuracy of large language model (LLM) responses.

The image used to deploy the server contains:

  • RAGFlow — a RAG platform for Deep Document Understanding;

  • Docker — a platform for running containerized applications;

  • Docker Compose — a tool for running multi-container Docker applications;

  • Elasticsearch — a scalable search and analytics engine;

  • OpenSearch — a scalable open-source search and analytics engine;

  • Infinity — an AI-native database for LLMs;

  • OceanBase — a distributed relational database;

  • Seekdb — an AI-native search database;

  • MySQL — a relational database management system;

  • MinIO — an S3-compatible object storage;

  • Redis — a NoSQL in-memory database management system that works with key-value data;

  • NATS — a messaging system for distributed systems;

  • Kibana — a tool for analyzing, visualizing, and managing data stored in Elasticsearch;

  • drivers required for working with graphics processing units (GPUs).

Before creating a server, review the software license agreements included in the image.

Functional capabilities

  • indexing and semantic search in knowledge bases;

  • extracting and processing unstructured data from various sources: PDF files, tables, images, and others;

  • preparing relevant context from uploaded documents to improve the quality of LLM responses.

Minimum resource requirements

vCPU count4
RAM16 GB
Boot volume80 GB
GPURequired

Getting started with RAGFlow

  1. Create a public floating IP address.

  2. Create a cloud server with RAGFlow.

  3. Create a RAGFlow account.

  4. Run RAGFlow.

1. Create a public floating IP address

Create a public floating IP address so that the cloud server with RAGFlow is accessible from the internet.

Use the Create a public floating IP address section of the Public floating IP addresses guide.

2. Create a cloud server with RAGFlow

  1. In the Control panel, on the top menu, click Products and select Cloud Servers.

  2. Click Create server.

  3. Fill in the blocks:

  4. Check the cloud server price.

  5. Click Create.

Name and placement

  1. Enter the server name. It will be set as the hostname in the operating system.

  2. Select the location where the server will be created. The available server configurations and resource costs depend on the location. You cannot change the location after the server is created.

Source

  1. Откройте вкладку Приложения.

  2. Select RAGFlow VM.

  3. Optional: if you need a different current or archived application version, select the required version in the Version field.

Configuration

Select a configuration from the GPU range starting from 4 vCPU, RAM от 16 ГБ and размером загрузочного диска от 80 ГБ. Two types of server configurations are available for this range:

  • prebuilt configurations — configurations in the range with different specifications, in which the resource ratio is fixed;
  • custom configurations — configurations in which you can specify any resource ratio.

В конфигурациях используются разные процессоры in зависимости от линейки and сегмента пула. Вы можете настроить выбранную конфигурацию. После создания сервера можно будет изменить конфигурацию.

  1. Open the tab with the GPU range.

  2. Click Prebuilt.

  3. Optional: you can adjust the configuration if you are creating a server in a multi-zone pool segment ru-6 or pool segments ru-3b, ru-7a, and ru-7b:

    3.1. Разверните блок with описанием настроек конфигурации.

    3.2. Optional: выберите производителя процессора. Выбор производителя доступен не во всех пулах.

    3.3. Optional: если вы хотите, чтобы за vCPU облачного сервера не закреплялись ядра физического процессора, снимите чекбокс Выделенные ядра. Подробнее in инструкции Выделенные ядра.

    3.4. Optional: если для сервера with выделенными ядрами вы хотите выключить Hyper-Threading, снимите чекбокс Hyper-Threading (SMT).

    3.5. Optional: если вы создаете сервер with выделенными ядрами and хотите разместить многопроцессорный сервер on одной NUMA-ноде, отметьте чекбокс Обязательное размещение on одной NUMA-ноде. Разместить on одной NUMA-ноде можно сервер with 4 vCPU and больше. Если ресурсы облачного сервера не получится разместить on одной ноде, он не создаcтся. Подробнее in подразделе Размещение on одной NUMA-ноде инструкции Выделенные ядра.

  4. Select a GPU.

  5. Select a configuration.

  6. If both local and network volumes are available in the selected configuration, select the volume to be used as the boot volume:

    • локальный диск — отметьте чекбокс Локальный SSD NVMe диск. Сервер with локальным диском можно создать только из образов and приложений;
    • сетевой диск — не отмечайте чекбокс Локальный SSD NVMe диск.

    Объем оперативной памяти, который выделяется серверу, может быть меньше указанного in конфигурации — ядро операционной системы резервирует часть оперативной памяти in зависимости от версии ядра and дистрибутива. Выделенный объем on сервере можно проверить with помощью команды sudo dmesg | grep Memory.

Volumes

  1. Если при настройке конфигурации вы не отметили чекбокс Локальный SSD NVMe диск, in качестве загрузочного диска сервера будет использоваться первый указанный сетевой диск. Чтобы настроить его:

    1.1. Выберите тип сетевого загрузочного диска.

    1.2. Укажите размер сетевого загрузочного диска in ГБ or ТБ. Учитывайте лимиты сетевых дисков on максимальный размер.

    1.3. Если вы выбрали тип диска Универсальный v2 or SSD Быстрый v2, укажите общее количество операций чтения and записи in IOPS. После создания диска вы можете изменить количество IOPS — уменьшить or увеличить. Количество изменений IOPS не ограничено.

  2. Optional: add an additional network volume of the server :

    2.1. Нажмите Добавить.

    2.2. Выберите тип сетевого диска.

    2.3. Specify the size of the network disk in GB or TB. Учитывайте лимиты сетевых дисков on максимальный размер.

    2.4. Если вы выбрали тип диска Универсальный v2 or SSD Быстрый v2, укажите общее количество операций чтения and записи in IOPS. После создания диска вы можете изменить количество IOPS — уменьшить or увеличить. Количество изменений IOPS не ограничено.

    After the server is created, you will be able to connect new additional volumes.

Internet

Configure public access to the server.

The cloud server will be added to a private subnet, which is connected to a cloud router with 1:1 NAT and internet access. Internet access will be provided through the cloud router. The server will be accessible from the internet via a public floating IP address.

  1. В поле Подключение из интернета выберите тип доступа Публичный плавающий IP-адрес.

  2. Select a public floating IP address that you created in step 1.

Private network

The cloud server can be added to an existing or new private subnet.

  1. In the Subnet field, select a private subnet.

  2. Optional: in the IP address field, change the default IP address.

  3. В поле Роутер выберите существующий роутер or создайте новый.

    If the router is not connected to the internet, it will be automatically connected after the server is created.

Security

Select security groups to filter traffic on the server ports. Without security groups, traffic will be blocked. If this block is missing, traffic filtering (port security) is disabled in the server network. With traffic filtering disabled, all traffic is allowed.

Access

  1. Place an SSH key for the project on the server for secure connection:

    1.1. Если SSH-ключ для проекта не добавлен in облачную платформу, нажмите Добавить SSH-ключ, введите имя ключа, вставьте публичный ключ in формате OpenSSH and нажмите Добавить.

    1.2. Если SSH-ключ для проекта добавлен in облачную платформу, in поле SSH-ключ выберите существующий ключ. SSH-ключ доступен только in том пуле, in котором он размещен.

  2. Optional: in поле Пароль для «root»:

    2.1. Скопируйте пароль пользователя root — пользователя with неограниченными правами on все действия над системой.

    2.2. Сохраните пароль in безопасном месте and не передавайте in открытом виде.

Additional settings

  1. If you are planning to create multiple servers and want to increase infrastructure fault tolerance, add the server to a placement group:

    1.1. Чтобы создать новую группу, in поле Группа размещения нажмите Создать.

    1.2. Выберите Новая группа and введите имя группы.

    1.3. Выберите политику размещения on разных хостах:

    • soft-anti-affinity — the system will try to place servers on different hosts. If there is no suitable host when creating the server, it will be created on the same host;
    • anti-affinity — servers in the group must be located on different hosts. If there is no suitable host when creating the server, the server will not be created.

    1.4. Если группа создана, in поле Группа размещения выберите группу размещения.

  2. Чтобы добавить дополнительную информацию or фильтровать серверы in списке, добавьте теги сервера. Автоматически добавляются теги операционной системы and конфигурации. Чтобы добавить новый тег, in поле Теги введите тег.

  3. Чтобы добавить скрипт, который выполнится with помощью агента cloud-init при первом запуске операционной системы, in блоке Автоматизация in поле User data:

    • откройте вкладку Текст and вставьте скрипт текстом;
    • or откройте вкладку Файл and загрузите файл со скриптом.

3. Create a RAGFlow account

  1. Open the http://<ip_address> page in your browser.

    Specify the <ip_address> — the public floating IP address of the cloud server. You can copy it in the control panel: from the top menu, click ProductsCloud Servers → in the server card, click next to the public floating IP address.

  2. Click Sign up.

  3. Enter your email.

  4. Enter a username.

  5. Enter your password.

  6. Click Continue.

4. Run RAGFlow

  1. Open the http://<ip_address> page in your browser.

    Specify the <ip_address> — the public floating IP address of the cloud server. You can copy it in the control panel: from the top menu, click ProductsCloud Servers → in the server card, click next to the public floating IP address.

  2. Enter the email address you specified in step 3 when creating your account at step 3;

  3. Enter the password you specified in step 5 when creating your account at step 3.

  4. Click Sign in.