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.

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
- 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
- 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"
- Installer RAGLite :
pip install raglite
- Installer un support frontal personnalisable de type ChatGPT :
pip install raglite[chainlit]
- Installer une prise en charge supplémentaire des types de fichiers :
pip install raglite[pandoc]
- Soutien à l'évaluation de l'installation :
pip install raglite[ragas]
Lignes directrices pour l'utilisation
- 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" )
- Configurez une base de données PostgreSQL ou SQLite et tous les modèles linguistiques pris en charge :
- 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)
- Insérer des documents PDF, les convertir et les intégrer :
- 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)
- Utilisez la recherche vectorielle, la recherche par mot-clé ou la recherche hybride pour votre requête :
- 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="")
- Réorganiser les résultats de la recherche et générer des réponses :
- 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)
- Utiliser les Ragas pour récupérer et générer des évaluations de performance :
- 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éployer des interfaces personnalisables de type ChatGPT :
© déclaration de droits d'auteur
L'article est protégé par le droit d'auteur et ne doit pas être reproduit sans autorisation.
Articles connexes
Pas de commentaires...