Référence API REST
L’API REST de Yevi Core v1.0 (Licence Open Source MIT) expose l’anonymisation PII en mémoire RAM volatile (AES-256-GCM), l’ingestion de documents locaux, la recherche RAG hybride (BM25 + Dense RRF) et la consultation des journaux d’audit JSONL opposables.
Toutes les routes sont conçues pour s’exécuter en circuit fermé sans dépendance externe.
- URL de base :
http://localhost:8000(ou IP locale de l’Appliance YEVI-BOX) - Documentation interactive OpenAPI :
http://localhost:8000/docs - Référence CLI complémentaire : Consulter la Référence CLI
1. Vérification de l’état du système
Section intitulée « 1. Vérification de l’état du système »Retourne le statut opérationnel du serveur, les domaines métiers activés et les versions des composants d’inférence.
Requête
curl -X GET http://localhost:8000/Réponse (200 OK)
{ "name": "Yevi Sovereign RAG Engine", "status": "online", "version": "1.0.0", "supported_domains": ["general", "legal", "medical", "finance"], "docs_url": "/docs"}2. Anonymisation PII volatile (RAM Vault)
Section intitulée « 2. Anonymisation PII volatile (RAM Vault) »POST /anonymize
Section intitulée « POST /anonymize »Masque les informations personnelles identifiables (PII) dans un texte et retourne une correspondance réversible chiffrée en mémoire RAM volatile (découvrir l’architecture du Privacy Vault).
Corps de la requête
{ "text": "Contactez Me Jean Martin à j.martin@etude-paris.fr ou au 06 12 34 56 78 pour le virement IBAN FR76 3000 4000 1122."}Réponse (200 OK)
{ "anonymized_text": "Contactez [[PER_1]] à [[EMAIL_1]] ou au [[TEL_1]] pour le virement IBAN [[IBAN_1]].", "mapping": { "[[PER_1]]": "Me Jean Martin", "[[EMAIL_1]]": "j.martin@etude-paris.fr", "[[TEL_1]]": "06 12 34 56 78", "[[IBAN_1]]": "FR76 3000 4000 1122" }}3. Ingestion de documents
Section intitulée « 3. Ingestion de documents »POST /ingest
Section intitulée « POST /ingest »Scanne, découpe en blocs de 512 tokens et indexe des documents .txt, .md, .pdf et .docx depuis un dossier de corpus local vers ChromaDB.
Corps de la requête
{ "corpus_dir": "data/corpus_demo"}Réponse (200 OK)
{ "message": "Ingestion réussie pour 12 chunks", "chunks_count": 12}4. Requête RAG hybride & ancrage strict (is_grounded)
Section intitulée « 4. Requête RAG hybride & ancrage strict (is_grounded) »POST /query
Section intitulée « POST /query »Exécute une requête RAG complète : anonymisation PII volatile en RAM, recherche hybride BM25 + Dense avec fusion RRF (guide RAG Embeddings), inférence LLM locale (ollama, vllm, deepseek-r1), vérification mathématique des citations et restitution des entités masquées.
Corps de la requête
{ "question": "Quelle est la durée de confidentialité dans le contrat d'étude ?", "provider": "ollama", "domain": "legal", "top_k": 4, "use_hybrid": true, "strict_citations": true}Réponse (200 OK)
{ "question": "Quelle est la durée de confidentialité dans le contrat d'étude ?", "anonymized_question": "Quelle est la durée de confidentialité dans le contrat d'étude ?", "answer": "La durée de confidentialité est fixée à 5 ans [[contrat_demo#0]].", "restored_answer": "La durée de confidentialité est fixée à 5 ans [[contrat_demo#0]].", "retrieved_chunks": [ { "chunk_id": "contrat_demo#0", "doc_id": "contrat_demo", "chunk_index": 0, "text": "Article 4 - Confidentialité : Les parties s'engagent pour 5 ans...", "source_path": "data/corpus_demo/contrat_demo.txt", "distance": 0.12 } ], "cited_chunks": [ { "chunk_id": "contrat_demo#0", "doc_id": "contrat_demo", "chunk_index": 0, "text": "Article 4 - Confidentialité : Les parties s'engagent pour 5 ans...", "source_path": "data/corpus_demo/contrat_demo.txt", "distance": 0.12 } ], "is_grounded": true}5. Journal d’audit opposable (JSONL)
Section intitulée « 5. Journal d’audit opposable (JSONL) »GET /audit
Section intitulée « GET /audit »Retourne l’emplacement du journal d’audit append-only opposable pour satisfaire aux contrôles du DPO (Guide DPO & RGPD) et aux exigences de l’EU AI Act 2026.
Réponse (200 OK)
{ "audit_log_file": "/var/log/yevi/audit.jsonl"}[!NOTE] Toutes les erreurs API (401, 422, 503) renvoient un format JSON standardisé incluant l’identifiant unique de transaction pour faciliter le débogage par vos équipes SysAdmin.
🛠️ Ressources & code source
Section intitulée « 🛠️ Ressources & code source »Réservez votre audit de souveraineté
30 minutes pour évaluer votre exposition aux fuites de données vers des API externes.
Réserver mon audit gratuit