prozart commited on
Commit
5bb82c6
·
verified ·
1 Parent(s): 6c87395

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +70 -0
README.md CHANGED
@@ -1,3 +1,73 @@
1
  ---
 
 
2
  license: apache-2.0
 
 
 
 
 
 
 
 
 
3
  ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
+ language:
3
+ - fr
4
  license: apache-2.0
5
+ base_model: google/mt5-small
6
+ pipeline_tag: text2text-generation
7
+ tags:
8
+ - mt5
9
+ - text2text-generation
10
+ - french
11
+ - ui-feedback
12
+ - seq2seq
13
+ library_name: transformers
14
  ---
15
+
16
+ # mt5_fakcogni_model
17
+
18
+ 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.
19
+
20
+ 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.
21
+
22
+ Le modèle est disponible publiquement sur le Hub : [prozart/Wait](https://huggingface.co/prozart/Wait).
23
+
24
+ ## Utilisation
25
+
26
+ ```python
27
+ from transformers import AutoTokenizer, MT5ForConditionalGeneration
28
+
29
+ repo_id = "prozart/Wait"
30
+ tokenizer = AutoTokenizer.from_pretrained(repo_id)
31
+ model = MT5ForConditionalGeneration.from_pretrained(repo_id)
32
+
33
+ prompt = "<fr> Formalize UI: Recherche. User query: quelle est la météo à Nantes"
34
+ inputs = tokenizer(prompt, return_tensors="pt")
35
+ outputs = model.generate(**inputs, max_length=32)
36
+ print(tokenizer.decode(outputs[0], skip_special_tokens=True))
37
+ ```
38
+
39
+ ## Format du prompt d'entrée
40
+
41
+ Le modèle attend un prompt structuré de la façon suivante :
42
+
43
+ ```
44
+ <{lang}> Formalize UI: {icon}. User query: {clean_query}
45
+ ```
46
+
47
+ - **`lang`** : code de langue cible (ex. `fr`)
48
+ - **`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)
49
+ - **`clean_query`** : requête de l'utilisateur, tronquée aux 12 premiers mots
50
+
51
+ ## Génération
52
+
53
+ 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).
54
+
55
+ ## Entraînement
56
+
57
+ - Modèle de base : mT5-small
58
+ - Entraîné via `Seq2SeqTrainer` (Hugging Face `transformers`)
59
+ - Jeu de données généré à partir d'appels aux API Gemini et Mistral, puis dédupliqué (scripts JSONL)
60
+
61
+ ## Limitations
62
+
63
+ - 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.
64
+ - Génération limitée à des phrases courtes (`max_length=32`).
65
+ - Actuellement mono-langue (français), même si le prompt prévoit un tag de langue générique.
66
+
67
+ ## Contexte du projet
68
+
69
+ Ce modèle fait partie du projet **WAIT**, une application FastAPI/WebSocket combinant :
70
+ - une recherche sémantique d'icônes (SentenceTransformer `BAAI/bge-m3` + `sqlite-vec`),
71
+ - un classifieur de format de réponse (`SLPClassifier`),
72
+ - ce modèle mT5 de génération de phrases de feedback,
73
+ - un agent LangGraph pour les réponses conversationnelles finales.