Spaces:
Running
Running
🏗️ Architecture & Fonctionnalités : Animetix
Ce document détaille les choix de conception et l'implémentation technique du projet Animetix.
1. Architecture du Système IA
Animetix repose sur une architecture RAG 2.0 (Retrieval-Augmented Generation) avancée, divisée en trois couches :
A. Couche de Représentation (Embeddings)
- Modèle :
paraphrase-multilingual-mpnet-base-v2quantifié en INT8. - Espace Latent : Les œuvres sont projetées dans un espace à 768 dimensions. La quantification dynamique réduit l'empreinte RAM de 450 Mo à ~120 Mo sans perte de précision.
- Vector Database : ChromaDB avec indexation HNSW pour des recherches de similarité en millisecondes.
B. Couche de Raisonnement (Agentic AI)
- Pattern ReAct : L'IA ne génère pas simplement du texte, elle utilise une boucle Thought -> Action -> Observation.
- Tooling : L'agent a accès à ChromaDB (mémoire sémantique), Neo4j (mémoire logique) et à la base JSON (faits bruts).
- Reranking : Utilisation de
BGE-Reranker-Basepour affiner le top 10 des résultats de recherche et garantir un score de 100% indiscutable.
C. Couche Relationnelle (Knowledge Graph)
- Neo4j : Stocke les relations entre les œuvres, les studios, les auteurs et les micro-tags générés par LLM.
- Utilité : Permet à l'IA d'expliquer pourquoi deux œuvres se ressemblent (ex: "Même studio de production").
2. Modes de Jeu & Innovation
Solo
- Animetix Classic : Recherche sémantique pure. Score de 0 à 100 basé sur la distance cosinus.
- Emoji Decode : L'IA traduit un synopsis en une série de 5 emojis complexes.
- Animinator (Oracle) : L'utilisateur pose des questions à l'IA. L'IA utilise son système d'agent pour vérifier ses connaissances avant de répondre.
- Akinetix (Devin) : L'inverse. L'IA pose des questions stratégiques pour réduire le cercle des candidats dans ChromaDB.
- Le Paradoxe : Test de logique. Trouver l'intrus parmi 3 titres grâce à l'analyse thématique du LLM.
Social (Multijoueur)
- WebSockets : Utilisation de Django Channels pour des salons de jeux instantanés.
- Undercover Online : L'IA trouve deux termes sémantiquement proches pour tromper les joueurs.
Créativité
- La Forge de l'Imaginaire : Fusion de deux univers. Utilise un LLM pour le scénario et le modèle Flux.1-schnell pour générer une illustration unique.
3. Flux de Données & Intégration
L'architecture est conçue pour être "data-driven" avec une boucle de rétroaction continue entre l'utilisateur et les modèles d'IA.
A. Cycle d'Ingestion (Data Pipeline)
- Ingestion : Dagster exécute des scripts d'ingestion (AniList/Jikan) stockant les données brutes dans
data/raw. - Raffinement & Filtrage : Les données sont nettoyées et filtrées selon des critères de popularité/qualité.
- Vectorisation : Les entités (animes, mangas, personnages) sont transformées en embeddings et stockées dans ChromaDB.
- Génération de Graphe : Les relations sont injectées dans Neo4j pour permettre le raisonnement logique.
B. Boucle de Rétroaction RLHF (Backend -> ML)
Cette boucle permet d'améliorer l'IA en fonction des interactions réelles :
- Collecte (Backend) : Django enregistre les feedbacks via
AIFeedbacket les sessions de jeu viaGameplaySession. - Export (Port/Adapter) : La commande Django
export_rlhf_data(appelée par Dagster) transforme ces entrées SQL en fichiers JSON. - Préparation TRL : L'asset Dagster
trl_ready_datasetconvertit les feedbacks en paires Chosen/Rejected (DPO format). - Fine-Tuning : Les modèles sont ré-entraînés sur ces nouvelles données pour affiner leur comportement "Otaku".
C. Inférence & Consommation (Brain API)
- Le backend communique avec la Brain API pour toutes les tâches de génération.
- La Brain API utilise les index ChromaDB et Neo4j mis à jour par le pipeline Dagster pour ses recherches RAG.
4. Organisation du Projet
Le projet suit une structure organisée pour respecter les principes de l'Architecture Hexagonale et faciliter la maintenance :
core/: Le Domaine. Contient la logique métier pure et l'intelligence centrale (brain.py). Ce dossier est indépendant des frameworks externes.backend/: L'Adapteur Driving. Application Django gérant l'interface utilisateur, les APIs et la logique de jeu.pipeline/: L'Adapteur Infrastructure. Orchestration Dagster pour l'ingestion et le traitement des données.infra/: Configurations système et déploiement (supervisord,prometheus,docker).scripts/: Utilitaires de lancement, de maintenance et d'entraînement.data/: Stockage des données à différents stades (brut, processe, modèles, vecteurs).logs/: Centralisation des journaux d'exécution.
5. Infrastructure & MLOps
- Pipeline de Données : Orchestrée par Dagster. Gère l'ingestion incrémentale (AniList, IGDB, TMDB).
- MLOps & RLHF : Collecte des feedbacks utilisateurs (AIFeedback) pour créer des datasets d'entraînement futurs.
- Automatisation Asynchrone : Celery + Redis déportent les calculs lourds (génération d'images) hors du cycle de requête HTTP.
- Observabilité :
- Prometheus : Collecte des métriques de performance.
- Grafana : Tableaux de bord de santé du système.
- Sentry : Monitoring des erreurs en temps réel.
4. Interprétabilité
- Visualisation 3D : Utilisation de UMAP pour projeter l'espace latent en 3 dimensions. Cela permet de visualiser les clusters thématiques (ex: le groupe des animes de sport vs les romances).
Document produit pour Animetix - Architecture Version 2.0