Quivr ist eine Open-Source-Full-Stack-Plattform für Retrieval-Augmented Generation (RAG), die sich auf die Integration generativer KI in Anwendungen konzentriert. Die Kernidee des Projekts ist es, Entwicklern zu ermöglichen, sich auf das Produkt selbst zu konzentrieren, anstatt auf komplexe RAG-Implementierungsdetails.
Quivr unterstützt verschiedene LLM-Modelle, darunter:
Unterstützt verschiedene Dateiformate:
Unterstützt verschiedene Vektorspeicherlösungen:
Quivr verwendet eine knotenbasierte Workflow-Konfiguration:
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"
Erstellen Sie eine Workflow-Konfigurationsdatei 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 kann bis zu 60 % der Kundenserviceaufgaben automatisieren und die Leistungsfähigkeit von KI nutzen, um die Kundenzufriedenheit und den Wert zu steigern.
Quivr bietet Entwicklern eine leistungsstarke, flexible und einfach zu bedienende RAG-Plattform. Ob für persönliche Projekte oder Enterprise-Anwendungen, es ermöglicht die schnelle Erstellung intelligenter Dokumenten-Frage-Antwort-Systeme. Seine Open-Source-Natur und die aktive Community-Unterstützung machen es zu einer idealen Wahl für die Entwicklung von Anwendungen für ein "zweites Gehirn".