Stop Sequence : Définition et Exemples
Une stop sequence est une chaîne de caractères prédéfinie qui indique au modèle de langage qu'il doit arrêter de générer du texte dès qu'il la produit.
Définition complète
Une stop sequence (ou séquence d'arrêt) est un mécanisme de contrôle utilisé lors de l'inférence d'un modèle de langage. Il s'agit d'une ou plusieurs chaînes de caractères que l'utilisateur définit dans les paramètres de l'appel API. Lorsque le modèle génère l'une de ces séquences dans sa réponse, la génération s'interrompt immédiatement, et le texte produit jusqu'à ce point est renvoyé comme résultat.
Ce mécanisme est essentiel pour structurer les sorties des LLM. Sans stop sequences, un modèle peut continuer à générer du texte au-delà de ce qui est utile : il pourrait inventer des tours de dialogue supplémentaires, ajouter des exemples non demandés ou simplement produire du contenu redondant. Les stop sequences agissent comme un signal de fin clair et prévisible, permettant d'obtenir des réponses précises et bien délimitées.
En pratique, les stop sequences sont particulièrement utiles dans les scénarios où le format de sortie est structuré. Par exemple, dans un système de chat multi-tours, on peut utiliser "Human:" comme stop sequence pour empêcher le modèle de simuler la réponse de l'utilisateur. Dans un contexte d'extraction de données, on peut définir un délimiteur comme "---" pour que le modèle s'arrête après avoir produit un seul bloc d'information.
La plupart des API de modèles de langage (OpenAI, Anthropic, Mistral, etc.) permettent de spécifier plusieurs stop sequences simultanément, généralement jusqu'à quatre. La séquence d'arrêt elle-même n'est pas incluse dans la réponse finale, ce qui facilite le post-traitement du texte généré.
Étymologie
Le terme vient du vocabulaire informatique classique. « Stop » (arrêt) et « sequence » (séquence de caractères) décrivent littéralement une suite de caractères qui déclenche l'arrêt d'un processus. Le concept existait déjà dans les protocoles de communication série et les analyseurs syntaxiques avant d'être adopté par le domaine des modèles de langage.
Exemples concrets
Empêcher un chatbot de simuler les réponses de l'utilisateur
Paramètre API : stop=["Human:", "Utilisateur:"] — Le modèle s'arrête dès qu'il tente de générer un nouveau tour de parole humain.
Extraire une seule réponse dans un format structuré
Prompt : "Donne le nom du pays et rien d'autre." Stop sequence : ["\n"] — Le modèle s'arrête après la première ligne, évitant toute explication superflue.
Générer du code fonction par fonction
Stop sequence : ["def ", "class "] — Le modèle génère une seule fonction Python et s'arrête avant d'en commencer une autre.
Usage pratique
Utilisez les stop sequences pour délimiter précisément la sortie de votre modèle et éviter la génération de contenu superflu. Définissez-les en fonction du format attendu : un saut de ligne pour une réponse mono-ligne, un délimiteur spécifique pour du contenu structuré, ou un marqueur de rôle pour les conversations multi-tours. Combinez-les avec le paramètre max_tokens pour un contrôle total sur la longueur et la forme de la réponse.
Concepts liés
FAQ
Quelle est la différence entre une stop sequence et le paramètre max_tokens ?
La stop sequence est-elle incluse dans la réponse du modèle ?
Combien de stop sequences peut-on définir en même temps ?
Voir aussi
Recevez de nouveaux prompts chaque semaine
Rejoignez notre newsletter.