Wyat, un modèle de décision français
Wyat est un modèle de décision français qui tourne en local. Votre application fournit un message et la liste des options qu'elle autorise. Wyat évalue chaque option sur votre machine et renvoie l'identifiant de l'une d'elles, avec une distribution de probabilités complète. Rien n'est envoyé sur le réseau.
Qu'est-ce qu'un modèle de décision ?
Un modèle de langage génère du texte libre, qu'il faut ensuite interpréter. Un modèle de décision répond dans un ensemble fermé : il ne peut renvoyer qu'une des options que vous avez définies. Il n'y a donc pas de réponse hors liste à filtrer, et chaque option reçoit un score, ce qui permet de voir à quel point le choix était serré.
Choisir une option ne l'exécute pas. Wyat renvoie un identifiant ; c'est votre code qui décide quoi en faire, par exemple en le cherchant dans sa propre table d'actions autorisées.
Trois types de tâches
- Choix : quelle option ? Par exemple, vers quelle file envoyer un message de support.
- Score : où sur une échelle ordonnée ? Par exemple, l'urgence d'une demande, de « peut attendre » à « maintenant ».
- Noul : oui ou non, et avec quelle probabilité ? Par exemple, « la réponse est-elle appuyée par la source ? ».
Wyat fonctionne au mieux en français et donne aussi de très bons résultats en anglais.
Exemple
import wyat
# Le premier chargement télécharge le modèle et le vérifie.
model = wyat.load("teilomillet/wyat-1-600m")
decision = model.decide(wyat.Request.choice(
"Quelle file doit traiter ce message ?",
{
"facturation": "Paiements, factures, remboursements",
"technique": "Bugs et erreurs",
"humain": "Pas clair : demander à une personne",
},
context="On m'a prélevé deux fois ce mois-ci.",
))
decision.selected # l'identifiant choisi, par exemple "facturation"
decision.probabilities_by_id # une probabilité pour chaque option
Le premier chargement télécharge le modèle depuis Hugging Face et vérifie chaque fichier par des empreintes fixées ; ensuite, il se charge depuis votre machine. Il se charge une fois et sert pour autant de décisions que nécessaire, une par une ou par lots.
Pourquoi le faire en local ?
- Confidentialité : les messages restent sur votre machine ; l'inférence n'envoie rien sur le réseau.
- Contrôle : la réponse est toujours l'une de vos options, jamais du texte à analyser.
- Transparence : la distribution complète montre les cas ambigus, que vous pouvez confier à une personne plutôt que les automatiser.
- Matériel courant : le modèle tourne sur CPU, sur GPU NVIDIA ou nativement sur les Mac Apple Silicon.
Les probabilités sont des poids relatifs entre les options fournies, pas une confiance calibrée. Wyat inclut des outils d'évaluation pour choisir, à partir de cas étiquetés, à partir de quel écart une décision peut être automatisée.
Commencer
Le code est sous licence Apache 2.0, et les poids du modèle se téléchargent depuis Hugging Face au premier usage.
- Code source et installation : GitHub
- Modèle : Hugging Face
- Paquet : PyPI
- Documentation
- llms.txt : la documentation résumée pour les agents de programmation