RAGLite : un outil efficace de génération d'augmentation de la recherche (RAG) qui prend en charge plusieurs bases de données et modèles linguistiques.

Introduction générale

RAGLite est une boîte à outils Python pour la Génération Augmentée de Récupération (RAG) qui prend en charge les bases de données PostgreSQL ou SQLite. Il offre des options de configuration flexibles qui permettent aux utilisateurs de choisir différents modèles de langage et réordonnateurs. RAGLite est connu pour ses fonctionnalités légères et efficaces, fonctionne sur une large gamme de systèmes d'exploitation et prend en charge une variété d'options d'accélération, telles que Metal et CUDA.

RAGLite:高效的检索增强生成(RAG)工具,支持多种数据库和语言模型。

 

Liste des fonctions

  • Prise en charge de plusieurs modèles linguistiques, y compris les modèles natifs llama-cpp-python
  • Prise en charge de PostgreSQL et SQLite en tant que bases de données de recherche par mots-clés et de recherche vectorielle
  • Plusieurs options de réorganisation sont disponibles, y compris le FlashRank multilingue.
  • Dépendances légères, pas besoin de PyTorch ou de LangChain !
  • Prise en charge de la conversion de PDF en Markdown
  • Encastrement multi-vectoriel et en-têtes de blocs contextuels
  • Fournit des informations personnalisables ChatGPT Front-end de classe avec prise en charge du Web, de Slack et de Teams
  • Prise en charge de l'insertion et de la récupération de documents pour plusieurs types de fichiers
  • Fournir des outils pour récupérer et générer des évaluations de performance

 

Utiliser l'aide

Processus d'installation

  1. Installer le modèle de phrase multilingue de spaCy :
    pip install https://github.com/explosion/spacy-models/releases/download/xx_sent_ud_sm-3.7.0/xx_sent_ud_sm-3.7.0-py3-none-any.whl
    
  2. Installez le binaire précompilé accéléré llama-cpp-python (facultatif mais recommandé) :
    LLAMA_CPP_PYTHON_VERSION=0.2.88 PYTHON_VERSION=310 ACCELERATOR=metal | cu121 | cu122 | cu123 | cu124 PLATFORM=macosx_11_0_arm64 | linux_x86_64 | win_amd64
    pip install "https://github.com/abetlen/llama-cpp-python/releases/download/v$LLAMA_CPP_PYTHON_VERSION-$ACCELERATOR/llama_cpp_python-$LLAMA_CPP_PYTHON_VERSION-cp$PYTHON_VERSION-cp$PYTHON_VERSION-$PLATFORM.whl"
    
  3. Installer RAGLite :
    pip install raglite
    
  4. Installer un support frontal personnalisable de type ChatGPT :
    pip install raglite[chainlit]
    
  5. Installer une prise en charge supplémentaire des types de fichiers :
    pip install raglite[pandoc]
    
  6. Soutien à l'évaluation de l'installation :
    pip install raglite[ragas]
    

Lignes directrices pour l'utilisation

  1. Configuration de RAGLite: :
    • Configurez une base de données PostgreSQL ou SQLite et tous les modèles linguistiques pris en charge :
      from raglite import RAGLiteConfig
      my_config = RAGLiteConfig(
      db_url="postgresql://my_username:my_password@my_host:5432/my_database",
      llm="gpt-4o-mini",
      embedder="text-embedding-3-large"
      )
      
  2. Insertion de documents: :
    • Insérer des documents PDF, les convertir et les intégrer :
      from pathlib import Path
      from raglite import insert_document
      insert_document(Path("On the Measure of Intelligence.pdf"), config=my_config)
      
  3. Récupération et génération: :
    • Utilisez la recherche vectorielle, la recherche par mot-clé ou la recherche hybride pour votre requête :
      from raglite import hybrid_search, keyword_search, vector_search
      prompt = "How is intelligence measured?"
      chunk_ids_hybrid, _ = hybrid_search(prompt, num_results=20, config=my_config)
      
  4. Réorganiser les questions et y répondre: :
    • Réorganiser les résultats de la recherche et générer des réponses :
      from raglite import rerank_chunks, rag
      chunks_reranked = rerank_chunks(prompt, chunk_ids_hybrid, config=my_config)
      stream = rag(prompt, search=chunks_reranked, config=my_config)
      for update in stream:
      print(update, end="")
      
  5. Récupération et génération d'évaluations: :
    • Utiliser les Ragas pour récupérer et générer des évaluations de performance :
      from raglite import answer_evals, evaluate, insert_evals
      insert_evals(num_evals=100, config=my_config)
      answered_evals_df = answer_evals(num_evals=10, config=my_config)
      evaluation_df = evaluate(answered_evals_df, config=my_config)
      
  6. Déployer un front-end de type ChatGPT: :
    • Déployer des interfaces personnalisables de type ChatGPT :
      raglite chainlit --db_url sqlite:///raglite.sqlite --llm llama-cpp-python/bartowski/Llama-3.2-3B-Instruct-GGUF/*Q4_K_M.gguf@4096 --embedder llama-cpp-python/lm-kit/bge-m3-gguf/*F16.gguf
      
© déclaration de droits d'auteur
AiPPT

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...