animetix-web / ARCHITECTURE.md
MissawB's picture
Upload folder using huggingface_hub
072bcf7 verified
|
Raw
History Blame Contribute Delete
5.93 kB

🏗️ 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-v2 quantifié 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-Base pour 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

  1. Animetix Classic : Recherche sémantique pure. Score de 0 à 100 basé sur la distance cosinus.
  2. Emoji Decode : L'IA traduit un synopsis en une série de 5 emojis complexes.
  3. 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.
  4. Akinetix (Devin) : L'inverse. L'IA pose des questions stratégiques pour réduire le cercle des candidats dans ChromaDB.
  5. 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)

  1. Ingestion : Dagster exécute des scripts d'ingestion (AniList/Jikan) stockant les données brutes dans data/raw.
  2. Raffinement & Filtrage : Les données sont nettoyées et filtrées selon des critères de popularité/qualité.
  3. Vectorisation : Les entités (animes, mangas, personnages) sont transformées en embeddings et stockées dans ChromaDB.
  4. 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 :

  1. Collecte (Backend) : Django enregistre les feedbacks via AIFeedback et les sessions de jeu via GameplaySession.
  2. Export (Port/Adapter) : La commande Django export_rlhf_data (appelée par Dagster) transforme ces entrées SQL en fichiers JSON.
  3. Préparation TRL : L'asset Dagster trl_ready_dataset convertit les feedbacks en paires Chosen/Rejected (DPO format).
  4. 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