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.
Quivr admite varios modelos LLM, incluyendo:
Admite varios formatos de archivo:
Admite varias soluciones de almacenamiento vectorial:
Quivr adopta una configuración de flujo de trabajo basada en nodos:
pip install quivr-core
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)
import os
os.environ["OPENAI_API_KEY"] = "your_openai_api_key"
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
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()
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.
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".