RAGFlow - Motor RAG de Código Abierto Basado en la Comprensión Profunda de Documentos
Resumen del Proyecto
RAGFlow es un motor RAG (Retrieval-Augmented Generation - Generación Aumentada por Recuperación) de código abierto basado en la comprensión profunda de documentos. Proporciona flujos de trabajo RAG simplificados para empresas de todos los tamaños, combinando modelos de lenguaje grandes (LLM) para ofrecer capacidades de preguntas y respuestas fiables y verificables, y proporcionando citas documentadas a partir de datos en varios formatos complejos.
Características Principales
🧠 Comprensión Profunda de Documentos
- Extracción de conocimiento basada en datos no estructurados en formatos complejos
- Soporte para la búsqueda precisa en "pajares de datos" con tokens ilimitados
- Resultados de procesamiento inteligentes y explicables
📄 Soporte de Documentos Multiformato
- Formatos soportados: Documentos de Word, presentaciones de PPT, hojas de cálculo de Excel, archivos de texto, imágenes, documentos escaneados, datos estructurados, páginas web, etc.
- Capacidades de procesamiento: Soporte de modelos multimodales para la comprensión de imágenes en archivos PDF o DOCX
- Fragmentación visual: Visualización de la fragmentación de texto, permitiendo la optimización mediante intervención manual
🎯 Recuperación y Citas Precisas
- Proporciona una visualización rápida de las referencias clave
- Fuentes de citas rastreables que respaldan respuestas basadas en hechos
- Múltiples estrategias de recuperación combinadas con re-ranking de fusión
- Extracción de palabras clave y generación de preguntas relacionadas para mejorar la precisión de la recuperación
🔧 Configuración Flexible
- LLM y modelos de incrustación configurables
- Amplias opciones de plantillas
- Múltiples opciones de configuración para la extracción y aplicación de grafos de conocimiento
- Soporte para la conversión de texto a sentencias SQL
🌐 Aplicación a Nivel Empresarial
- Orquestación RAG simplificada para individuos y grandes empresas
- API intuitiva para una integración perfecta con los sistemas empresariales
- Combinación con la búsqueda en Internet (Tavily) para soportar el razonamiento de investigación profunda para cualquier LLM
Arquitectura del Sistema
RAGFlow adopta un diseño modular, que incluye principalmente los siguientes componentes:
- Interfaz de usuario: Interfaz de usuario basada en React
- Servicios de backend: Motor de procesamiento central construido con Python
- Motor de procesamiento de documentos: Módulo de comprensión profunda de documentos DeepDoc
- Almacenamiento vectorial: Soporte para Elasticsearch e Infinity
- Almacenamiento de datos: MySQL, Redis, MinIO, etc.
- Servicios de modelos: Soporte para múltiples LLM y modelos de incrustación
Requisitos Técnicos
Configuración Mínima del Sistema
- CPU: ≥ 4 núcleos
- Memoria: ≥ 16 GB
- Espacio en disco: ≥ 50 GB
- Docker: ≥ 24.0.0
- Docker Compose: ≥ v2.26.1
Plataformas Soportadas
- Soporte principal para la plataforma x86
- La plataforma ARM64 requiere la construcción de imágenes Docker por cuenta propia
Instalación y Despliegue
Despliegue Rápido con Docker
# Clonar el repositorio
git clone https://github.com/infiniflow/ragflow.git
# Entrar en el directorio docker
cd ragflow/docker
# Iniciar el servicio (versión CPU)
docker compose -f docker-compose.yml up -d
# Iniciar el servicio (versión acelerada por GPU)
docker compose -f docker-compose-gpu.yml up -d
Descripción de las Versiones de la Imagen
Etiqueta de la imagen |
Tamaño |
Incluye modelo de incrustación |
Estabilidad |
v0.18.0 |
~9GB |
✔️ |
Versión estable |
v0.18.0-slim |
~2GB |
❌ |
Versión estable |
nightly |
~9GB |
✔️ |
Versión de desarrollo |
nightly-slim |
~2GB |
❌ |
Versión de desarrollo |
Despliegue de Desarrollo desde el Código Fuente
Soporte para iniciar un entorno de desarrollo desde el código fuente, incluyendo la configuración del entorno Python, el inicio de los servicios dependientes, el inicio de los servicios frontend y backend, etc., un proceso completo.
Gestión de la Configuración
El sistema se gestiona a través de los siguientes archivos de configuración:
- .env: Configuración básica del sistema (puerto HTTP, contraseña de la base de datos, etc.)
- service_conf.yaml.template: Configuración del servicio backend
- docker-compose.yml: Configuración de la orquestación de contenedores Docker
Escenarios de Aplicación
- Gestión del conocimiento empresarial: Construcción de un sistema de preguntas y respuestas de la base de conocimiento interna
- Análisis inteligente de documentos: Análisis y consulta inteligente de documentos en formatos complejos
- Servicio al cliente: Sistema inteligente de atención al cliente basado en la documentación de la empresa
- Asistencia a la investigación: Recuperación inteligente de literatura académica y materiales de investigación
- Análisis de datos: Consulta unificada de datos estructurados y no estructurados
RAGFlow, a través de su potente capacidad de comprensión de documentos y sus flexibles opciones de configuración, proporciona una solución RAG fiable para diversas industrias, siendo una opción ideal para la construcción de sistemas inteligentes de preguntas y respuestas.