Usar a API REST do Azure OpenAI

Concluído

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"
}