Utiliser l’API REST Azure OpenAI
Azure OpenAI offre une API REST pour interagir et générer des réponses que les développeurs peuvent utiliser pour ajouter des fonctionnalités d’IA à leurs applications. Cette unité couvre les exemples d’utilisation, d’entrée et de sortie de l’API.
Notes
Avant d’interagir avec l’API, vous devez créer une ressource Azure OpenAI dans le Portail Azure, déployer un modèle dans cette ressource et récupérer votre point de terminaison et vos clés. Pour savoir comment procéder, consultez Prise en main d’Azure OpenAI Service.
Pour chaque appel à l’API REST, vous avez besoin du point de terminaison et d’une clé de votre ressource Azure OpenAI, ainsi que du nom que vous avez donné pour votre modèle déployé. Dans les exemples suivants, les espaces réservés suivants sont utilisés :
Nom de l’espace réservé | Valeur |
---|---|
YOUR_ENDPOINT_NAME |
Ce point de terminaison de base se trouve dans la section Clés et point de terminaison du portail Azure. Il s’agit du point de terminaison de base de votre ressource, comme https://sample.openai.azure.com/ . |
YOUR_API_KEY |
Les clés se trouvent dans la section Clés et point de terminaison du portail Azure. Vous pouvez utiliser n’importe laquelle de ces clés pour votre ressource. |
YOUR_DEPLOYMENT_NAME |
Ce nom de déploiement est le nom fourni lorsque vous avez déployé votre modèle dans Azure AI Studio. |
Complétions de conversation
Après avoir déployé un modèle dans votre ressource Azure OpenAI, vous pouvez envoyer un prompt au service à l’aide d’une requête POST
.
curl https://YOUR_ENDPOINT_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/chat/completions?api-version=2023-03-15-preview \
-H "Content-Type: application/json" \
-H "api-key: YOUR_API_KEY" \
-d '{"messages":[{"role": "system", "content": "You are a helpful assistant, teaching people about AI."},
{"role": "user", "content": "Does Azure OpenAI support multiple languages?"},
{"role": "assistant", "content": "Yes, Azure OpenAI supports several languages, and can translate between them."},
{"role": "user", "content": "Do other Azure AI Services support translation too?"}]}'
La réponse de l’API est similaire au JSON suivant :
{
"id": "chatcmpl-6v7mkQj980V1yBec6ETrKPRqFjNw9",
"object": "chat.completion",
"created": 1679001781,
"model": "gpt-35-turbo",
"usage": {
"prompt_tokens": 95,
"completion_tokens": 84,
"total_tokens": 179
},
"choices": [
{
"message":
{
"role": "assistant",
"content": "Yes, other Azure AI Services also support translation. Azure AI Services offer translation between multiple languages for text, documents, or custom translation through Azure AI Services Translator."
},
"finish_reason": "stop",
"index": 0
}
]
}
Les points de terminaison REST permettent de spécifier d’autres paramètres d’entrée facultatifs, comme temperature
, max_tokens
et d’autres. Si vous souhaitez inclure l’un de ces paramètres dans votre requête, ajoutez-les aux données d’entrée avec la requête.
Incorporations
Les incorporations sont utiles pour des formats spécifiques qui sont facilement consommés par les modèles Machine Learning. Générer des incorporations à partir du texte d’entrée, faites une requête POST
auprès du point de terminaison embeddings
.
curl https://YOUR_ENDPOINT_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/embeddings?api-version=2022-12-01 \
-H "Content-Type: application/json" \
-H "api-key: YOUR_API_KEY" \
-d "{\"input\": \"The food was delicious and the waiter...\"}"
Quand vous générez des incorporations, veillez à utiliser un modèle dans Azure OpenAI destiné aux incorporations. Ces modèles commencent par text-embedding
ou text-similarity
, en fonction de la fonctionnalité que vous recherchez.
La réponse de l’API est similaire au JSON suivant :
{
"object": "list",
"data": [
{
"object": "embedding",
"embedding": [
0.0172990688066482523,
-0.0291879814639389515,
....
0.0134544348834753042,
],
"index": 0
}
],
"model": "text-embedding-ada:002"
}