английский | 简体中文 | 日本語 | 한국어
? Что такое RAGFlow?
? Демо
? Последние обновления
? Ключевые особенности
? Архитектура системы
? Начать
? Конфигурации
? Создайте образ Docker без внедрения моделей.
? Создайте образ Docker, включая встраивание моделей.
? Запуск сервиса из исходников для разработки
? Документация
? Дорожная карта
? Сообщество
? Содействие
RAGFlow — это движок RAG (Retrival-Augmented Generation) с открытым исходным кодом, основанный на глубоком понимании документов. Он предлагает оптимизированный рабочий процесс RAG для предприятий любого масштаба, сочетая LLM (большие языковые модели) для предоставления правдивых возможностей ответа на вопросы, подкрепленных обоснованными цитатами из различных сложных форматированных данных.
Попробуйте нашу демо-версию на https://demo.ragflow.io.
04.11.2024 Обновлены модели DLA (анализ макета документа) в deepdoc.
01.11.2024 Добавляет извлечение ключевых слов и генерацию связанных с ними вопросов в анализируемый фрагмент для повышения точности поиска.
13 сентября 2024 г. Добавлен режим поиска вопросов и ответов в базе знаний.
9 сентября 2024 г. Добавлен шаблон агента медицинского консультанта.
22 августа 2024 г. Поддержка преобразования текста в операторы SQL через RAG.
2024-08-02 Поддерживает GraphRAG, созданный на основе Graphrag и интеллект-карты.
⭐️ Поставьте лайк нашему репозиторию, чтобы быть в курсе новых интересных функций и улучшений! Получайте мгновенные уведомления о новых выпусках! ?
Извлечение знаний на основе глубокого понимания документов из неструктурированных данных сложных форматов.
Находит «иголку в стоге сена данных» из буквально неограниченного количества токенов.
Умный и объяснимый.
Множество вариантов шаблонов на выбор.
Визуализация фрагментации текста, позволяющая вмешательство человека.
Быстрый просмотр ключевых ссылок и отслеживаемых цитат для обоснования ответов.
Поддерживает Word, слайды, Excel, TXT, изображения, сканированные копии, структурированные данные, веб-страницы и многое другое.
Оптимизированная оркестрация RAG подходит как для частных лиц, так и для крупного бизнеса.
Настраиваемые LLM, а также модели внедрения.
Множественный отзыв в сочетании с объединенным повторным ранжированием.
Интуитивно понятные API для плавной интеграции с бизнесом.
ЦП >= 4 ядра
ОЗУ >= 16 ГБ
Диск >= 50 ГБ
Docker >= 24.0.0 и Docker Compose >= v2.26.1
Если вы не установили Docker на свой локальный компьютер (Windows, Mac или Linux), см. раздел Установка Docker Engine.
Убедитесь, что vm.max_map_count
>= 262144:
Чтобы проверить значение
vm.max_map_count
:$ sysctl vm.max_map_countСбросьте
vm.max_map_count
до значения не менее 262144, если это не так.# В данном случае мы устанавливаем значение 262144:$ sudo sysctl -w vm.max_map_count=262144Это изменение будет сброшено после перезагрузки системы. Чтобы гарантировать, что ваши изменения останутся постоянными, добавьте или обновите значение
vm.max_map_count
в /etc/sysctl.conf соответствующим образом:vm.max_map_count=262144
Клонировать репо:
$ git clone https://github.com/infiniflow/ragflow.git
Создайте готовые образы Docker и запустите сервер:
Команда ниже загружает образ Docker версии dev для RAGFlow slim (
dev-slim
). Обратите внимание, что тонкие образы Docker RAGFlow не включают модели внедрения или библиотеки Python и, следовательно, имеют размер примерно 1 ГБ.
$ cd ragflow/докер $ docker compose -f docker-compose.yml up -d
ПРИМЕЧАНИЕ. Размер образа Docker RAGFlow, который включает модели внедрения и библиотеки Python, составляет примерно 9 ГБ, и для его загрузки может потребоваться значительно больше времени.
Чтобы загрузить тонкий образ Docker RAGFlow определенной версии, обновите переменную RAGFlow_IMAGE
в * docker/.env * до нужной версии. Например, RAGFLOW_IMAGE=infiniflow/ragflow:v0.13.0-slim
. После внесения этого изменения повторно запустите приведенную выше команду, чтобы начать загрузку.
Чтобы загрузить версию образа RAGFlow Docker для разработчиков, включая модели внедрения и библиотеки Python, обновите переменную RAGFlow_IMAGE
в docker/.env до RAGFLOW_IMAGE=infiniflow/ragflow:dev
. После внесения этого изменения повторно запустите приведенную выше команду, чтобы начать загрузку.
Чтобы загрузить конкретную версию образа Docker RAGFlow, включая модели внедрения и библиотеки Python, обновите переменную RAGFlow_IMAGE
в docker/.env до нужной версии. Например, RAGFLOW_IMAGE=infiniflow/ragflow:v0.13.0
. После внесения этого изменения повторно запустите приведенную выше команду, чтобы начать загрузку.
Проверьте состояние сервера после его запуска и работы:
$ docker logs -f ragflow-сервер
Следующий вывод подтверждает успешный запуск системы:
____ ___ ______ ______ __ / __ / | / ____// ____// /____ _ __ / /_/ // /| | / / __ / /_ / // __ | | /| / / / _, _// ___ |/ /_/ // __/ / // /_/ /| |/ |/ / /_/ |_|/_/ |_|____//_/ /_/ ____/ |__/|__/ * Запуск по всем адресам (0.0.0.0) * Запуск по http://127.0.0.1:9380 * Запуск по http://xxxx:9380 ИНФОРМАЦИЯ:werkzeug:Нажмите CTRL+C, чтобы выйти.
Если вы пропустите этот шаг подтверждения и войдете в RAGFlow напрямую, ваш браузер может выдать
network abnormal
ошибку, поскольку в этот момент ваш RAGFlow может быть не полностью инициализирован.
В веб-браузере введите IP-адрес вашего сервера и войдите в RAGFlow.
При настройках по умолчанию вам нужно только ввести
http://IP_OF_YOUR_MACHINE
( без номера порта), поскольку порт обслуживания HTTP по умолчанию80
может быть опущен при использовании конфигураций по умолчанию.
В service_conf.yaml выберите нужную фабрику LLM в user_default_llm
и обновите поле API_KEY
соответствующим ключом API.
Дополнительную информацию см. в разделе llm_api_key_setup.
Шоу началось!
Когда дело доходит до конфигурации системы, вам необходимо будет управлять следующими файлами:
.env: сохраняет основные настройки системы, такие как SVR_HTTP_PORT
, MYSQL_PASSWORD
и MINIO_PASSWORD
.
service_conf.yaml: настраивает серверные службы.
docker-compose.yml: при запуске системы используется docker-compose.yml.
Вы должны убедиться, что изменения в файле .env соответствуют изменениям в файле service_conf.yaml.
Файл ./docker/README содержит подробное описание параметров среды и конфигураций служб, и вы ОБЯЗАНЫ убедиться, что все параметры среды, перечисленные в файле ./docker/README, соответствуют соответствующим конфигурациям в файле service_conf.yaml. .
Чтобы обновить порт обслуживания HTTP по умолчанию (80), перейдите в docker-compose.yml и измените 80:80
на <YOUR_SERVING_PORT>:80
.
Обновления вышеуказанных конфигураций требуют перезагрузки всех контейнеров, чтобы они вступили в силу:
$ docker compose -f docker/docker-compose.yml up -d
Размер этого образа составляет примерно 1 ГБ, и он зависит от внешних служб LLM и внедрения.
git клон https://github.com/infiniflow/ragflow.gitcd ragflow/ pip3 установить Huggingface-Hub nltk python3 download_deps.py docker build -f Dockerfile.slim -t infiniflow/ragflow:dev-slim .
Размер этого образа составляет примерно 9 ГБ. Поскольку он включает в себя модели внедрения, он полагается только на внешние сервисы LLM.
git клон https://github.com/infiniflow/ragflow.gitcd ragflow/ pip3 установить Huggingface-Hub nltk python3 download_deps.py docker build -f Dockerfile -t infiniflow/ragflow:dev .
Установите Poetry или пропустите этот шаг, если он уже установлен:
локон -sSL https://install.python-poetry.org | питон3 -
Клонируйте исходный код и установите зависимости Python:
git clone https://github.com/infiniflow/ragflow.gitcd ragflow/export POETRY_VIRTUALENVS_CREATE=true POETRY_VIRTUALENVS_IN_PROJECT=true~/.local/bin/poetry install --sync --no-root # установить модули Python, зависящие от RAGFlow
Запустите зависимые службы (MinIO, Elasticsearch, Redis и MySQL) с помощью Docker Compose:
docker compose -f docker/docker-compose-base.yml up -d
Добавьте следующую строку в /etc/hosts
, чтобы разрешить все хосты, указанные в docker/service_conf.yaml, в 127.0.0.1
:
127.0.0.1 es01 mysql minio redis
В docker/service_conf.yaml обновите порт mysql до 5455
и порт es до 1200
, как указано в docker/.env .
Если вы не можете получить доступ к HuggingFace, установите переменную среды HF_ENDPOINT
для использования зеркального сайта:
экспортировать HF_ENDPOINT=https://hf-mirror.com
Запускаем серверную службу:
источник .venv/bin/activateexport PYTHONPATH=$(pwd)bash docker/launch_backend_service.sh
Установите зависимости внешнего интерфейса:
компакт-диск в Интернете npm установить --force
Настройте интерфейс для обновления proxy.target
в .umirc.ts до http://127.0.0.1:9380
:
Запускаем фронтенд-сервис:
npm run dev
Следующий вывод подтверждает успешный запуск системы:
Быстрый старт
Руководство пользователя
Ссылки
Часто задаваемые вопросы
См. дорожную карту RAGFlow на 2024 год.
Раздор
Твиттер
Обсуждения на GitHub
RAGFlow процветает благодаря сотрудничеству с открытым исходным кодом. В этом духе мы приветствуем разнообразный вклад сообщества. Если вы хотите принять участие, сначала ознакомьтесь с нашими Правилами внесения взносов.