Cléa-API
Framework de chargement de documents, recherche hybride et RAG (vectorielle + métadonnées + génération) pour PostgreSQL + pgvector.
Conçu 100 % local & hors-ligne pour vos données sensibles (médicales, financières, juridiques…).
Accès rapides 📚
| Sujet | Documentation |
|---|---|
| Chargement & extraction | Extracteurs · Segmentation |
| Base de données & index vectoriels | Database |
| Moteur de recherche hybride | Search |
| Pipeline end-to-end | Pipeline |
| IA générative & RAG (AskAI) | AskAI |
| Référence API Python (autogen) | Doc Loader · Vectordb · Pipeline |
| OpenAPI / Endpoints REST | REST API |
Caractéristiques principales
- 🔒 100 % local & hors-ligne : aucun appel à des services externes, parfait pour les données confidentielles
- 📂 Chargement multi-formats : PDF, DOCX, HTML, JSON, TXT…
- 🧩 Segmentation hiérarchique : Section → Paragraphe → Chunk
- 🔍 Recherche hybride : ivfflat ou HNSW + filtres SQL + re-ranking Cross-Encoder
- 🤖 RAG avec petits LLMs (AskAI) : génération augmentée en local (Qwen3-0.6B/1.7B)
- ⚡ Pipeline "one-liner" :
from pipeline import process_and_store
process_and_store("report.pdf", theme="R&D")
- 🛠️ Extensible : ajoutez un extracteur ou un modèle en quelques lignes
- 🐳 Docker-ready & CI-friendly (tests PyTest, MkDocs)
Structure du dépôt
.
├── doc_loader/ # Extraction & chargement
├── vectordb/ # Modèles & recherche
├── pipeline/ # Orchestration end-to-end
├── askai/ # RAG & génération locale
├── docs/ # Documentation MkDocs ← vous êtes ici
├── demo/ # Exemples de fichiers
└── main.py # Démarreur FastAPI + configuration
Installation rapide
git clone https://github.com/votre-repo/clea-api.git
cd clea-api
# Dépendances Python
uv pip install -r requirements.txt
uv pip install -r askai/requirements_askai.txt # pour AskAI
# Variables d’environnement
cp .env.sample .env
# (éditez DB_USER, DB_PASSWORD, etc.)
# Initialiser la DB + extension pgvector
uv python -m vectordb.src.database init_db
# Lancer l’API
./start.sh # ou uv run main.py
L’API sera disponible sur http://localhost:8080.
Conçu pour un usage local et sécurisé, sans fuite de données vers le cloud. Voir le README principal pour plus de détails.