Home
Login

Eine generative KI-basierte intelligente Retrieval-Augmented Generation (RAG)-Plattform, die Benutzern hilft, ein zweites Gehirn aufzubauen und intelligente Dokumentenfragen und Wissensmanagement zu realisieren.

NOASSERTIONPython 38.0kQuivrHQ Last Updated: 2025-06-19

Quivr Projekt – Detaillierte Vorstellung

Projektübersicht

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.

Kernfunktionen

1. Out-of-the-Box RAG-Lösung

  • Festgelegte RAG-Architektur: Bietet eine optimierte, schnelle und effiziente RAG-Lösung
  • Einfache Integration: Kann mit nur wenigen Codezeilen zu bestehenden Projekten hinzugefügt werden
  • Fokus auf das Produkt: Entwickler müssen sich nicht um die zugrunde liegenden Implementierungsdetails von RAG kümmern

2. Unterstützung mehrerer Modelle

Quivr unterstützt verschiedene LLM-Modelle, darunter:

  • OpenAI GPT-Serie
  • Anthropic Claude
  • Mistral AI
  • Gemma
  • Lokale Modelle (über Ollama)

3. Flexible Dateiverarbeitung

Unterstützt verschiedene Dateiformate:

  • PDF-Dokumente
  • TXT-Textdateien
  • Markdown-Dateien
  • Unterstützung für benutzerdefinierte Parser

4. Anpassbares RAG

  • Hinzufügen von Internetsuchfunktionen
  • Integration verschiedener Tools
  • Unterstützung für benutzerdefinierte Workflow-Konfigurationen
  • Flexible Abrufstrategien

5. Vektor-Datenbankintegration

Unterstützt verschiedene Vektorspeicherlösungen:

  • PGVector
  • Faiss
  • Andere gängige Vektor-Datenbanken

Technische Architektur

Kernkomponenten

  1. quivr-core: Die Kernbibliothek von Quivr, das Gehirn des gesamten Systems
  2. Megaparse-Integration: Integration mit dem Megaparse-Projekt, um leistungsstarke Dokumentenanalysefunktionen bereitzustellen
  3. Unterstützung mehrerer LLMs: Einheitliche API-Schnittstelle zur Unterstützung verschiedener Sprachmodelle
  4. Vektorspeicherschicht: Flexible Vektor-Datenbankintegration

Arbeitsablauf

Quivr verwendet eine knotenbasierte Workflow-Konfiguration:

  • STARTfilter_historyrewriteretrievegenerate_ragEND
  • Jeder Knoten kann individuell konfiguriert werden
  • Unterstützung für die Verwaltung des historischen Gesprächskontexts

Schnellstart

Systemanforderungen

  • Python 3.10 oder höher

Installationsschritte

  1. Installation des Kernpakets
pip install quivr-core
  1. Grundlegendes RAG-Beispiel
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. Konfiguration des API-Schlüssels
import os
os.environ["OPENAI_API_KEY"] = "your_openai_api_key"

Erweiterte Konfiguration

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

Erstellen eines intelligenten Dialogsystems

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()

Enterprise-Anwendungen

Kundenservice-Automatisierung

Quivr kann bis zu 60 % der Kundenserviceaufgaben automatisieren und die Leistungsfähigkeit von KI nutzen, um die Kundenzufriedenheit und den Wert zu steigern.

Bereitstellungsmethoden

  • Entwicklungsmodus: Verwenden Sie den Befehl docker compose -f docker-compose.dev.yml up --build
  • Produktionsumgebung: Unterstützt verschiedene Bereitstellungsoptionen
  • Cloud-Plattform: Kann auf verschiedenen Cloud-Dienstanbietern bereitgestellt werden

Community und Beiträge

Richtlinien für Beiträge

  • Pull Requests sind willkommen
  • Das Projekt verfügt über vollständige Richtlinien für Beiträge
  • Aktive Community-Unterstützung und Diskussionen

Dokumentationsressourcen

Projektvorteile

  1. Vereinfachter Entwicklungsprozess: Abstrahiert die komplexe RAG-Implementierung in einfache API-Aufrufe
  2. Hohe Anpassbarkeit: Unterstützt benutzerdefinierte Workflows, Modelle und Tool-Integrationen
  3. Produktionsbereit: Optimierte Architektur, geeignet für Enterprise-Anwendungen
  4. Mehrsprachige Unterstützung: Unterstützt die Verarbeitung und Beantwortung von Dokumenten in verschiedenen Sprachen
  5. Aktive Wartung: Kontinuierliche Aktualisierungen und Verbesserungen, aktive Community

Zusammenfassung

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".