Nom produit : Aurora Nexus (repo et code historiques : Aurora RAG).
Aurora RAG est une plateforme RAG premium : elle apporte aux équipes data/knowledge une chaîne complète (ingestion, gouvernance, requêtes LLM) avec le niveau d’exigence des SI critiques. Sécurité Zéro Trust, traçabilité bout en bout, dashboards localisés multi-tenant et API industrielles en font une alternative crédible aux solutions fermées – tout en restant auto-hébergée, extensible et pensée pour les environnements réglementés.
Aurora orchestre l’ingestion (Docling), la vectorisation (OpenAI embeddings), le stockage (Qdrant + MinIO) et les requêtes (OpenRouter / LLMs privés) via un backend FastAPI, une surcouche Aurora Gateway (cache LLM + observabilité BYOK) et un dashboard Next.js riche (account KPIs, upload storytelling, assistant multilingue, recherche documentaire, monitoring jobs).
Installation 1 clic : le wizard ops/install_wizard.py collecte la configuration, génère un .env dans ops/wizard_runs/_runs/<timestamp>/ (sans toucher au .env racine) et déploie toute la stack (API, UI, Qdrant, MinIO) en une commande.
Interface d’administration moderne : pilotage complet des documents, permissions, packs métiers et KPI depuis un dashboard Next.js localisé (FR/EN/ES/DE/PT).
Catégorisation & traçabilité des sources : gestion des source_apps, filtrage des documents par packs, badges sources et journalisation complète (queries_log, embeddings_log).
Intégration rapide de vos systèmes : endpoints source_apps, documents, public_links pour connecter CRM, ATS ou référentiels internes sans développement lourd.
Sécurité de niveau SI : secrets cloisonnés, MinIO/S3, Qdrant self-hosté, audit trail, changement de mot de passe sécurisé et contrôles d’accès fins (AccessGuard).
LangChain – MIT : orchestrateur RAG mature (runnables, callbacks, observabilité) doté de centaines de connecteurs LLM et bases, idéal pour tracer chaque étape (retrieval, génération, logging) dans FastAPI.
Docling – MIT : pipeline IBM open-source spécialisé dans la normalisation documentaire (PDF, scans, OCR, tables, diagrammes) avec des modèles optimisés pour la récupération de contexte.
Qdrant – Apache‑2.0 : base vectorielle rust hautes performances, filtres payload avancés (must/should, payload indexés) et compatibilité MMR idéale pour les scénarios multi-tenant sensibles.
MinIO – AGPL‑3.0 : stockage objet 100 % compatible S3, chiffrable, multi-site, parfait pour stocker les uploads, artefacts Docling et sauvegardes sans dépendre d’un cloud tiers.
PostgreSQL – PostgreSQL License : base relationnelle robuste (transactions, JSONB, extensions analytiques) utilisée pour les métadonnées, journaux de coûts et préférences tenants.
Ces briques open-source, éprouvées en production, combinent sécurité, observabilité et extensibilité tout en évitant l’enfermement dans des offres propriétaires.
Prompts système versionnés : tables prompt_template / prompt_version (+ prompt_binding), résolveur central utilisé par RAGAS et Optimizer, seeds multi-langues (FR/EN/DE/ES/PT).
⚠️ Production : ne copiez pas .env.example vers .env dans le repo.
Utilisez le wizard (recommandé) ou un fichier d’environnement hors repo (ex. /etc/aurora/prod.env, chmod 600) et démarrez avec : docker compose --env-file /etc/aurora/prod.env up -d
Cloner le dépôt puis copier la configuration (de .env.example vers .env) en dev uniquement :
git clone https://github.com/syl2042/Aurora-Nexus.gitcd Aurora-Nexus# 1. Installer les dépendances du wizardpython3 -m venv .venv && source .venv/bin/activate # optionnel mais conseillépip install -r ops/requirements.txt# 2. Lancer l'assistant (génère un .env dans un dossier de run et lance docker compose up -d)COMPOSE_PROJECT_NAME=aurorarag_wizard python3 ops/install_wizard.py run --project-name aurorarag_wizard# 3. Vérifier le rapport final / relancer uniquement les healthcheckspython3 ops/install_wizard.py report
Le wizard écrit par défaut un .env dans ops/wizard_runs/_runs/<timestamp>/.env (sans toucher au .env racine), orchestre docker compose up -d --build, exécute ops/init_db.sh uniquement si Postgres est local, et vérifie /api/health.
Si Postgres est externe, appliquez d’abord le schéma/migrations (guide : docs/02_Installation/06-Postgres-Externe.md).
⚠️ Ports : le wizard propose par défaut des ports “standards” (UI 3000, API 8000, …) sauf si vous les changez pendant l’assistant.
À l’inverse, le fichier .env.example fournit des ports “non‑standards” (ex. UI 13500, API 18500) pour éviter les collisions sur une machine de dev.
En prod, choisissez vos ports au moment du wizard (ou dans votre .env hors repo) pour rester cohérent avec votre reverse‑proxy.
Pour éviter les erreurs d’authentification de la console MinIO, utilisez la combinaison suivante :
MINIO_SERVER_URL=http://minio:9000 → URL interne utilisée par la console pour signer les appels STS (AssumeRole).
MINIO_BROWSER_REDIRECT_URL=https://console-minio.auroramind.fr → domaine public exposé par Caddy pour l’UI console (19501 → 9001).
PUBLIC_UPLOAD_BASE_URL=https://minio.auroramind.fr → domaine public utilisé pour les URLs pré-signées (vhost distinct qui continue de réécrire Host minio:9000 pour préserver les signatures S3).
Ainsi, la console dialogue directement avec MinIO via le réseau Docker interne, tandis que les téléchargements publics et les liens pré-signés continuent de passer par minio.auroramind.fr.
API construit la chaîne LangChain (retriever Qdrant MMR) et délègue l’appel LLM à Aurora Gateway (/internal/llm/call).
Gateway : vérifie la configuration cache (cache_settings), tente un hit exact puis sémantique, résout le provider (OpenRouter/BYOK) et renvoie la réponse.
API enrichit queries_log (cache_status, provider, modèle, coût, tokens, statut) et retourne réponse + citations à l’UI.
Tasks asynchrones : RAGAS (llm_evaluation) et Optimizer (optimizer_run + optimizer_recommendation) via Celery/Redis.
Notes (multi-tours / apps externes) :
POST /api/query accepte thread_id (recommandé) pour corréler les requêtes d’une même conversation et activer les follow-ups robustes (ex: “détaille S2 / point B / 2e point”).
Pour un comportement conversationnel “enterprise safe” sans réinjecter l’historique brut, les prompts de service peuvent terminer les livrables par un bloc SUIVI machine‑parsable (voir docs/07_Reference-Tech/52-Conversations-Followups.md).
Reset data ingestion (Postgres/Qdrant/MinIO) : suivre le playbook interne (scripts ops/reset_environment.py, ops/recreate_qdrant.py, ops/init_* selon le périmètre). Pour Postgres, rejouer aurora_schema.sql suffit tant que vous n’avez pas appliqué de migrations additionnelles.
(exécuter depuis pgAdmin ou la CLI avec les identifiants appropriés ; le dump public aurora_schema.sql correspond au schéma actuel. Les scripts de migration ne seront publiés qu’à partir de la première release nécessitant une évolution de base.)
Purges Docker ciblées : voir plan de nettoyage (aucune purge automatique n’est exécutée).
Respecter les conventions internes (guidelines d’ingénierie Aurora) partagées lors de l’onboarding.
Les scripts intègrent un minimum d’hypothèses (env .env, clés via variables). Éviter toute clé en dur dans le dépôt.
ToDo principaux : étendre les tests, finaliser la doc API, améliorer la factorisation des scripts ops/.
Aurora RAG est un dépôt public ; adapter les scripts et la configuration à votre infrastructure (Postgres, secrets, CI/CD). Pour toute question technique ou onboarding, se référer aux documents dans docs/ ou contacter l’équipe support Aurora.
Préconfigurer des packs (CV, juridique, support) avec templates d’ingestion, tags, réglages RETRIEVE_K/MMR et filtres UI dédiés pour accélérer l’onboarding des équipes.
⭐⭐⭐⭐⭐
Serveur MCP Aurora
Exposer Aurora RAG via un serveur MCP (Model Context Protocol) afin d’alimenter n’importe quel LLM compatible (OpenAI, Claude, etc.) avec les documents sécurisés sans répliquer les données.
⭐⭐⭐⭐☆
Knowledge Graph + RAG Graphique
Enrichir les embeddings par un graphe de connaissances (entités/relations) pour offrir des réponses multi-sauts, des filtres relationnels et une navigation exploratoire.
⭐⭐⭐⭐☆
Recherche hybride
Fusionner scoring sémantique et lexical (BM25) pour permettre des requêtes mixtes (mots-clés + sens) avec pondérations dynamiques par tenant.
⭐⭐⭐⭐☆
Cache sémantique
Mettre en place un cache vectoriel intelligent (niveau requête + chunks) pour accélérer les questions récurrentes et réduire la facture LLM.
⭐⭐⭐⭐☆
Paramètres avancés de l’assistant
Offrir dans l’UI l’ajustement guidé de Top-K, MMR λ, température, pénalités de fréquence avec validation backend et journalisation par tenant.
⭐⭐⭐⭐☆
Internationalisation approfondie
Finaliser la localisation (settings, e-mails, docs publiques), sélectionner la langue dès l’onboarding et aligner middleware + INSTANCE_LOCALE.
MVP (actuel) – livraison prioritaire pour les 3 développeurs pilotes et les premiers clients
Téléchargements publics MinIO : corriger le flux UI, fiabiliser la génération/révocation des liens (document_public_links), ajouter journalisation + quotas.
Internationalisation & sélecteur de langue : réparer le dropdown, synchroniser INSTANCE_LOCALE/cookie NEXT_LOCALE, finaliser les traductions FR/EN/ES/PT/DE et les toasts critiques.
Installation & mises à jour guidées : refactor du wizard ops/install_wizard.py, page Northern “Installer Aurora”, ajout d’un manifeste de release + changelog in-app pour proposer les mises à jour.
Qualité & tests UI : QA responsive (chat/account/upload), complétion des tests RTL/snapshots i18n, couverture des nouveaux toasts et reporting uploaded_by.
V1 (post‑MVP) – durcissement produit + onboarding “enterprise”
Packs métiers (installables) : installation/activation de packs (ex : Finance, Juridique, RH) incluant services, workspaces, prompts de service et réglages RAG recommandés.
Wizard & reset : valider (et refactor si nécessaire) ops/install_wizard.py + scripts de reset/maintenance (tests de non‑régression, garde‑fous, runbook).
Tools (tool-calling) : cadrer et implémenter une V1 “safe” (registry + exécuteur serveur + audit/permissions) afin d’activer des actions métier pilotées par l’assistant (sans exposer de composants majeurs non validés).