Skip to content

Latest commit

 

History

History
305 lines (216 loc) · 18.4 KB

README_ru.md

File metadata and controls

305 lines (216 loc) · 18.4 KB

README in English 简体中文版自述文件 繁體版中文自述文件 日本語のREADME 한국어 README en Français Bahasa Indonesia Português(Brasil) README in Arabic Türkçe README Русская версия README

подписаться на X(Twitter) Static Badge RAGFlow Docker image downloads Последний релиз лицензия

RAGFlow in the GitHub Octoverse
infiniflow%2Fragflow | Trendshift
📕 Содержание

💡 Что такое RAGFlow?

RAGFlow — ведущий open-source движок Retrieval-Augmented Generation (RAG), который объединяет передовые возможности RAG с агентными технологиями и создаёт качественный контекстный слой для больших языковых моделей. Он предлагает понятный и масштабируемый RAG-пайплайн, подходящий как для небольших проектов, так и для крупных компаний. Благодаря объединённому движку контекста и готовым шаблонам агентов RAGFlow позволяет разработчикам быстро превращать сложные данные в высокоточные production-ready AI-системы.

🎮 Начало работы

Попробуйте облачную версию: https://cloud.ragflow.io.

Для локального развёртывания см. раздел Локальное развёртывание.

Chunking demonstration Agentic workflow demonstration

🔥 Последние обновления

  • 2026-09-29 Выпущен RAGFlow 1.0.0-rc1.

  • 2026-09-10 Добавлен сбор веб-контента через sitemap.

  • 2026-08-19 Представлена Knowledge Compilation для создания Wiki, Graph, Tree, PageIndex, Mind Map, Timeline и Skills на уровне документов и наборов данных.

  • 2026-08-19 Представлен Agentic RAG с режимами рассуждения Low, Medium, High и Ultra.

  • 2026-07-02 Добавлены источник данных Google BigQuery и инкрементальная синхронизация.

Другие обновления см. в полных примечаниях к выпускам.

🎉 Следите за обновлениями

⭐️ Поставьте звезду репозиторию, чтобы не пропускать новые возможности и улучшения. Получайте уведомления о релизах!

RAGFlow feature updates

🌟 Ключевые возможности

🍭 «Качество на входе — качество на выходе»

  • Извлечение знаний на основе глубокого понимания документов из неструктурированных данных со сложным форматированием.
  • Поиск «иголки в стоге данных» при практически неограниченном количестве токенов.

🍱 Шаблонный чанкинг

  • Интеллектуальный и объяснимый.
  • Большой выбор готовых шаблонов.

🧩 Компиляция знаний (Knowledge Compilation)

  • Преобразуйте содержимое документов и наборов данных в структурированные объекты знаний: Wiki, Graph, Tree, PageIndex, Mind Map, Timeline и Skills.
  • Настраивайте модели компиляции и правила обработки, просматривайте, обновляйте и создавайте объекты знаний заново.

🧠 Агентный поиск (Agentic Retrieval)

  • Модель анализирует сложные вопросы и при необходимости разбивает их на части, ищет знания и проверяет доказательства в несколько этапов.
  • Режимы Low, Medium, High и Ultra позволяют регулировать глубину поиска и рассуждений в зависимости от сложности вопроса.

🌱 Обоснованные цитаты с минимальными галлюцинациями

  • Визуализация чанкинга с возможностью ручной корректировки.
  • Быстрый просмотр ключевых источников и отслеживаемых цитат.

🍔 Работа с разнородными источниками данных

  • Поддержка документов Word, презентаций PowerPoint, таблиц Excel, файлов TXT, изображений, PDF, сканов, структурированных данных, веб-страниц и многого другого.

🛀 Автоматизированный и простой RAG-пайплайн

  • Удобная оркестрация RAG как для личных проектов, так и для крупных компаний.
  • Настраиваемые LLM и модели эмбеддингов.
  • Множественный поиск + fused re-ranking.
  • Понятные API для простой интеграции.

🔎 Архитектура системы

RAGFlow system architecture

🏠 Локальное развёртывание

Docker подходит для быстрой оценки, интеграционных тестов и production, а запуск из исходников — для разработки и отладки. Docker не требует Go. Для исходников нужна версия Go из go.mod, а для frontend — Node.js и npm.

🐳 Развёртывание Docker

📝 Требования

  • Рекомендуемая начальная конфигурация: 4 ядра CPU, 16 ГБ RAM и 50 ГБ свободного места.
  • Docker ≥ 24.0.0, Docker Compose ≥ v2.26.1.

🚀 Запуск сервера

  1. Если вы используете Elasticsearch, задайте vm.max_map_count на хосте Docker не менее 262144. При использовании Infinity этот шаг обычно не требуется:

    Проверить текущее значение:

    sysctl vm.max_map_count

    Если вы используете Elasticsearch и значение меньше 262144, измените его:

    sudo sysctl -w vm.max_map_count=262144

    Чтобы изменение сохранилось после перезагрузки, добавьте в /etc/sysctl.conf:

    vm.max_map_count=262144
  2. git clone https://github.com/infiniflow/ragflow.git

  3. Docker:

    cd ragflow/docker
    git checkout v1.0.0-rc2
    docker compose -f docker-compose.yml up -d
  4. Проверьте состояние сервисов и готовность API:

    curl -f http://localhost/api/v1/system/healthz
    docker logs --tail 50 ragflow-cpu
  5. Откройте http://IP_OF_YOUR_MACHINE в браузере и войдите в систему. При стандартной конфигурации HTTP-порт 80 можно не указывать.

  6. Добавьте LLM, Embedding и Reranker на странице поставщиков моделей. Подробнее: llm_api_key_setup.

Подробнее см. в кратком руководстве.

⚙️ Настройка Docker

Используйте docker/.env и docker/docker-compose.yml. См. настройку Docker и сборку образа и поддержку платформ. macOS сейчас не поддерживается.

🔨 Запуск из исходников

📝 Требования

  1. Клонируйте репозиторий и установите Go из go.mod, Clang 20, LLD 20, CMake ≥ 4.0, PCRE2 и нативные библиотеки для CGO.

    git clone https://github.com/infiniflow/ragflow.git
    cd ragflow
  2. Выполните скрипты загрузки зависимостей, чтобы подготовить нативные статические библиотеки, которые линкует сборка Go (download_dev_deps.py), и ресурсы моделей / токенизаторов, которые бэкенд загружает во время выполнения (download_deps.py):

    uv run tools/scripts/download_dev_deps.py
    uv run ragflow_deps/download_deps.py

    download_dev_deps.py загружает и распаковывает pdfium, pdf_oxide, office_oxide и onnxruntime в ~/ragflow-native-libs; download_deps.py загружает словарь cl100k, модели DeepDoc и ресурсы токенизаторов эмбеддингов в ragflow_deps/. Оба скрипта — Python; uv run автоматически установит объявленные зависимости (requests, а для загрузки моделей и токенизаторов ещё и huggingface-hub). Пропустите этот шаг, если те же ресурсы уже подготовлены иным способом. При запуске из корня репозитория сервисы Go автоматически находят internal/rag/res/deepdoc; при запуске из другого каталога задайте DEEPDOC_MODEL_DIR с его абсолютным путём.

  3. Соберите сервисы:

    ./build.sh --all
  4. Запустите локальные зависимости:

    sudo sysctl -w vm.max_map_count=262144
    docker compose --env-file docker/.env -f docker/docker-compose-base.yml up -d --wait es01 mysql minio nats kvrocks
  5. Выполните миграцию базы данных:

    ./bin/ragflow_server --migrate
  6. Запустите четыре сервиса в четырёх терминалах:

    Терминал 1: Admin (9381).

    ./bin/ragflow_server --admin
    ./bin/ragflow_server --ingestor

    Терминал 3: Syncer.

    ./bin/ragflow_server --syncer

    Терминал 4: API (9380).

    ./bin/ragflow_server --api
  7. Только для frontend установите Node.js и npm и проверьте API:

    cd web
    npm install
    curl -f http://127.0.0.1:9380/api/v1/system/healthz

Подробнее см. Запуск из исходников.

Эксплуатационные примечания: для постоянной настройки Elasticsearch добавьте vm.max_map_count=262144 в /etc/sysctl.conf. При стандартном MySQL точка входа Docker выполняет миграцию перед запуском Admin, Syncer, Ingestor и API. В open-source 1.0 DeepDoc использует CPU для анализа макета, OCR и таблиц. После изменения Docker перезапустите сервисы и следуйте руководству Docker для сохранения или удаления данных. download_dev_deps.py подготавливает нативные библиотеки, а download_deps.py — модели и ресурсы токенизаторов; оба запускаются через uv run. --migrate выполняет миграцию и завершается; --admin запускает службу администрирования, --ingestor — службу загрузки данных, --syncer — службу синхронизации внешних источников данных, а --api — службу API для Web UI и SDK. HTTP 200 означает готовность API.

📚 Документация

📜 Дорожная карта

См. Дорожную карту RAGFlow на 2026 год

🏄 Сообщество

🙌 Участие в разработке

RAGFlow развивается как open-source проект. Мы рады любым вкладам сообщества. Если хотите помочь — сначала ознакомьтесь с Contribution Guidelines.