← Tous les exercices
Écrire un token à la fois
Partie 7 · ★★★
Un modèle qui écrit devine le token suivant, l'ajoute au texte et recommence : c'est la génération autorégressive. On s'arrête sur un token de fin <fin> ou à une longueur maximale. Ici, le « modèle » est une table de probabilités selon le dernier token ; on prend à chaque fois le plus probable (température → 0).
Complète generer(debut, longueur_max) : lis le dernier token du texte, choisis le plus probable, arrête-toi sur <fin> (sans l'ajouter).
suivant = { "la": {"patiente": 0.6, "maladie": 0.4}, "patiente": {"est": 1.0}, "est": {"atteinte": 0.7, "malade": 0.3}, "atteinte": {"<fin>": 1.0}, "malade": {"<fin>": 1.0}, } def generer(debut, longueur_max=10): texte = [debut] while len(texte) < longueur_max: probas = suivant[texte[___]] token = max(probas, key=probas.___) if token == "<fin>": ___ texte.append(token) return texte
Ctrl/⌘+Entrée