🌍 Wooma African RAG Assistant
Un package Python complet développé par et pour la communauté africaine (Wooma CI), combinant un vectoriseur de documents et un assistant conversationnel (RAG) propulsé par l'IA.
🎯 Fonctionnalités
- Vectoriseur de documents (GUI) : Interface graphique élégante pour extraire et vectoriser vos données (PDF, DOCX, XLSX, PPTX, CSV, JSON, TXT) vers ChromaDB.
- Chat Assistant (Web UI) : Interface web réactive avec streaming, historique, copie de code et coloration syntaxique.
- Prêt pour l'intégration : Utilisable en ligne de commande (CLI) ou importable en tant que module dans vos propres scripts Python.
- FastAPI Ready : Montez le chat directement comme une sous-application dans vos propres projets FastAPI.
🚀 Installation
Installez simplement le package via pip :
pip install wooma-rag-assistant
Note : Assurez-vous d'avoir Ollama installé et lancé en arrière-plan pour l'inférence des modèles LLM.
💻 Cas d'utilisation
1. En ligne de commande (CLI)
Une fois installé, vous disposez de deux commandes globales dans votre terminal :
Lancer le vectoriseur (Interface Graphique) :
rag-vectorizer
Lancer le serveur Web de Chat :
rag-chat --port 8080 --model llama3.2
2. Importation dans vos propres scripts Python
Vous pouvez réutiliser la logique d'extraction de documents dans vos projets Data Science :
from pathlib import Path
from rag_assistant import DocumentProcessor, CollectionManager
# Extraire le texte et les métadonnées d'un fichier
fichier = Path("mon_document_afrique.pdf")
processeur = DocumentProcessor()
lignes, metadonnees = processeur.process_file(fichier)
print(f"Extractions : {len(lignes)} fragments.")
# Voir vos collections ChromaDB
manager = CollectionManager()
print(manager.list_collections())
3. Intégration dans une API (FastAPI)
Vous développez déjà une API FastAPI ? Montez notre application RAG en une seule ligne de code :
import uvicorn
from fastapi import FastAPI
from rag_assistant import app as rag_app
mon_api = FastAPI()
@mon_api.get("/hello")
def hello():
return {"message": "Bienvenue sur mon API"}
# Intégrer l'assistant RAG sous l'URL /rag
mon_api.mount("/rag", rag_app)
if __name__ == "__main__":
uvicorn.run(mon_api, host="127.0.0.1", port=8000)
Rendez-vous ensuite sur http://localhost:8000/rag/ !
🤝 Contribution
Vos contributions (Pull Requests) sont les bienvenues pour améliorer cet outil !
Metadata
Release files for wooma-rag-assistant 0.1.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| wooma_rag_assistant-0.1.6.tar.gz | 494.5 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| wooma_rag_assistant-0.1.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 985.9 kB
Release files / wooma_rag_assistant-0.1.6.tar.gz
| Download URL | wooma_rag_assistant-0.1.6.tar.gz |
|---|---|
| Size | 494.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3ce3a7fc784c55315f3e6ba5ef189c60157797c85dbe54dde66619f179d35032
|
|
BLAKE2b-256 checksum How to use checksums |
a718e585a5e1254379a44db2049303adcadfbe59e5c33ed3c2105ef8d58e7e39
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.9
|
Release files / wooma_rag_assistant-0.1.6-py3-none-any.whl
| Download URL | wooma_rag_assistant-0.1.6-py3-none-any.whl |
|---|---|
| Size | 491.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c1358a21cac3bc2d8e1202d5991b83b1ec2065de366495871a025b7c37995962
|
|
BLAKE2b-256 checksum How to use checksums |
739ac5d8dcedc17ecefcf9b921b84f97e18f5e8e1ac47a9fa17e5c66ebcafe06
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.9
|
Security for wooma-rag-assistant 0.1.6
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.