Home
Login

Plataforma inteligente de generación aumentada por recuperación (RAG) basada en IA generativa, que ayuda a los usuarios a construir un segundo cerebro, logrando preguntas y respuestas inteligentes sobre documentos y gestión del conocimiento.

NOASSERTIONPython 38.0kQuivrHQ Last Updated: 2025-06-19

Introducción Detallada al Proyecto Quivr

Resumen del Proyecto

Quivr es una plataforma de Generación Aumentada por Recuperación (RAG) de pila completa y código abierto, centrada en la integración de la IA generativa en las aplicaciones. La idea central del proyecto es permitir que los desarrolladores se concentren en el producto en sí, en lugar de en los complejos detalles de la implementación de RAG.

Características Principales

1. Solución RAG Lista para Usar

  • Arquitectura RAG Fija: Proporciona una solución RAG optimizada, rápida y eficiente.
  • Integración Sencilla: Se puede agregar a proyectos existentes con solo unas pocas líneas de código.
  • Enfoque en el Producto: Los desarrolladores no necesitan preocuparse por los detalles de implementación subyacentes de RAG.

2. Soporte Multimodelo

Quivr admite varios modelos LLM, incluyendo:

  • OpenAI GPT series
  • Anthropic Claude
  • Mistral AI
  • Gemma
  • Modelos locales (a través de Ollama)

3. Procesamiento Flexible de Archivos

Admite varios formatos de archivo:

  • Documentos PDF
  • Archivos de texto TXT
  • Archivos Markdown
  • Soporte para analizadores personalizados

4. RAG Personalizable

  • Agregar funcionalidad de búsqueda en Internet
  • Integrar varias herramientas
  • Soporte para configuración de flujo de trabajo personalizado
  • Estrategias de recuperación flexibles

5. Integración de Base de Datos Vectorial

Admite varias soluciones de almacenamiento vectorial:

  • PGVector
  • Faiss
  • Otras bases de datos vectoriales principales

Arquitectura Técnica

Componentes Centrales

  1. quivr-core: La biblioteca central de Quivr, es el cerebro de todo el sistema.
  2. Integración de Megaparse: Integrado con el proyecto Megaparse, proporciona una poderosa capacidad de análisis de documentos.
  3. Soporte Multi-LLM: Una interfaz API unificada que admite diferentes modelos de lenguaje.
  4. Capa de Almacenamiento Vectorial: Integración flexible de la base de datos vectorial.

Flujo de Trabajo

Quivr adopta una configuración de flujo de trabajo basada en nodos:

  • STARTfilter_historyrewriteretrievegenerate_ragEND
  • Cada nodo se puede configurar de forma personalizada
  • Soporte para la gestión del contexto del historial de conversación

Inicio Rápido

Requisitos del Entorno

  • Python 3.10 o superior

Pasos de Instalación

  1. Instalar el Paquete Central
pip install quivr-core
  1. Ejemplo Básico de RAG
import tempfile
from quivr_core import Brain

if __name__ == "__main__":
    with tempfile.NamedTemporaryFile(mode="w", suffix=".txt") as temp_file:
        temp_file.write("Gold is a liquid of blue-like colour.")
        temp_file.flush()
        
        brain = Brain.from_files(
            name="test_brain",
            file_paths=[temp_file.name],
        )
        
        answer = brain.ask(
            "what is gold? answer in french"
        )
        print("answer:", answer)
  1. Configurar la Clave API
import os
os.environ["OPENAI_API_KEY"] = "your_openai_api_key"

Configuración Avanzada

Crear el archivo de configuración del flujo de trabajo basic_rag_workflow.yaml:

workflow_config:
  name: "standard RAG"
  nodes:
    - name: "START"
      edges: ["filter_history"]
    - name: "filter_history"
      edges: ["rewrite"]
    - name: "rewrite"
      edges: ["retrieve"]
    - name: "retrieve"
      edges: ["generate_rag"]
    - name: "generate_rag"
      edges: ["END"]


max_history: 10


reranker_config:
  supplier: "cohere"
  model: "rerank-multilingual-v3.0"
  top_n: 5


llm_config:
  max_input_tokens: 4000
  temperature: 0.7

Crear un Sistema de Diálogo Inteligente

from quivr_core import Brain
from rich.console import Console
from rich.panel import Panel
from rich.prompt import Prompt
from quivr_core.config import RetrievalConfig

brain = Brain.from_files(
    name="my smart brain",
    file_paths=["./my_first_doc.pdf", "./my_second_doc.txt"],
)


config_file_name = "./basic_rag_workflow.yaml"
retrieval_config = RetrievalConfig.from_yaml(config_file_name)

console = Console()
console.print(Panel.fit("Ask your brain !", style="bold magenta"))

while True:
    question = Prompt.ask("[bold cyan]Question[/bold cyan]")
    
    if question.lower() == "exit":
        console.print(Panel("Goodbye!", style="bold yellow"))
        break
    
    answer = brain.ask(question, retrieval_config=retrieval_config)
    console.print(f"[bold green]Quivr Assistant[/bold green]: {answer.answer}")
    console.print("-" * console.width)

brain.print_info()

Aplicaciones Empresariales

Automatización del Servicio al Cliente

Quivr puede automatizar hasta el 60% de las tareas de servicio al cliente, utilizando el poder de la IA para aumentar la satisfacción y el valor del cliente.

Métodos de Implementación

  • Modo de Desarrollo: Utilice el comando docker compose -f docker-compose.dev.yml up --build
  • Entorno de Producción: Admite varias opciones de implementación
  • Plataforma en la Nube: Se puede implementar en varios proveedores de servicios en la nube

Comunidad y Contribuciones

Guía de Contribuciones

  • Se agradecen los envíos de Pull Requests
  • El proyecto tiene una guía de contribuciones completa
  • Soporte y discusión activos de la comunidad

Recursos de Documentación

Ventajas del Proyecto

  1. Simplifica el Proceso de Desarrollo: Abstrae la compleja implementación de RAG en simples llamadas API.
  2. Altamente Personalizable: Admite flujos de trabajo personalizados, modelos e integración de herramientas.
  3. Listo para Producción: Arquitectura optimizada, adecuada para aplicaciones empresariales.
  4. Soporte Multilingüe: Admite el procesamiento de documentos y preguntas y respuestas en varios idiomas.
  5. Mantenimiento Activo: Actualizaciones y mejoras continuas, comunidad activa.

Resumen

Quivr proporciona a los desarrolladores una plataforma RAG potente, flexible y fácil de usar. Ya sea para proyectos personales o aplicaciones empresariales, puede construir rápidamente sistemas inteligentes de preguntas y respuestas sobre documentos. Su naturaleza de código abierto y el soporte activo de la comunidad lo convierten en una opción ideal para construir aplicaciones de "segundo cerebro".