P

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

TokenMax TokensTemperatureTop-p (Nucleus Sampling)

FAQ

Quelle est la différence entre une stop sequence et le paramètre max_tokens ?
Le paramètre max_tokens impose une limite absolue sur le nombre de tokens générés, quelle que soit la pertinence du contenu. La stop sequence, elle, arrête la génération en fonction du contenu produit. Les deux mécanismes sont complémentaires : max_tokens sert de filet de sécurité, tandis que la stop sequence permet un arrêt sémantiquement pertinent.
La stop sequence est-elle incluse dans la réponse du modèle ?
Non, dans la grande majorité des API (OpenAI, Anthropic, Mistral), la stop sequence qui a déclenché l'arrêt n'est pas incluse dans le texte de réponse. Cependant, l'API indique généralement dans ses métadonnées que la génération s'est arrêtée à cause d'une stop sequence (finish_reason: "stop") plutôt que par épuisement des tokens.
Combien de stop sequences peut-on définir en même temps ?
Cela dépend de l'API utilisée. OpenAI permet jusqu'à 4 stop sequences par requête. L'API d'Anthropic (Claude) accepte également plusieurs séquences d'arrêt. Il est recommandé de consulter la documentation de l'API spécifique que vous utilisez pour connaître la limite exacte.

Voir aussi

Recevez de nouveaux prompts chaque semaine

Rejoignez notre newsletter.