Skip to content

Assma-IBIKAS/Hybrid_Analyzer_Backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🤖 Hybrid-Analyzer 🤖

🎯 Contexte du projet

L’agence spécialisée en media monitoring souhaite automatiser l’analyse de centaines d’articles de presse reçus chaque jour.

Actuellement, le traitement est entièrement manuel, ce qui est :

  • Lent
  • CoĂ»teux
  • Difficile Ă  fiabiliser Ă  grande Ă©chelle
  • DĂ©pendant de l’expertise humaine pour catĂ©goriser et synthĂ©tiser les contenus

Pour industrialiser ce processus, la direction souhaite mettre en place une application fullstack interne, sécurisée et maintenable, capable d’orchestrer deux services d’IA externes :

  • Classification Zero-Shot (Hugging Face)

    • Modèle : facebook/bart-large-mnli
    • UtilisĂ© pour dĂ©terminer la catĂ©gorie probable d’un texte (Finance, RH, IT, OpĂ©rations, etc.)
  • Analyse et Synthèse Contextuelle (API Gemini)

    • GĂ©nĂ©ration d’un rĂ©sumĂ© ciblĂ©
    • Évaluation du ton (positif, nĂ©gatif, neutre)
    • Gemini reçoit la catĂ©gorie issue de Hugging Face comme contexte dans son prompt

La direction confie à votre équipe la conception et le développement de l’application Hybrid-Analyzer, qui doit garantir :

  • SĂ©curitĂ©
  • QualitĂ© du code
  • Orchestrations fiables
  • Logs exploitables
  • Tests automatisĂ©s

🔍 Le Besoin

L’entreprise souhaite une plateforme fullstack qui :

  1. Reçoit un texte brut (article, paragraphe, note)
  2. Envoie ce texte Ă  Hugging Face pour une classification Zero-Shot
  3. Transmet ensuite la classification à Gemini pour une synthèse contextuelle
  4. Retourne au frontend un JSON structuré contenant :
    • La catĂ©gorie prĂ©dite
    • Le score associĂ©
    • Le rĂ©sumĂ© gĂ©nĂ©rĂ©
    • Le ton dĂ©tectĂ©
  5. Gère l’ensemble du workflow de façon sécurisée (authentification + gestion d’erreurs)
  6. Fournisse une interface web claire permettant :
    • L’envoi de texte
    • L’affichage de la classification et de la synthèse
    • Un retour visuel (loading / success / erreurs)

📋 La réalisation

1. Backend (Python) – Orchestration complète

Fonctionnalités à implémenter :

  • Endpoint /analyze recevant un texte Ă  analyser
  • Appel au service Hugging Face :
    • Modèle : facebook/bart-large-mnli
    • Gestion des scores faibles, timeouts, erreurs rĂ©seau, rĂ©ponses invalides
  • Transmission du rĂ©sultat Ă  Gemini via un prompt contextualisĂ©
  • AgrĂ©gation des rĂ©ponses HF + Gemini
  • Retour d’un JSON structurĂ© au frontend
  • SĂ©curisation du backend (JWT)

2. Authentification JWT

Endpoints obligatoires :

  • POST /register
    • Enregistrer un utilisateur dans PostgreSQL
    • Stockage du mot de passe hashĂ© (bcrypt recommandĂ©)
  • POST /login
    • Renvoie un token JWT signĂ©
  • POST /analyze
    • ProtĂ©gĂ© par JWT

3. Base de Données PostgreSQL

  • Table users :
    | id | username | passwordhash | createdat |

4. Intégration Hugging Face Zero-Shot Classification

  • Utilisation de l’API Inference
  • Header d’authentification (token HF)

5. Intégration de l’API Gemini

  • Prompt Engineering incluant :
    • Le texte source
    • La catĂ©gorie prĂ©dite par Hugging Face
    • Les contraintes de synthèse (longueur, ton, structure)
  • DĂ©tection du ton : positif / neutre / nĂ©gatif
  • Gestion des erreurs Gemini (rĂ©ponses mal formĂ©es, API down)

6. Frontend (Next.js / React / HTML, CSS, JS)

Pages attendues :

  • /analyze
  • /auth : Inscription / Connexion
  • Gestion du token JWT cĂ´tĂ© client

7. Tests Unitaires et Qualité

  • Mock complet de l’API :
    • Mock Hugging Face
    • Mock Gemini

🚀 Technologies Utilisées

  • Backend : Python, FastAPI
  • Frontend : React / Next.js / HTML, CSS, JS
  • Base de donnĂ©es : PostgreSQL
  • IA externes : Hugging Face, API Gemini
  • SĂ©curitĂ© : JWT, bcrypt

Exemple de JSON retourné par /analyze

{
  "category": "Finance",
  "score": 0.87,
  "summary": "Résumé synthétique du texte fourni...",
  "tone": "positif"
}

About

Hybrid-Analyzer 📰 automatise l’analyse d’articles de presse pour une agence de media monitoring. Le back-end ⚙️ utilise Hugging Face 📊 pour classifier les textes et Gemini ✍️ pour générer un résumé et détecter le ton 🔄, le tout de manière sécurisée 🔒.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors