Usar a API REST do Azure OpenAI
O Azure OpenAI oferece uma API REST para interagir e gerar respostas que os desenvolvedores podem usar para adicionar funcionalidade de IA aos seus aplicativos. Esta unidade abrange exemplos de uso, entrada e saída da API.
Nota
Antes de interagir com a API, você deve criar um recurso do Azure OpenAI no portal do Azure, implantar um modelo nesse recurso e recuperar seu ponto de extremidade e chaves. Confira Introdução ao Serviço OpenAI do Azure para saber como fazer isso.
Para cada chamada para a API REST, você precisa do ponto de extremidade e de uma chave do seu recurso OpenAI do Azure e do nome que você deu para seu modelo implantado. Nos exemplos a seguir, os seguintes espaços reservados são usados:
Nome do espaço reservado | Value |
---|---|
YOUR_ENDPOINT_NAME |
Esse ponto de extremidade base é encontrado na seção Chaves & Ponto de Extremidade no portal do Azure. É o ponto de extremidade base do seu recurso, como https://sample.openai.azure.com/ . |
YOUR_API_KEY |
As chaves são encontradas na seção Chaves & Ponto de Extremidade no portal do Azure. Você pode usar qualquer uma das chaves para o seu recurso. |
YOUR_DEPLOYMENT_NAME |
Esse nome de implantação é o nome fornecido quando você implantou seu modelo no Azure AI Studio. |
Conclusão do chat
Depois de implantar um modelo em seu recurso do Azure OpenAI, você pode enviar um prompt para o serviço usando uma POST
solicitação.
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?"}]}'
A resposta da API será semelhante ao seguinte JSON:
{
"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
}
]
}
Os pontos de extremidade REST permitem especificar outros parâmetros de entrada opcionais, como temperature
, max_tokens
e muito mais. Se você quiser incluir qualquer um desses parâmetros em sua solicitação, adicione-os aos dados de entrada com a solicitação.
Incorporações
As incorporações são úteis para formatos específicos que são facilmente consumidos por modelos de aprendizado de máquina. Para gerar incorporações a partir do texto de entrada, POST
uma solicitação para o embeddings
ponto de extremidade.
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...\"}"
Ao gerar incorporações, certifique-se de usar um modelo no Azure OpenAI destinado a incorporações. Esses modelos começam com text-embedding
ou text-similarity
, dependendo da funcionalidade que você está procurando.
A resposta da API será semelhante ao seguinte JSON:
{
"object": "list",
"data": [
{
"object": "embedding",
"embedding": [
0.0172990688066482523,
-0.0291879814639389515,
....
0.0134544348834753042,
],
"index": 0
}
],
"model": "text-embedding-ada:002"
}