Inglés | 简体中文 | 日本語 | 한국어
? ¿Qué es RAGFlow?
? Manifestación
? Últimas actualizaciones
? Características clave
? Arquitectura del sistema
? Empezar
? Configuraciones
? Cree una imagen acoplable sin incrustar modelos
? Cree una imagen acoplable que incluya modelos integrados
? Lanzar el servicio desde la fuente para el desarrollo.
? Documentación
? Hoja de ruta
? Comunidad
? Contribuyendo
RAGFlow es un motor RAG (Recuperación-Generación Aumentada) de código abierto basado en una comprensión profunda de los documentos. Ofrece un flujo de trabajo RAG optimizado para empresas de cualquier escala, combinando LLM (Large Language Models) para brindar capacidades veraces de respuesta a preguntas, respaldadas por citas bien fundadas de varios datos con formato complejo.
Pruebe nuestra demostración en https://demo.ragflow.io.
2024-11-04 Actualiza los modelos DLA (Document Layout Analyse) en deepdoc.
2024-11-01 Agrega extracción de palabras clave y generación de preguntas relacionadas al fragmento analizado para mejorar la precisión de la recuperación.
2024-09-13 Agrega el modo de búsqueda para preguntas y respuestas de la base de conocimientos.
2024-09-09 Agrega una plantilla de agente consultor médico.
2024-08-22 Soporte de texto a sentencias SQL a través de RAG.
2024-08-02 Admite GraphRAG inspirado en Graphrag y mapas mentales.
⭐️ Destaca nuestro repositorio para mantenerte actualizado con nuevas funciones y mejoras interesantes. ¡Recibe notificaciones instantáneas de nuevos lanzamientos! ?
Extracción profunda de conocimientos basada en la comprensión de documentos a partir de datos no estructurados con formatos complicados.
Encuentra "una aguja en un pajar de datos" de tokens literalmente ilimitados.
Inteligente y explicable.
Muchas opciones de plantillas para elegir.
Visualización de fragmentos de texto para permitir la intervención humana.
Vista rápida de las referencias clave y citas rastreables para respaldar respuestas fundamentadas.
Admite Word, diapositivas, Excel, txt, imágenes, copias escaneadas, datos estructurados, páginas web y más.
La orquestación RAG optimizada está dirigida tanto a particulares como a grandes empresas.
LLM configurables y modelos integrados.
Retiro múltiple combinado con reclasificación fusionada.
API intuitivas para una integración perfecta con las empresas.
CPU >= 4 núcleos
RAM >= 16GB
Disco >= 50 GB
Docker >= 24.0.0 y Docker Compose >= v2.26.1
Si no ha instalado Docker en su máquina local (Windows, Mac o Linux), consulte Instalar Docker Engine.
Asegúrese de que vm.max_map_count
>= 262144:
Para comprobar el valor de
vm.max_map_count
:$sysctlvm.max_map_countRestablezca
vm.max_map_count
a un valor de al menos 262144 si no es así.# En este caso, lo configuramos en 262144:$ sudo sysctl -w vm.max_map_count=262144Este cambio se restablecerá después de reiniciar el sistema. Para garantizar que su cambio permanezca permanente, agregue o actualice el valor
vm.max_map_count
en /etc/sysctl.conf en consecuencia:vm.max_map_count=262144
Clona el repositorio:
$ git clon https://github.com/infiniflow/ragflow.git
Cree las imágenes de Docker prediseñadas e inicie el servidor:
El siguiente comando descarga la imagen de Docker de la versión de desarrollo para RAGFlow slim (
dev-slim
). Tenga en cuenta que las imágenes Docker delgadas de RAGFlow no incluyen modelos integrados ni bibliotecas de Python y, por lo tanto, tienen un tamaño aproximado de 1 GB.
$ cd flujo de rag/docker $ docker compose -f docker-compose.yml arriba -d
NOTA: Una imagen de RAGFlow Docker que incluye modelos integrados y bibliotecas de Python tiene un tamaño aproximado de 9 GB y puede tardar mucho más en cargarse.
Para descargar una imagen Docker delgada de RAGFlow de una versión específica, actualice la variable RAGFlow_IMAGE
en * docker/.env * a su versión deseada. Por ejemplo, RAGFLOW_IMAGE=infiniflow/ragflow:v0.13.0-slim
. Después de realizar este cambio, vuelva a ejecutar el comando anterior para iniciar la descarga.
Para descargar la versión de desarrollo de la imagen de RAGFlow Docker, incluidos los modelos integrados y las bibliotecas de Python, actualice la variable RAGFlow_IMAGE
en docker/.env a RAGFLOW_IMAGE=infiniflow/ragflow:dev
. Después de realizar este cambio, vuelva a ejecutar el comando anterior para iniciar la descarga.
Para descargar una versión específica de la imagen de RAGFlow Docker, incluidos los modelos integrados y las bibliotecas de Python, actualice la variable RAGFlow_IMAGE
en docker/.env a la versión que desee. Por ejemplo, RAGFLOW_IMAGE=infiniflow/ragflow:v0.13.0
. Después de realizar este cambio, vuelva a ejecutar el comando anterior para iniciar la descarga.
Verifique el estado del servidor después de tenerlo en funcionamiento:
$ registros de Docker -f servidor-ragflow
El siguiente resultado confirma un lanzamiento exitoso del sistema:
____ ___ ______ ______ __ / __ / | / ____// ____// /____ _ __ / /_/ // /| | / / __ / /_ / // __ | | /| / / / _, _// ___ |/ /_/ // __/ / // /_/ /| |/ |/ / /_/ |_|/_/ |_|____//_/ /_/ ____/ |__/|__/ * Ejecutándose en todas las direcciones (0.0.0.0) * Ejecutándose en http://127.0.0.1:9380 * Ejecutándose en http://xxxx:9380 INFORMACIÓN:werkzeug:Presione CTRL+C para salir
Si omite este paso de confirmación e inicia sesión directamente en RAGFlow, su navegador puede mostrar un error
network abnormal
porque, en ese momento, es posible que su RAGFlow no esté completamente inicializado.
En su navegador web, ingrese la dirección IP de su servidor e inicie sesión en RAGFlow.
Con la configuración predeterminada, solo necesita ingresar
http://IP_OF_YOUR_MACHINE
( sin número de puerto), ya que el puerto de servicio HTTP predeterminado80
se puede omitir cuando se utilizan las configuraciones predeterminadas.
En service_conf.yaml, seleccione la fábrica LLM deseada en user_default_llm
y actualice el campo API_KEY
con la clave API correspondiente.
Consulte llm_api_key_setup para obtener más información.
¡El espectáculo está en marcha!
Cuando se trata de configuraciones del sistema, deberá administrar los siguientes archivos:
.env: Mantiene las configuraciones fundamentales del sistema, como SVR_HTTP_PORT
, MYSQL_PASSWORD
y MINIO_PASSWORD
.
service_conf.yaml: configura los servicios back-end.
docker-compose.yml: el sistema depende de docker-compose.yml para iniciarse.
Debe asegurarse de que los cambios en el archivo .env estén en línea con lo que hay en el archivo service_conf.yaml.
El archivo ./docker/README proporciona una descripción detallada de las configuraciones del entorno y del servicio, y usted debe asegurarse de que todas las configuraciones del entorno enumeradas en el archivo ./docker/README estén alineadas con las configuraciones correspondientes en el archivo service_conf.yaml. .
Para actualizar el puerto de servicio HTTP predeterminado (80), vaya a docker-compose.yml y cambie 80:80
a <YOUR_SERVING_PORT>:80
.
Las actualizaciones de las configuraciones anteriores requieren un reinicio de todos los contenedores para que surtan efecto:
$ docker compose -f docker/docker-compose.yml arriba -d
Esta imagen tiene un tamaño aproximado de 1 GB y depende de LLM externos y servicios de integración.
clon de git https://github.com/infiniflow/ragflow.gitcd ragflow/ pip3 instalar huggingface-hub nltk python3 descargar_deps.py docker build -f Dockerfile.slim -t infiniflow/ragflow:dev-slim.
Esta imagen tiene un tamaño aproximado de 9 GB. Como incluye modelos integrados, se basa únicamente en servicios LLM externos.
clon de git https://github.com/infiniflow/ragflow.gitcd ragflow/ pip3 instalar huggingface-hub nltk python3 descargar_deps.py docker build -f Dockerfile -t infiniflow/ragflow:dev.
Instale Poetry u omita este paso si ya está instalado:
curl -sSL https://install.python-poetry.org | python3 -
Clona el código fuente e instala las dependencias de 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 # instala los módulos de Python dependientes de RAGFlow
Inicie los servicios dependientes (MinIO, Elasticsearch, Redis y MySQL) usando Docker Compose:
ventana acoplable componer -f ventana acoplable/docker-compose-base.yml arriba -d
Agregue la siguiente línea a /etc/hosts
para resolver todos los hosts especificados en docker/service_conf.yaml a 127.0.0.1
:
127.0.0.1 es01 mysql minio redis
En docker/service_conf.yaml , actualice el puerto mysql a 5455
y el puerto es a 1200
, como se especifica en docker/.env .
Si no puede acceder a HuggingFace, configure la variable de entorno HF_ENDPOINT
para usar un sitio espejo:
exportar HF_ENDPOINT=https://hf-mirror.com
Inicie el servicio backend:
fuente .venv/bin/activateexport PYTHONPATH=$(pwd)bash docker/launch_backend_service.sh
Instalar dependencias de interfaz:
CD web instalación npm --force
Configure la interfaz para actualizar proxy.target
en .umirc.ts a http://127.0.0.1:9380
:
Lanzar servicio frontend:
npm ejecutar desarrollador
El siguiente resultado confirma un lanzamiento exitoso del sistema:
Inicio rápido
guía de usuario
Referencias
Preguntas frecuentes
Consulte la hoja de ruta de RAGFlow 2024
Discordia
Gorjeo
Discusiones de GitHub
RAGFlow prospera gracias a la colaboración de código abierto. Con este espíritu, aceptamos diversas contribuciones de la comunidad. Si desea ser parte, revise primero nuestras Pautas de contribución.