by InfiniFlow OpenAI, локальные модели, множество форматов документов
RAG-движок с по-настоящему глубоким пониманием документов: корректно разбирает сложные PDF, таблицы, сканы и многостраничные отчёты, а не просто режет текст на чанки вслепую. Совмещает классический RAG с полноценными agent-возможностями для построения качественного контекстного слоя поверх LLM. Реальное применение в enterprise-сценариях с грязными корпоративными документами.
git clone https://github.com/infiniflow/ragflow.git cd ragflow/docker docker compose -f docker-compose.yml up -d # Веб-интерфейс на localhost
<a href="https://x.com/intent/follow?screen_name=infiniflowai" target="_blank">

📕 Содержание
RAGFlow — это ведущий открытый движок генерации с расширенным поиском (RAG), который объединяет передовые технологии RAG с возможностями Агентов для создания превосходного контекстного слоя для больших языковых моделей (LLM). Он предлагает оптимизированный рабочий процесс RAG, адаптируемый для предприятий любого масштаба. Основанный на конвергентном контекстном движке и готовых шаблонах агентов, RAGFlow позволяет разработчикам эффективно и точно превращать сложные данные в высокоточные, готовые к эксплуатации ИИ-системы.
Попробуйте наш облачный сервис по адресу https://cloud.ragflow.io.

⭐️ Поставьте звезду нашему репозиторию, чтобы быть в курсе всех новинок и улучшений! Получайте мгновенные уведомления о новых релизах! 🌟
[!TIP] Если вы не установили Docker на локальной машине (Windows, Mac или Linux), ознакомьтесь с инструкцией Установка Docker Engine.
vm.max_map_count >= 262144:Чтобы проверить значение
vm.max_map_count:
bash sysctl vm.max_map_countЕсли значение не достигает 262144, установите его на значение не менее 262144.
```bash
В этом случае мы устанавливаем его в 262144:
> sudo sysctl -w vm.max_map_count=262144
> ```
>
> Это изменение будет сброшено после перезагрузки системы. Чтобы оно сохранилось навсегда, добавьте или обновите
> значение `vm.max_map_count` в файле **/etc/sysctl.conf**:
>
> ```bash
> vm.max_map_count=262144
> ```
>
2. Клонируйте репозиторий:
```bash
git clone https://github.com/infiniflow/ragflow.git
```
3. Запустите сервер, используя предварительно собранные Docker-образы:
> [!CAUTION]
> Все Docker-образы собраны для платформ x86. В настоящее время мы не предоставляем Docker-образы для ARM64.
> Если вы используете платформу ARM64, следуйте [этому руководству](https://ragflow.io/docs/dev/build_docker_image), чтобы собрать Docker-образ, совместимый с вашей системой.
> Следующая команда скачивает образ RAGFlow версии `v0.26.4`. Смотрите следующую таблицу с описанием различных редакций RAGFlow. Чтобы скачать редакцию, отличную от `v0.26.4`, обновите переменную `RAGFLOW_IMAGE` в файле **docker/.env** перед использованием `docker compose` для запуска сервера.
```bash
cd ragflow/docker
git checkout v0.26.4
# Optional: use a stable tag (see releases: https://github.com/infiniflow/ragflow/releases)
# This step ensures the **entrypoint.sh** file in the code matches the Docker image version.
# Use CPU for DeepDoc tasks:
docker compose -f docker-compose.yml up -d
# To use GPU to accelerate DeepDoc tasks:
# sed -i '1i DEVICE=gpu' .env
# docker compose -f docker-compose.yml up -d
Примечание: До версии
v0.22.0мы предоставляли как образы с моделями эмбеддингов, так и облегчённые образы (slim) без моделей эмбеддингов. Подробности приведены в таблице ниже:
| Тег образа RAGFlow | Размер образа (ГБ) | Есть модели эмбеддингов? | Стабильный? |
|---|---|---|---|
| v0.21.1 | ≈9 | ✔️ | Стабильный релиз |
| v0.21.1-slim | ≈2 | ❌ | Стабильный релиз |
ачиная с версии
v0.22.0мы поставляем только облегчённую редакцию (slim) и больше не добавляем суффикс -slim к тегу образа.
bash
docker logs -f docker-ragflow-cpu-1
Следующий вывод подтверждает успешный запуск системы:
```bash
____ ___ ______ ______ __
/ __ \ / | / ____// ____// /____ _ __
/ /_/ // /| | / / __ / /_ / // __ \| | /| / /
/ _, _// ___ |/ /_/ // __/ / // /_/ /| |/ |/ /
/_/ |_|/_/ |_|\____//_/ /_/ \____/ |__/|__/
* Running on all addresses (0.0.0.0)
```
Если вы пропустите этот шаг подтверждения и сразу войдёте в RAGFlow, ваш браузер может показать ошибку
network abnormal, потому что в этот момент ваш RAGFlow может быть ещё полностью не инициализирован.
- В веб-браузере введите IP-адрес вашего сервера и войдите в RAGFlow.
С настройками по умолчанию вам нужно просто ввести
http://IP_ВАШЕГО_КОМПЬЮТЕРА(без номера порта), так как стандартный HTTP-порт80может быть опущен при использовании конфигурации по умолчанию.
- В файле service_conf.yaml.template выберите нужную фабрику LLM в параметре
user_default_llmи обновите полеAPI_KEYсоответствующим ключом API.Подробную информацию смотрите в llm_api_key_setup.
Всё готово к работе!
При настройке системы вам потребуется управлять следующими файлами:
SVR_HTTP_PORT, MYSQL_PASSWORD и MINIO_PASSWORD.Файл ./docker/README содержит подробное описание настроек окружения и конфигураций сервисов, которые могут использоваться как
${ENV_VARS}в файле service_conf.yaml.template.
Чтобы изменить стандартный HTTP-порт (80), перейдите в docker-compose.yml и замените 80:80 на <ВАШ_ПОРТ_СЕРВЕРА>:80.
Для вступления изменений вышеперечисленных конфигураций в силу потребуется перезапуск всех контейнеров:
bash docker compose -f docker-compose.yml up -d
RAGFlow по умолчанию использует Elasticsearch для хранения полного текста и векторов. Чтобы переключиться на Infinity, выполните следующие шаги:
bash
docker compose -f docker/docker-compose.yml down -v
[!WARNING] Флаг
-vудалит тома Docker-контейнеров, и все существующие данные будут уничтожены.
DOC_ENGINE равным infinity.bash
docker compose -f docker/docker-compose.yml up -d
[!WARNING] Переключение на Infinity на машине с Linux/arm64 пока официально не поддерживается.
Этот образ размером около 2 ГБ и зависит от внешних сервисов LLM и эмбеддингов.
git clone https://github.com/infiniflow/ragflow.git
cd ragflow/
docker build --platform linux/amd64 -f Dockerfile -t infiniflow/ragflow:nightly .
Или, если вы находитесь за прокси, вы можете передать прокси-аргументы:
docker build --platform linux/amd64 \
--build-arg http_proxy=http://YOUR_PROXY:PORT \
--build-arg https_proxy=http://YOUR_PROXY:PORT \
-f Dockerfile -t infiniflow/ragflow:nightly .
[!IMPORTANT] После первого клонирования репозитория выполните команду
git config --local --unset core.hooksPath, затемuv tool install lefthookиlefthook installиз корневой директории репозитория, чтобы активировать локальные Git-хуки.
uv или пропустите этот шаг, если он уже установлен:bash
pipx install uv
2. Клонируйте исходный код и установите зависимости Python:
bash
git clone https://github.com/infiniflow/ragflow.git
cd ragflow/
uv sync --python 3.13 # установка модулей Python, необходимых для RAGFlow
uv run python3 ragflow_deps/download_deps.py
git config --local --unset core.hooksPath
uv tool install lefthook
lefthook install
3. Запустите зависимые сервисы (MinIO, Elasticsearch, Redis и MySQL) с помощью Docker Compose:
bash
docker compose -f docker/docker-compose-base.yml up -d
Добавьте следующую строку в /etc/hosts, чтобы все хосты, указанные в файле docker/.env, резолвились в 127.0.0.1:
text
127.0.0.1 es01 infinity mysql minio redis sandbox-executor-manager
4. Если у вас нет доступа к HuggingFace, установите переменную окружения HF_ENDPOINT для использования зеркала:
bash
export HF_ENDPOINT=https://hf-mirror.com
5. Если в вашей операционной системе отсутствует jemalloc, установите его следующим образом:
bash
# Ubuntu
sudo apt-get install libjemalloc-dev
# CentOS
sudo yum install jemalloc
# OpenSUSE
sudo zypper install jemalloc
# macOS
brew install jemalloc
6. Запустите бэкенд-сервис:
bash
source .venv/bin/activate
export PYTHONPATH=$(pwd)
bash docker/launch_backend_service.sh
7. Установите зависимости фронтенда:
bash
cd web
npm install
8. Запустите фронтенд-сервис:
bash
npm run dev
Следующий вывод подтверждает успешный запуск системы:
9. После завершения разработки остановите фронтенд и бэкенд-сервисы RAGFlow:
bash
pkill -f "ragflow_server.py|task_executor.py"
Смотрите Дорожную карту RAGFlow 2026
RAGFlow процветает благодаря сотрудничеству в открытом исходном коде. В этом духе мы приветствуем разнообразные вклады сообщества. Если вы хотите стать участником, сначала ознакомьтесь с нашими Руководством по участию. ```