Référence : Complétions | Azure Machine Learning

Crée une complétion pour l’invite et les paramètres fournis.

POST /completions?api-version=2024-04-01-preview
Nom Dans Obligatoire Type Description
api-version query True string Version de l’API au format « AAAA-MM-JJ » ou « AAAA-MM-JJ-preview ».

En-tête de requête

Nom Requise Type Description
extra-parameters string Comportement de l’API quand des paramètres supplémentaires sont indiqués dans la charge utile. L’utilisation de pass-through oblige l’API à passer le paramètre au modèle sous-jacent. Utilisez cette valeur quand vous souhaitez passer des paramètres dont vous savez qu’ils sont pris en charge par le modèle sous-jacent. L’utilisation de ignore oblige l’API à supprimer tout paramètre non pris en charge. Utilisez cette valeur quand vous devez vous servir de la même charge utile sur différents modèles, mais que l’un des paramètres supplémentaires peut provoquer une erreur dans un modèle s’il n’est pas pris en charge. L’utilisation de error oblige l’API à rejeter tout paramètre supplémentaire dans la charge utile. Seuls les paramètres spécifiés dans cette API peuvent être indiqués, sinon une erreur 400 est retournée.
azureml-model-deployment string Nom du déploiement vers lequel vous souhaitez router la requête. Pris en charge pour les points de terminaison prenant en charge plusieurs déploiements.

Corps de la demande

Nom Requise Type Description
prompt True Les invites pour lesquelles il faut générer des complétions, encodées sous forme de chaîne ou de tableau de chaînes, tableau de jetons ou tableau de tableaux de jetons. Notez que <\|endoftext\|> est le séparateur de documents que le modèle voit lors de l’entraînement. Par conséquent, si une invite n’est pas spécifiée, le modèle est généré comme s’il s’agissait du début d’un nouveau document.
frequency_penalty number Les valeurs positives pénalisent les nouveaux jetons en fonction de leur fréquence existante dans le texte jusqu’à présent, ce qui réduit la probabilité que le modèle répète la même ligne mot pour mot.
max_tokens entier Nombre maximal de jetons pouvant être générés dans la complétion. Le nombre de jetons de votre invite plus max_tokens ne doit pas dépasser la longueur du contexte du modèle.
presence_penalty number Les valeurs positives pénalisent les nouveaux tokens selon qu’ils apparaissent ou non dans le texte jusqu’à présent, ce qui augmente la probabilité que le modèle parle de nouveaux sujets.
seed entier S’il est spécifié, le modèle s’efforce d’échantillonner de manière déterministe, de sorte que les requêtes répétées avec le même seed et les mêmes paramètres devraient retourner le même résultat.

Le déterminisme n’est pas garanti, c’est pourquoi vous devriez vous référer au paramètre de réponse system_fingerprint pour surveiller les modifications dans le back-end.
stop Séquences dans lesquelles l’API cesse de générer d’autres jetons. Le texte retourné ne contient pas la séquence d’arrêt.
flux booléen Indique s’il faut renvoyer la progression partielle. S’ils sont définis, les jetons sont envoyés en tant qu’événements envoyés par le serveur de données uniquement au fur et à mesure qu’ils deviennent disponibles. Le flux se termine par un message data: [DONE].
température number Température d’échantillonnage à utiliser, entre 0 et 2. Des valeurs plus élevées telles que 0,8 rendent la sortie plus aléatoire, tandis que des valeurs inférieures telles que 0,2 la rendent plus ciblée et déterministe.

Nous vous recommandons généralement de modifier temperature ou top_p, mais pas les deux.
top_p number Alternative à l’échantillonnage avec la température, appelée échantillonnage de noyau, où le modèle considère les résultats des jetons avec la masse de probabilité top_p. Par conséquent, 0,1 signifie que seuls les jetons comprenant la masse de probabilité supérieure de 10 % sont considérés.

Nous vous recommandons généralement de modifier top_p ou temperature, mais pas les deux.

Réponses

Nom Type Description
200 OK CreateCompletionResponse Ok
401 Non autorisé UnauthorizedError Le jeton d’accès est manquant ou non valide

En-têtes

x-ms-error-code : chaîne
404 Not Found NotFoundError La modalité n’est pas prise en charge par le modèle. Consultez la documentation du modèle pour voir quels itinéraires sont disponibles.

En-têtes

x-ms-error-code : chaîne
422 Impossible de traiter l’entité UnprocessableContentError La requête contient du contenu ne pouvant pas être traité

En-têtes

x-ms-error-code : chaîne
429 Trop de requêtes TooManyRequestsError Vous avez atteint votre limite de taux attribuée et votre requête doit être régulée.

En-têtes

x-ms-error-code : chaîne
Autres codes d’état ContentFilterError Demande incorrecte

En-têtes

x-ms-error-code : chaîne

Sécurité

Autorisation

Jeton avec le préfixe Bearer:, par exemple Bearer abcde12345

Type : apiKey
In : en-tête

AADToken

Authentification OAuth2 Azure Active Directory

Type : OAuth2
Flux : application
URL du jeton : https://login.microsoftonline.com/common/oauth2/v2.0/token

Exemples

Crée une complétion pour l’invite et les paramètres fournis

Exemple de requête

POST /completions?api-version=2024-04-01-preview

{
  "prompt": "This is a very good text",
  "frequency_penalty": 0,
  "presence_penalty": 0,
  "max_tokens": 256,
  "seed": 42,
  "stop": "<|endoftext|>",
  "stream": false,
  "temperature": 0,
  "top_p": 1
}

Exemple de réponse

Code d’état : 200

{
  "id": "1234567890",
  "model": "llama2-7b",
  "choices": [
    {
      "index": 0,
      "finish_reason": "stop",
      "text": ", indeed it is a good one."
    }
  ],
  "created": 1234567890,
  "object": "text_completion",
  "usage": {
    "prompt_tokens": 15,
    "completion_tokens": 8,
    "total_tokens": 23
  }
}

Définitions

Nom Description
Choices Liste des choix de saisie semi-automatique de conversation.
CompletionFinishReason Raison pour laquelle le modèle a cessé de générer des jetons. stop si le modèle atteint un point d’arrêt naturel ou une séquence d’arrêt fournie, length si le nombre maximal de jetons spécifié dans la requête est atteint, content_filter si le contenu est omis en raison d’un indicateur de nos filtres de contenu.
CompletionUsage Statistiques d’utilisation pour la demande d’achèvement.
ContentFilterError L’appel d’API échoue quand l’invite déclenche un filtre de contenu tel que configuré. Modifiez l’invite et réessayez.
CreateCompletionRequest
CreateCompletionResponse Représente une réponse de complétion de l’API.
Détails
TextCompletionObject Type d’objet, qui est toujours « text_completion »
UnprocessableContentError

Choix multiple

Liste des choix de saisie semi-automatique de conversation.

Nom Type Description
finish_reason CompletionFinishReason Raison pour laquelle le modèle a cessé de générer des jetons. stop si le modèle atteint un point d’arrêt naturel ou une séquence d’arrêt fournie, length si le nombre maximal de jetons spécifié dans la requête est atteint, content_filter si le contenu est omis en raison d’un indicateur de nos filtres de contenu, tool_calls si le modèle appelle un outil.
index entier Index du choix dans la liste des choix.
texte string Texte généré.

CompletionFinishReason

Raison pour laquelle le modèle a cessé de générer des jetons. stop si le modèle atteint un point d’arrêt naturel ou une séquence d’arrêt fournie, length si le nombre maximal de jetons spécifié dans la requête est atteint, content_filter si le contenu est omis en raison d’un indicateur de nos filtres de contenu.

Nom Type Description
content_filter string
length string
stop string

CompletionUsage

Statistiques d’utilisation pour la demande d’achèvement.

Nom Type Description
completion_tokens entier Nombre de jetons dans la complétion générée.
prompt_tokens entier Nombre de jetons dans l’invite.
total_tokens entier Nombre total de jetons utilisés dans la requête (prompt + complétion).

ContentFilterError

L’appel d’API échoue quand l’invite déclenche un filtre de contenu tel que configuré. Modifiez l’invite et réessayez.

Nom Type Description
code string Code d’erreur.
error string Description de l’erreur.
message string Message d’erreur.
param string Paramètre qui a déclenché le filtre de contenu.
statut entier Code d’état HTTP.

CreateCompletionRequest

Nom Type Valeur par défaut Description
frequency_penalty number 0 Les valeurs positives pénalisent les nouveaux jetons en fonction de leur fréquence existante dans le texte jusqu’à présent, ce qui réduit la probabilité que le modèle répète la même ligne mot pour mot.
max_tokens entier 256 Nombre maximal de jetons pouvant être générés dans la complétion. Le nombre de jetons de votre invite plus max_tokens ne doit pas dépasser la longueur du contexte du modèle.
presence_penalty number 0 Les valeurs positives pénalisent les nouveaux tokens selon qu’ils apparaissent ou non dans le texte jusqu’à présent, ce qui augmente la probabilité que le modèle parle de nouveaux sujets.
prompt <\|endoftext\|> Les invites pour lesquelles il faut générer des complétions, encodées sous forme de chaîne ou de tableau de chaînes, tableau de jetons ou tableau de tableaux de jetons. Notez que <\|endoftext\|> est le séparateur de documents que le modèle voit lors de l’entraînement. Par conséquent, si une invite n’est pas spécifiée, le modèle est généré comme s’il s’agissait du début d’un nouveau document.
seed entier S’il est spécifié, notre système s’efforce d’échantillonner de manière déterministe, de sorte que les requêtes répétées avec le même seed et les mêmes paramètres devraient retourner le même résultat.

Le déterminisme n’est pas garanti, c’est pourquoi vous devriez vous référer au paramètre de réponse system_fingerprint pour surveiller les modifications dans le back-end.
stop Séquences dans lesquelles l’API cesse de générer d’autres jetons. Le texte retourné ne contient pas la séquence d’arrêt.
flux booléen False Indique s’il faut renvoyer la progression partielle. S’ils sont définis, les jetons sont envoyés en tant qu’événements envoyés par le serveur de données uniquement au fur et à mesure qu’ils deviennent disponibles. Le flux se termine par un message data: [DONE].
température nombre 1 Température d’échantillonnage à utiliser, entre 0 et 2. Des valeurs plus élevées telles que 0,8 rendent la sortie plus aléatoire, tandis que des valeurs inférieures telles que 0,2 la rendent plus ciblée et déterministe.

Nous vous recommandons généralement de modifier cela ou top_p mais pas les deux.
top_p nombre 1 Alternative à l’échantillonnage avec la température, appelée échantillonnage de noyau, où le modèle considère les résultats des jetons avec la masse de probabilité top_p. Par conséquent, 0,1 signifie que seuls les jetons comprenant la masse de probabilité supérieure de 10 % sont considérés.

Nous vous recommandons généralement de modifier cela ou temperature mais pas les deux.

CreateCompletionResponse

Représente une réponse de complétion de l’API. Remarque : les objets de réponse diffusés et non diffusés partagent la même forme (contrairement au point de terminaison de conversation).

Nom Type Description
options Choices[] Liste des choix d’achèvement générés pour l’invite d’entrée.
created entier Horodatage Unix (en secondes) de la création de l’achèvement.
id string Identificateur unique de la saisie semi-automatique.
modèle string Modèle utilisé pour la complétion.
object TextCompletionObject Type d’objet, qui est toujours « text_completion »
system_fingerprint string Cette empreinte digitale représente la configuration du back-end avec laquelle le modèle s’exécute.

Peut être utilisé avec le paramètre de requête seed pour comprendre quand des modifications qui peuvent affecter le déterminisme ont été apportées au back-end.
utilisation active CompletionUsage Statistiques d’utilisation pour la demande d’achèvement.

Détail

Nom Type Description
loc string[] Paramètre à l’origine du problème
value string Valeur transmise au paramètre à l’origine de problèmes.

TextCompletionObject

Type d’objet, qui est toujours « text_completion »

Nom Type Description
text_completion string

ListObject

Type d’objet, qui est toujours « list ».

Nom Type Description
list string

NotFoundError

Nom Type Description
error string Description de l’erreur.
message string Message d’erreur.
statut entier Code d’état HTTP.

TooManyRequestsError

Nom Type Description
error string Description de l’erreur.
message string Message d’erreur.
statut entier Code d’état HTTP.

UnauthorizedError

Nom Type Description
error string Description de l’erreur.
message string Message d’erreur.
statut entier Code d’état HTTP.

UnprocessableContentError

Nom Type Description
code string Code d’erreur.
détails Détails
error string Description de l’erreur.
message string Message d’erreur.
statut entier Code d’état HTTP.