API

icon picker
API OpenAI

Introduction

Vous pouvez interagir avec l'API via des requêtes HTTP à partir de n'importe quel langage, via nos liaisons Python officielles, notre bibliothèque officielle Node.js ou une .
Pour installer les liaisons Python officielles, exécutez la commande suivante :
Pour installer la bibliothèque officielle Node.js, exécutez la commande suivante dans le répertoire de votre projet Node.js :

Authentification

L'API OpenAI utilise des clés API pour l'authentification. Visitez votre page pour récupérer la clé API que vous utiliserez dans vos requêtes.
N'oubliez pas que votre clé API est un secret ! Ne le partagez pas avec d'autres et ne l'exposez pas dans un code côté client (navigateurs, applications). Les demandes de production doivent être acheminées via votre propre serveur principal où votre clé API peut être chargée en toute sécurité à partir d'une variable d'environnement ou d'un service de gestion de clés.
Toutes les requêtes API doivent inclure votre clé API dans un Authorizationen-tête HTTP comme suit :

Requesting organization

Pour les utilisateurs qui appartiennent à plusieurs organisations, vous pouvez transmettre un en-tête pour spécifier quelle organisation est utilisée pour une demande d'API. L'utilisation de ces demandes d'API sera prise en compte dans le quota d'abonnement de l'organisation spécifiée.
Exemple de commande curl :
Exemple avec le openaipackage Python :
Exemple avec le openaipackage Node.js :
Les ID d'organisation se trouvent sur la page .

Making requests

Vous pouvez coller la commande ci-dessous dans votre terminal pour exécuter votre première requête API. Assurez-vous de remplacer $OPENAI_API_KEYpar votre clé API secrète.
Cette requête demande au gpt-3.5-turbomodèle de compléter le texte en commençant par l'invite " Dites ceci est un test ". Vous devriez obtenir une réponse semblable à celle-ci :
Vous avez maintenant généré votre premier achèvement de chat. Nous pouvons voir le finish_reasonis stopqui signifie que l'API a renvoyé l'achèvement complet généré par le modèle. Dans la requête ci-dessus, nous n'avons généré qu'un seul message, mais vous pouvez définir le nparamètre pour générer plusieurs choix de messages. Dans cet exemple, gpt-3.5-turboest utilisé pour une plus traditionnelle . Le modèle est également optimisé pour .

Models

List models

Répertorie les modèles actuellement disponibles et fournit des informations de base sur chacun, telles que le propriétaire et la disponibilité.

Exemple de demande
Réponse

Retrieve model

Récupère une instance de modèle, fournissant des informations de base sur le modèle telles que le propriétaire et les autorisations.

Path parameters

modèle chaîne Requis
L'ID du modèle à utiliser pour cette requête

babbage
davinci
text-davinci-001
ada
curie-instruct-beta
code-cushman-001
text-ada-001
text-davinci-003
text-curie-001
davinci-instruct-beta
code-davinci-002
text-davinci-002
text-babbage-001
curie

Exemple de demande
Réponse

Completions

Étant donné une invite, le modèle renverra un ou plusieurs achèvements prédits et peut également renvoyer les probabilités de jetons alternatifs à chaque position.

Créer Completions

Crée une complétion pour l'invite avec les paramètres fournis

Request body

modèle chaîne Requis

ID du modèle à utiliser. Vous pouvez utiliser l' API pour voir tous vos modèles disponibles, ou consulter notre pour les décrire.

prompt

chaîne ou tableau Facultatif Par défaut à <|endoftext|>
Les invites pour lesquelles générer des complétions, codées sous forme de chaîne, de tableau de chaînes, de tableau de jetons ou de tableau de tableaux de jetons.

suffixe

chaîne Facultatif La valeur par défaut est nulle
Le suffixe qui vient après l'achèvement du texte inséré.

max_tokens

entier Facultatif Par défaut à 16
Le nombre maximum de à générer dans la complétion.
Le nombre de jetons de votre invite plus max_tokensne peut pas dépasser la longueur de contexte du modèle. La plupart des modèles ont une longueur de contexte de 2048 jetons (à l'exception des modèles les plus récents, qui prennent en charge 4096).

température

nombre Facultatif Par défaut à 1
Quelle température d'échantillonnage utiliser, entre 0 et 2. Des valeurs plus élevées comme 0,8 rendront la sortie plus aléatoire, tandis que des valeurs plus basses comme 0,2 la rendront plus ciblée et déterministe.
Nous recommandons généralement de modifier ceci ou top_pmais pas les deux.

top_p

nombre Facultatif Par défaut à 1
Une alternative à l'échantillonnage avec la température, appelée échantillonnage par noyau, où le modèle considère les résultats des jetons avec une masse de probabilité top_p. Ainsi, 0,1 signifie que seuls les jetons comprenant la masse de probabilité supérieure de 10 % sont pris en compte.
Nous recommandons généralement de modifier ceci ou temperaturemais pas les deux.

n

entier Facultatif Par défaut à 1
Combien de complétions générer pour chaque invite.
Remarque : Étant donné que ce paramètre génère de nombreux achèvements, il peut rapidement consommer votre quota de jetons. Utilisez-le avec précaution et assurez-vous que vous disposez de paramètres raisonnables pour max_tokenset stop.

stream

booléen Facultatif La valeur par défaut est false
Indique s'il faut diffuser la progression partielle. S'ils sont définis, les jetons seront envoyés en tant dès qu'ils seront disponibles, le flux se terminant par un

logprobs

entier FacultatifLa valeur par défaut est nulle
Incluez les probabilités de log sur les logprobsjetons les plus probables, ainsi que les jetons choisis.
Par exemple, si logprobsvaut 5, l'API renverra une liste des 5 jetons les plus probables.
L'API renverra toujours le logprobdu jeton échantillonné,
il peut donc y avoir jusqu'à logprobs+1éléments dans la réponse.
La valeur maximale pour logprobsest 5.

écho

booléen Facultatif La valeur par défaut est false
Faites écho à l'invite en plus de l'achèvement

stop

chaîne ou tableau Facultatif La valeur par défaut est nulle
Jusqu'à 4 séquences où l'API cessera de générer d'autres jetons. Le texte renvoyé ne contiendra pas la séquence d'arrêt.

presence_penalty

nombre Facultatif Par défaut à 0
Nombre compris entre -2,0 et 2,0. Les valeurs positives pénalisent les nouveaux jetons en fonction de leur apparition dans le texte jusqu'à présent, ce qui augmente la probabilité que le modèle parle de nouveaux sujets.

fréquence_pénalité

nombre Facultatif Par défaut à 0
Nombre compris entre -2,0 et 2,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 textuellement.

best_of

integer Facultatif Par défaut à 1
Génère des complétions best_of côté serveur et renvoie le "meilleur" (celui avec la probabilité de journal la plus élevée par jeton). Les résultats ne peuvent pas être diffusés.
Lorsqu'il est utilisé avec n, best_ofcontrôle le nombre d'achèvements candidats et nspécifie le nombre à renvoyer - best_ofdoit être supérieur à n.
Remarque : Étant donné que ce paramètre génère de nombreux achèvements, il peut rapidement consommer votre quota de jetons. Utilisez-le avec précaution et assurez-vous que vous disposez de paramètres raisonnables pour max_tokens et stop.

biais_logit

map Facultatif La valeur par défaut est nulle
Modifiez la probabilité que des jetons spécifiés apparaissent dans la complétion.
Accepte un objet json qui mappe les jetons (spécifiés par leur ID de jeton dans le tokenizer GPT) à une valeur de biais associée de -100 à 100.
Par exemple, vous pouvez passer {"50256": -100}pour empêcher la génération du jeton <|endoftext|>.

user

string Facultatif
Un identifiant unique représentant votre utilisateur final, qui peut aider OpenAI à surveiller et à détecter les abus. .

Exemple de demande

Paramètres

Réponse

Chat

Étant donné une conversation de chat, le modèle renverra une réponse chat completion.

Créer chat completion

Crée une complétion pour le message de chat

Corps de la requête

modèle string Requis
ID du modèle à utiliser. Consultez le tableau pour plus de détails sur les modèles qui fonctionnent avec l'API Chat.

messages

array Requis
Les messages pour lesquels générer des achèvements de chat, au .

température

Quelle température d'échantillonnage utiliser, entre 0 et 2.
Des valeurs plus élevées comme 0,8 rendront la sortie plus aléatoire, tandis que des valeurs plus basses comme 0,2 la rendront plus ciblée et déterministe.
Nous recommandons généralement de modifier la température ou top_p
Mais pas les deux.

top_p

Une alternative à l'échantillonnage avec la température, appelée échantillonnage par noyau, où le modèle considère les résultats des jetons avec une masse de probabilité top_p. Ainsi, 0,1 signifie que seuls les jetons comprenant la masse de probabilité supérieure de 10 % sont pris en compte.
Nous recommandons généralement de modifier top_p ou temperature
Mais pas les deux.

n

entier Facultatif Par défaut à 1
Combien de choix d'achèvement de chat générer pour chaque message d'entrée.
Remarque : Étant donné que ce paramètre génère de nombreux achèvements, il peut rapidement consommer votre quota de jetons. Utilisez-le avec précaution et assurez-vous que vous disposez de paramètres raisonnables pour max_tokenset stop.

stream

booléen Facultatif La valeur par défaut est false
S'il est défini, des deltas de messages partiels seront envoyés, comme dans ChatGPT. Les jetons seront envoyés en tant dès qu'ils seront disponibles, le flux se terminant par un data: [DONE]message. Voir le livre de recettes OpenAI pour .

Stop

string or array Facultatif La valeur par défaut est nulle
Jusqu'à 4 séquences où l'API cessera de générer d'autres jetons.

max_tokens

Integer Facultatif Par défaut à inf
Le nombre maximum de à générer dans l'achèvement du chat.
La longueur totale des jetons d'entrée et des jetons générés est limitée par la longueur du contexte du modèle.

presence_penalty

number Facultatif Par défaut à 0
Nombre compris entre -2,0 et 2,0. Les valeurs positives pénalisent les nouveaux jetons en fonction de leur apparition dans le texte jusqu'à présent, ce qui augmente la probabilité que le modèle parle de nouveaux sujets.

fréquence_pénalité

number Facultatif Par défaut à 0
Nombre compris entre -2,0 et 2,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 textuellement.

biais_logit

map Facultatif La valeur par défaut est nulle
Modifiez la probabilité que des jetons spécifiés apparaissent dans la complétion.
Accepte un objet json qui mappe les jetons (spécifiés par leur ID de jeton dans le tokenizer) à une valeur de biais associée comprise entre -100 et 100. Mathématiquement, le biais est ajouté aux logits générés par le modèle avant l'échantillonnage. L'effet exact variera selon le modèle, mais les valeurs comprises entre -1 et 1 devraient diminuer ou augmenter la probabilité de sélection ; des valeurs telles que -100 ou 100 doivent entraîner une interdiction ou une sélection exclusive du jeton concerné.

user

string Facultatif
Un identifiant unique représentant votre utilisateur final, qui peut aider OpenAI à surveiller et à détecter les abus. .
Exemple de demande
Paramètres
Réponse

Edits

Étant donné une invite et une instruction, le modèle renverra une version modifiée de l'invite.

Create edit

POSTE https://api.openai.com/v1/edits
Crée une nouvelle modification pour l'entrée, l'instruction et les paramètres fournis.

Corps de la requête

modèle

string Requis ID du modèle à utiliser.
Vous pouvez utiliser le modèle text-davinci-edit-001ou code-davinci-edit-001avec ce point de terminaison.

input

string Facultatif Par défaut à ''
Le texte d'entrée à utiliser comme point de départ pour la modification.

instruction

string Requis
L'instruction qui indique au modèle comment modifier l'invite.

n

Integer Facultatif Par défaut à 1
Combien de modifications générer pour l'entrée et l'instruction.

temperature

number Facultatif Par défaut à 1
Quelle température d'échantillonnage utiliser, entre 0 et 2. Des valeurs plus élevées comme 0,8 rendront la sortie plus aléatoire, tandis que des valeurs plus basses comme 0,2 la rendront plus ciblée et déterministe.
info
Nous recommandons généralement de modifier ceci ou top_pmais pas les deux.

top_p

number Facultatif Par défaut à 1
Une alternative à l'échantillonnage avec la température, appelée échantillonnage par noyau, où le modèle considère les résultats des jetons avec une masse de probabilité top_p. Ainsi, 0,1 signifie que seuls les jetons comprenant la masse de probabilité supérieure de 10 % sont pris en compte.
info
Nous recommandons généralement de modifier ceci ou temperaturemais pas les deux.

Exemple de demande

const { Configuration, OpenAIApi } = require("openai");
const configuration = new Configuration({
apiKey: process.env.OPENAI_API_KEY,
});
const openai = new OpenAIApi(configuration);
const response = await openai.createEdit({
model: "text-davinci-edit-001",
input: "What day of the wek is it?",
instruction: "Fix the spelling mistakes",
});
Paramètres
{
"model": "text-davinci-edit-001",
"input": "What day of the wek is it?",
"instruction": "Fix the spelling mistakes",
}
Réponse
{
"object": "edit",
"created": 1589478378,
"choices": [
{
"text": "What day of the week is it?",
"index": 0,
}
],
"usage": {
"prompt_tokens": 25,
"completion_tokens": 32,
"total_tokens": 57
}
}

Images

Étant donné une invite et/ou une image d'entrée, le modèle générera une nouvelle image.
Guide connexe :

Create image

POSTE https://api.openai.com/v1/images/generations
Crée une image à partir d'une invite.

Corps de la requête

prompt

chaîne
Requis
Une description textuelle des images souhaitées. La longueur maximale est de 1000 caractères.

n

entier
Facultatif
Par défaut à 1
Le nombre d'images à générer. Doit être compris entre 1 et 10.

size

string Facultatif Par défaut à 1024x1024
La taille des images générées. Doit être l'un des 256x256, 512x512ou 1024x1024.

response_format

string Facultatif URL par défaut
Le format dans lequel les images générées sont renvoyées. Doit être l'un des urlou b64_json.

user

string Facultatif
Un identifiant unique représentant votre utilisateur final, qui peut aider OpenAI à surveiller et à détecter les abus. .

Exemple de demande

const { Configuration, OpenAIApi } = require("openai");
const configuration = new Configuration({
apiKey: process.env.OPENAI_API_KEY,
});
const openai = new OpenAIApi(configuration);
const response = await openai.createImage({
prompt: "A cute baby sea otter",
n: 2,
size: "1024x1024",
});
Paramètres
{
"prompt": "A cute baby sea otter",
"n": 2,
"size": "1024x1024"
}
Réponse
{
"created": 1589478378,
"data": [
{
"url": "https://..."
},
{
"url": "https://..."
}
]
}

Create image edit

POSTE https://api.openai.com/v1/images/edits
Crée une image modifiée ou étendue à partir d'une image originale et d'une invite.

Corps de la requête

image

string Required
L'image à modifier. Doit être un fichier PNG valide, inférieur à 4 Mo et carré. Si le masque n'est pas fourni, l'image doit avoir une transparence, qui sera utilisée comme masque.

mask

string Optional
Une image supplémentaire dont les zones entièrement transparentes (par exemple où alpha est égal à zéro) indiquent où imagedoivent être éditées. Doit être un fichier PNG valide, moins de 4 Mo, et avoir les mêmes dimensions que image.

prompt

string Required
Une description textuelle des images souhaitées. La longueur maximale est de 1000 caractères.

n

string Optional Par défaut à 1
Le nombre d'images à générer. Doit être compris entre 1 et 10.

size

string Optional Par défaut à 1024x1024
La taille des images générées. Doit être l'un des 256x256, 512x512ou 1024x1024.

format_réponse

string Optional URL par défaut
Le format dans lequel les images générées sont renvoyées. Doit être l'un des urlou b64_json.

utilisateur

string Optional
Un identifiant unique représentant votre utilisateur final, qui peut aider OpenAI à surveiller et à détecter les abus. .

Exemple de demande

const { Configuration, OpenAIApi } = require("openai");
const configuration = new Configuration({
apiKey: process.env.OPENAI_API_KEY,
});
const openai = new OpenAIApi(configuration);
const response = await openai.createImageEdit(
fs.createReadStream("otter.png"),
fs.createReadStream("mask.png"),
"A cute baby sea otter wearing a beret",
2,
"1024x1024"
);
Réponse
{
"created": 1589478378,
"data": [
{
"url": "https://..."
},
{
"url": "https://..."
}
]
}

Create image variation

POSTE https://api.openai.com/v1/images/variations
Crée une variation d'une image donnée.

Corps de la requête

image

string Required
info
L'image à modifier. Doit être un fichier PNG valide, inférieur à 4 Mo et carré. Si le masque n'est pas fourni, l'image doit avoir une transparence, qui sera utilisée comme masque.

n

string Optional Par défaut à 1
info
Le nombre d'images à générer. Doit être compris entre 1 et 10.

size

string Optional Par défaut à 1024x1024
info
La taille des images générées. Doit être l'un des 256x256, 512x512ou 1024x1024.

format_réponse

string Optional URL par défaut
info
Le format dans lequel les images générées sont renvoyées. Doit être l'un des urlou b64_json.

utilisateur

string Optional
info
Un identifiant unique représentant votre utilisateur final, qui peut aider OpenAI à surveiller et à détecter les abus. .
Exemple de demande
const { Configuration, OpenAIApi } = require("openai");
const configuration = new Configuration({
apiKey: process.env.OPENAI_API_KEY,
});
const openai = new OpenAIApi(configuration);
const response = await openai.createImageVariation(
fs.createReadStream("otter.png"),
2,
"1024x1024"
);
Réponse
{
"created": 1589478378,
"data": [
{
"url": "https://..."
},
{
"url": "https://..."
}
]
}

Embeddings

Obtenez une représentation vectorielle d'une entrée donnée qui peut être facilement consommée par des modèles et des algorithmes d'apprentissage automatique.
Guide connexe :

Create embeddings

POSTE https://api.openai.com/v1/embeddings
Crée un vecteur d'intégration représentant le texte d'entrée.

Corps de la requête

model
string Required
ID du modèle à utiliser. Vous pouvez utiliser l' API pour voir tous vos modèles disponibles, ou consulter notre pour les décrire.

input

string or array Required
Entrez le texte pour lequel obtenir les représentations incorporées, encodé sous forme de chaîne ou de tableau de jetons. Pour obtenir des représentations incorporées pour plusieurs entrées dans une seule requête, transmettez un tableau de chaînes ou un tableau de tableaux de jetons. Chaque entrée ne doit pas dépasser 8192 jetons de longueur.

user

string Optional
Un identifiant unique représentant votre utilisateur final, qui peut aider OpenAI à surveiller et à détecter les abus. .
Exemple de demande
const { Configuration, OpenAIApi } = require("openai");
const configuration = new Configuration({
apiKey: process.env.OPENAI_API_KEY,
});
const openai = new OpenAIApi(configuration);
const response = await openai.createEmbedding({
model: "text-embedding-ada-002",
input: "The food was delicious and the waiter...",
});
Paramètres
{
"model": "text-embedding-ada-002",
"input": "The food was delicious and the waiter..."
}
Réponse
Copie
{
"object": "list",
"data": [
Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.