Wait / README.md
prozart's picture
Update README.md
991e09c verified
|
Raw
History Blame Contribute Delete
3.75 kB
---
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 = "<fr> 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 (`<fr>`) et l'anglais (`<en>`). Exemples illustratifs :
| Prompt | Sortie générée |
|---|---|
| `<fr> Formalize UI: Recherche. User query: quelle est la météo à Nantes` | `Recherche des informations météo pour Nantes...` |
| `<fr> Formalize UI: Horloge. User query: donne moi l'heure à Tokyo` | `Récupération de l'heure actuelle à Tokyo...` |
| `<en> Formalize UI: Search. User query: what's the weather in Paris` | `Searching for weather information in Paris...` |
| `<en> 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.