Usar a API REST do OpenAI do Azure

Concluído

O OpenAI do Azure oferece a API REST para interagir e gerar respostas que os desenvolvedores podem usar para adicionar funcionalidade de IA aos seus aplicativos. Esta unidade aborda o uso, a entrada e a saída de exemplo da API.

Observação

Antes de interagir com a API, você precisa criar um recurso de OpenAI do Azure no portal do Azure, implantar um modelo nesse recurso e recuperar o ponto de extremidade e as chaves. Confira a 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 recurso de OpenAI do Azure, bem como do nome que deu ao modelo implantado. Nos exemplos a seguir, os seguintes espaços reservados são usados:

Nome do espaço reservado Valor
YOUR_ENDPOINT_NAME Esse ponto de extremidade base pode ser encontrado na seção Chaves e Pontos de Extremidade no portal do Azure. Esse é o ponto de extremidade base do recurso, como https://sample.openai.azure.com/.
YOUR_API_KEY As chaves são encontradas na seção Chaves e Ponto de Extremidade no portal do Azure. Você pode usar qualquer uma das chaves para seu recurso.
YOUR_DEPLOYMENT_NAME Esse nome de implementação é o nome fornecido quando implementou o seu modelo no Azure AI Studio.

Preenchimentos de chat

Depois de implantar um modelo no recurso OpenAI do Azure, você pode enviar um prompt para o serviço usando uma solicitação 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?"}]}'

A resposta da API será parecido com o 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 e max_tokens, e muito mais. Se você quiser incluir qualquer um desses parâmetros na 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 machine learning. Para gerar inserções do texto de entrada, POST uma solicitação para o ponto de extremidade 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...\"}"

Ao gerar inserções, use um modelo no OpenAI do Azure destinado a inserções. Esses modelos começam com text-embedding ou text-similarity, dependendo de qual funcionalidade você está procurando.

A resposta da API será parecido com o seguinte JSON:

{
  "object": "list",
  "data": [
    {
      "object": "embedding",
      "embedding": [
        0.0172990688066482523,
        -0.0291879814639389515,
        ....
        0.0134544348834753042,
      ],
      "index": 0
    }
  ],
  "model": "text-embedding-ada:002"
}