Home
Login

Plateforme d'IA générative d'augmentation de la récupération intelligente (RAG) qui aide les utilisateurs à construire un deuxième cerveau, à réaliser des questions-réponses intelligentes sur les documents et à gérer les connaissances.

NOASSERTIONPython 38.0kQuivrHQ Last Updated: 2025-06-19

Présentation détaillée du projet Quivr

Aperçu du projet

Quivr est une plateforme RAG (Retrieval-Augmented Generation) open source et full-stack, axée sur l'intégration de l'IA générative dans les applications. L'idée centrale du projet est de permettre aux développeurs de se concentrer sur le produit lui-même, plutôt que sur les détails complexes de l'implémentation RAG.

Caractéristiques principales

1. Solution RAG prête à l'emploi

  • Architecture RAG figée : Fournit une solution RAG optimisée, rapide et efficace.
  • Intégration simple : Peut être ajoutée aux projets existants en quelques lignes de code.
  • Concentration sur le produit : Les développeurs n'ont pas à se soucier des détails d'implémentation sous-jacents de RAG.

2. Prise en charge de plusieurs modèles

Quivr prend en charge plusieurs modèles LLM, notamment :

  • OpenAI GPT series
  • Anthropic Claude
  • Mistral AI
  • Gemma
  • Modèles locaux (via Ollama)

3. Traitement flexible des fichiers

Prise en charge de plusieurs formats de fichiers :

  • Documents PDF
  • Fichiers texte TXT
  • Fichiers Markdown
  • Prise en charge des analyseurs personnalisés

4. RAG personnalisable

  • Ajout de la fonctionnalité de recherche sur Internet
  • Intégration de divers outils
  • Prise en charge de la configuration de flux de travail personnalisés
  • Stratégies de récupération flexibles

5. Intégration de bases de données vectorielles

Prise en charge de plusieurs solutions de stockage vectoriel :

  • PGVector
  • Faiss
  • Autres bases de données vectorielles courantes

Architecture technique

Composants principaux

  1. quivr-core : La bibliothèque principale de Quivr, le cerveau de l'ensemble du système.
  2. Intégration Megaparse : Intégration avec le projet Megaparse, offrant de puissantes capacités d'analyse de documents.
  3. Prise en charge de plusieurs LLM : Interface API unifiée prenant en charge différents modèles de langage.
  4. Couche de stockage vectoriel : Intégration flexible de bases de données vectorielles.

Flux de travail

Quivr adopte une configuration de flux de travail basée sur des nœuds :

  • STARTfilter_historyrewriteretrievegenerate_ragEND
  • Chaque nœud peut être configuré de manière personnalisée
  • Prise en charge de la gestion du contexte de conversation historique

Démarrage rapide

Exigences environnementales

  • Python 3.10 ou version ultérieure

Étapes d'installation

  1. Installation du package principal
pip install quivr-core
  1. Exemple RAG de base
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. Configuration de la clé API
import os
os.environ["OPENAI_API_KEY"] = "your_openai_api_key"

Configuration avancée

Création du fichier de configuration du flux de travail 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

Création d'un système de dialogue intelligent

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

Applications d'entreprise

Automatisation du service client

Quivr peut automatiser jusqu'à 60 % des tâches de service client, en utilisant la puissance de l'IA pour améliorer la satisfaction et la valeur des clients.

Méthodes de déploiement

  • Mode développement : Utiliser la commande docker compose -f docker-compose.dev.yml up --build
  • Environnement de production : Prise en charge de plusieurs options de déploiement
  • Plateforme cloud : Peut être déployé sur divers fournisseurs de services cloud

Communauté et contribution

Guide de contribution

  • Les Pull Requests sont les bienvenues
  • Le projet dispose d'un guide de contribution complet
  • Support et discussions communautaires actifs

Ressources documentaires

Avantages du projet

  1. Simplification du processus de développement : Abstraction de l'implémentation complexe de RAG en simples appels d'API.
  2. Hautement personnalisable : Prise en charge des flux de travail personnalisés, des modèles et de l'intégration d'outils.
  3. Prêt pour la production : Architecture optimisée, adaptée aux applications d'entreprise.
  4. Prise en charge multilingue : Prise en charge du traitement de documents et des questions-réponses dans plusieurs langues.
  5. Maintenance active : Mises à jour et améliorations continues, communauté active.

Conclusion

Quivr fournit aux développeurs une plateforme RAG puissante, flexible et facile à utiliser. Que ce soit pour des projets personnels ou des applications d'entreprise, il permet de construire rapidement des systèmes intelligents de questions-réponses sur des documents. Son caractère open source et le soutien actif de la communauté en font un choix idéal pour la construction d'applications de "deuxième cerveau".