Publicado el

Guía Fácil: Instalación y Ejecución de RagFlow Localmente con DeepSeek - Un Tutorial Paso a Paso

8 min read
Autores
  • Profile picture of aithemes.net
    Nombre
    aithemes.net
    Twitter
Post image placeholder

Introducción

RagFlow es un motor innovador de RAG (Generación Aumentada por Recuperación) de código abierto desarrollado por Infiniflow, disponible en GitHub. Aprovecha la comprensión profunda de documentos para extraer conocimiento de datos no estructurados y lo combina con modelos de lenguaje grandes (LLMs), específicamente DeepSeek, para ofrecer respuestas fundamentadas y respaldadas por citas. RagFlow está diseñado para procesar documentos complejos, reducir las alucinaciones y proporcionar respuestas rastreables, lo que lo convierte en una herramienta poderosa para flujos de trabajo impulsados por IA.

En esta publicación, te guiaremos a través del proceso de instalación y ejecución de RagFlow localmente utilizando DeepSeek como el modelo LLM. Utilizaremos DeepSeek para interacciones de chat y Mistral para generar incrustaciones. Este tutorial paso a paso te ayudará a configurar el motor, configurarlo y comenzar a usarlo de manera efectiva en tu propio entorno.

Entorno de Ejecución

Nuestra evaluación de RagFlow se realizó en una máquina virtual Ubuntu ejecutándose a través de WSL (Subsistema de Windows para Linux) en una PC con Windows 11. Esta configuración proporcionó un entorno robusto y flexible para probar las capacidades de RagFlow, permitiéndonos simular escenarios de implementación del mundo real mientras aprovechamos la conveniencia de un ecosistema de desarrollo basado en Windows.

Instrucciones de Instalación

Para comenzar con RagFlow, sigue estos pasos:

  1. Clonar el Repositorio: Comienza clonando el repositorio de RagFlow desde GitHub usando el siguiente comando:

    git clone https://github.com/infiniflow/ragflow.git
    
  2. Configurar el Entorno: Navega al repositorio clonado e instala las dependencias necesarias usando el siguiente comando:

    pip install -r requirements.txt
    

Para instrucciones adicionales, consulta el repositorio oficial de RagFlow en GitHub.

Ejecución de RagFlow en Contenedores

Para simplificar el proceso de implementación, RagFlow se puede ejecutar utilizando contenedores Docker. El repositorio incluye un archivo docker-compose.yml en el directorio docker, que te permite iniciar todos los servicios necesarios con un solo comando. Para iniciar RagFlow en modo desatendido (ejecutándose en segundo plano), usa el siguiente comando:

docker compose -f docker/docker-compose.yml up -d

Este comando inicializará los contenedores necesarios y asegurará que RagFlow esté en funcionamiento, listo para su evaluación o integración en tus flujos de trabajo. Para instrucciones detalladas, consulta el repositorio oficial de RagFlow en GitHub.

Por defecto, RagFlow utiliza el puerto 80 para el servicio HTTP. Sin embargo, este puerto se puede reconfigurar para cumplir con tus requisitos específicos de implementación modificando el archivo docker-compose.yml o ajustando las variables de entorno relevantes.

Para confirmar que RagFlow se ha iniciado correctamente, puedes verificar los registros del contenedor ragflow-server usando el siguiente comando:

docker logs -f ragflow-server

Si RagFlow se está ejecutando correctamente, deberías ver una salida similar a la siguiente:

* Running on all addresses (0.0.0.0)
* Running on http://127.0.0.1:9380
* Running on http://x.x.x.x:9380
INFO:werkzeug:Press CTRL+C to quit

Esta salida indica que RagFlow está sirviendo activamente solicitudes en las direcciones y puertos especificados.

Acceso a RagFlow desde el Navegador

Para acceder a RagFlow desde tu navegador, ingresa la dirección IP de tu servidor e inicia sesión en RagFlow. En mi caso, como uso el puerto predeterminado 80 y lo ejecuto en una VM Ubuntu WSL en mi PC, simplemente navego a http://localhost.

Si eres un usuario por primera vez, necesitarás registrarte para crear una cuenta. El proceso de registro es sencillo y solo requiere una dirección de correo electrónico, un apodo y una contraseña. Una vez registrado, puedes iniciar sesión y comenzar a explorar las características de RagFlow.

Post image placeholder

Configuración de Modelos de Chat e Incrustaciones

En nuestra evaluación, utilizaremos deepseek-chat como el modelo de chat y mistral-embed como el modelo de incrustaciones. Para configurar estos modelos, sigue los pasos a continuación:

  1. Agregar Proveedores de LLM:

    • Navega a la sección de proveedores de modelos en la configuración del usuario en la interfaz de RagFlow.
    • Agrega las claves API necesarias para DeepSeek y Mistral.
    • Guarda la configuración.
    Post image placeholder
  2. Configurar los Modelos:

    • Presiona Configuración de Modelos del Sistema.
    • Selecciona deepseek-chat como el modelo de chat y mistral-embed como el modelo de incrustaciones.
    • Guarda la configuración para aplicar los cambios.
    Post image placeholder

Una vez que los modelos estén configurados, RagFlow estará listo para aprovechar DeepSeek para interacciones de chat y Mistral para generar incrustaciones.

Creación de una Base de Conocimiento y Adición de Documentos

En esta evaluación, creamos una nueva Base de Conocimiento llamada AI-papers y agregamos 20 documentos PDF recuperados de arXiv buscando la palabra clave DeepSeek. Así es como lo hicimos:

  1. Creación de la Base de Conocimiento:

    • Navega a la sección de Base de Conocimiento en la interfaz de RagFlow.
    • Crea una nueva Base de Conocimiento llamada AI-papers.
    • Guarda la configuración.
    Post image placeholder
  2. Mantener el Modo Predeterminado para la División de Documentos y el Modelo de Incrustaciones:

    • Mantuvimos el método de división predeterminado para procesar los documentos. También para el modelo de incrustaciones, mantuvimos el modelo predeterminado configurado anteriormente mistral-embed.
    Post image placeholder
  3. Agregar Documentos PDF a la Base de Conocimiento:

    • Sube los 20 documentos PDF a la Base de Conocimiento AI-papers.
    • Asegúrate de que todos los documentos estén correctamente seleccionados para su procesamiento.
    Post image placeholder
  4. Analizar Todos los Documentos como una Operación Masiva:

    • Inicia el proceso de análisis para todos los documentos cargados en masa.
    • El tiempo total para analizar los 20 documentos fue de aproximadamente 35 minutos.
    Post image placeholder

Una vez que el análisis esté completo, la Base de Conocimiento estará lista para consultas, permitiendo que RagFlow recupere y genere respuestas basadas en el contenido de los documentos cargados.

Creación de un Nuevo Asistente de Chat

Para crear un nuevo Asistente de Chat llamado AI-papers Assistant que utilice la Base de Conocimiento AI-papers, sigue estos pasos:

  1. Navega a Chat en la interfaz de RagFlow

  2. Crear un Nuevo Asistente:

    • Selecciona la opción para crear un nuevo Asistente.
    • Nómbralo AI-papers Assistant.
    • Elige la Base de Conocimiento AI-papers de las opciones disponibles.
    Assistant Setting image placeholder
  3. Configurar el Motor de Prompt y la Configuración del Modelo:

    • Mantén los valores predeterminados para las pestañas de Motor de Prompt y Configuración del Modelo.
    • En la configuración del modelo, asegúrate de que el modelo deepseek-chat esté seleccionado como se configuró anteriormente.
    Model Setting image placeholder
  4. Guardar la Configuración:

    • Guarda la configuración para finalizar la creación del AI-papers Assistant.

Después de completar estos pasos, el AI-papers Assistant estará listo para asistir a los usuarios utilizando la Base de Conocimiento AI-papers, entregando respuestas relevantes basadas en los documentos cargados.

Ejemplo de Consulta al AI-papers Assistant

Una de las consultas que puedes hacer al AI-papers Assistant es: "¿Cuáles son las innovaciones clave en el modelo DeepSeek Reasoner?" Para iniciar un chat usando el AI-papers Assistant, sigue estos pasos:

  1. Navega a la Interfaz de Chat:

    • Ve a la sección de la interfaz de chat en la aplicación RagFlow.
  2. Selecciona el AI-papers Assistant:

    • Elige AI-papers Assistant de la lista de asistentes disponibles.
  3. Haz la Pregunta:

    • Ingresa la pregunta en la interfaz de chat.
    Question and initial reply placeholder
  4. Recibe Respuestas:

    • El AI-papers Assistant responderá con información sobre las innovaciones clave en el modelo DeepSeek Reasoner, incluyendo referencias a la información fuente utilizada para la respuesta.
    End of reply and references placeholder

Conclusión

En conclusión, RagFlow presenta varias características convincentes que lo convierten en una opción atractiva para los usuarios que buscan una solución RAG efectiva:

  1. Solución de Código Abierto: Como un proyecto de código abierto, RagFlow permite a los usuarios acceder, modificar y contribuir a su desarrollo libremente.

  2. Instalación Fácil: Con contenedores Docker, la configuración y ejecución de RagFlow localmente es sencilla y eficiente, simplificando el proceso de implementación.

  3. Adaptabilidad: La plataforma es altamente adaptable, soportando una amplia selección de proveedores de LLM tanto para modelos de chat como de incrustaciones, atendiendo a diversas necesidades de los usuarios.

  4. Interfaz de Usuario Intuitiva: La interfaz de usuario de RagFlow está diseñada para ser fácil de usar, proporcionando una experiencia fluida para gestionar bases de conocimiento y participar en chats.

  5. Inclusión de Referencias: La inclusión de referencias en las respuestas del chat mejora la credibilidad de la información proporcionada, facilitando que los usuarios verifiquen las fuentes.

En general, RagFlow se destaca como una herramienta poderosa y fácil de usar para aprovechar las capacidades de la tecnología de generación aumentada por recuperación.


¿Disfrutaste este anuncio? ¿Lo encontraste útil? Siéntete libre de dejar un comentario a continuación para compartir tus pensamientos o hacer preguntas. Se requiere una cuenta de GitHub para unirse a la discusión.