--- language: - fr license: apache-2.0 base_model: google/mt5-small pipeline_tag: text-generation tags: - mt5 - text2text-generation - french - ui-feedback - seq2seq library_name: transformers --- # mt5_fakcogni_model Modèle **mT5 (small)** fine-tuné pour générer, en français, de courtes phrases de feedback / formalisation d'interface utilisateur, à partir d'une icône UI et de la requête de l'utilisateur. Ce modèle est utilisé dans le cadre du projet **WAIT** (gestion de la latence perçue pour les interfaces LLM locales) : pendant qu'un agent conversationnel réfléchit, `mt5_fakcogni_model` génère en amont une phrase courte associée à une icône (ex. "recherche en cours", "récupération de la météo"...) afin de donner un retour visuel immédiat à l'utilisateur. Le modèle est disponible publiquement sur le Hub : [prozart/Wait](https://huggingface.co/prozart/Wait). ## Utilisation ```python from transformers import AutoTokenizer, MT5ForConditionalGeneration repo_id = "prozart/Wait" tokenizer = AutoTokenizer.from_pretrained(repo_id) model = MT5ForConditionalGeneration.from_pretrained(repo_id) prompt = " Formalize UI: Recherche. User query: quelle est la météo à Nantes" inputs = tokenizer(prompt, return_tensors="pt") outputs = model.generate(**inputs, max_length=32) print(tokenizer.decode(outputs[0], skip_special_tokens=True)) ``` ## Format du prompt d'entrée Le modèle attend un prompt structuré de la façon suivante : ``` <{lang}> Formalize UI: {icon}. User query: {clean_query} ``` - **`lang`** : code de langue cible (ex. `fr`) - **`icon`** : titre / nom de l'icône UI associée à l'action détectée (issu d'une recherche vectorielle dans une base d'icônes Lucide) - **`clean_query`** : requête de l'utilisateur, tronquée aux 12 premiers mots ## Génération La génération est effectuée avec `max_length=32`, produisant une phrase courte adaptée à un affichage UI (pas de streaming, pas de sampling avancé décrits dans le code d'inférence). ## Exemples (fictifs) Le modèle gère à la fois le français (``) et l'anglais (``). Exemples illustratifs : | Prompt | Sortie générée | |---|---| | ` Formalize UI: Recherche. User query: quelle est la météo à Nantes` | `Recherche des informations météo pour Nantes...` | | ` Formalize UI: Horloge. User query: donne moi l'heure à Tokyo` | `Récupération de l'heure actuelle à Tokyo...` | | ` Formalize UI: Search. User query: what's the weather in Paris` | `Searching for weather information in Paris...` | | ` Formalize UI: Download. User query: get me the latest report` | `Fetching the latest report...` | *(Exemples donnés à titre indicatif pour illustrer le format d'entrée/sortie, à remplacer par de vraies générations du modèle.)* ## Entraînement - Modèle de base : mT5-small - Entraîné via `Seq2SeqTrainer` (Hugging Face `transformers`) - Jeu de données généré à partir d'appels aux API Gemini et Mistral, puis dédupliqué (scripts JSONL) ## Limitations - Modèle spécialisé pour un format de prompt précis (`Formalize UI: ... User query: ...`) ; les performances hors de ce format ne sont pas garanties. - Génération limitée à des phrases courtes (`max_length=32`). - Actuellement mono-langue (français), même si le prompt prévoit un tag de langue générique. ## Contexte du projet Ce modèle fait partie du projet **WAIT**, une application FastAPI/WebSocket combinant : - une recherche sémantique d'icônes (SentenceTransformer `BAAI/bge-m3` + `sqlite-vec`), - un classifieur de format de réponse (`SLPClassifier`), - ce modèle mT5 de génération de phrases de feedback, - un agent LangGraph pour les réponses conversationnelles finales.