Usare l'API REST di OpenAI di Azure
OpenAI di Azure offre un'API REST per interagire e generare risposte che gli sviluppatori possono usare per aggiungere funzionalità di intelligenza artificiale alle applicazioni. Questa unità illustra l'utilizzo, l'input e l'output dell'API.
Nota
Prima di interagire con l'API, è necessario creare una risorsa OpenAI di Azure nel portale di Azure, distribuire un modello in tale risorsa e recuperare l'endpoint e le chiavi. Vedere l'Introduzione al Servizio OpenAI di Azure per informazioni su come eseguire questa operazione.
Per ogni chiamata all'API REST, sono necessari l'endpoint e una chiave dalla risorsa OpenAI di Azure e il nome assegnato per il modello distribuito. Negli esempi seguenti vengono usati i segnaposto seguenti:
Nome segnaposto | Valore |
---|---|
YOUR_ENDPOINT_NAME |
Questo endpoint di base è disponibile nella sezione Chiavi ed endpoint nel portale di Azure. È l'endpoint di base della risorsa, ad esempio https://sample.openai.azure.com/ . |
YOUR_API_KEY |
Le chiavi sono disponibili nella sezione Chiavi ed endpoint nel portale di Azure. È possibile usare una delle due chiavi per la risorsa. |
YOUR_DEPLOYMENT_NAME |
Questo nome di distribuzione è il nome specificato quando è stato distribuito il modello in Azure AI Studio. |
Completamenti della chat
Dopo aver distribuito un modello nella risorsa di OpenAI di Azure, è possibile inviare un prompt al servizio usando una richiesta 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 risposta dall'API sarà simile al codice JSON seguente:
{
"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
}
]
}
Gli endpoint REST di completamento consentono di specificare altri parametri di input facoltativi, ad esempio temperature
, max_tokens
e altri. Se si vuole includere uno di questi parametri nella richiesta, aggiungerli ai dati di input con la richiesta.
Incorporamenti
Gli incorporamenti sono utili per formati specifici facilmente utilizzati dai modelli di Machine Learning. Per generare incorporamenti dal testo di input, POST
una richiesta all'endpoint 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...\"}"
Quando si generano incorporamenti, assicurarsi di usare un modello in OpenAI di Azure progettato per gli incorporamenti. Questi modelli iniziano con text-embedding
o text-similarity
, a seconda delle funzionalità necessarie.
La risposta dall'API sarà simile al codice JSON seguente:
{
"object": "list",
"data": [
{
"object": "embedding",
"embedding": [
0.0172990688066482523,
-0.0291879814639389515,
....
0.0134544348834753042,
],
"index": 0
}
],
"model": "text-embedding-ada:002"
}