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. |