Partilhar via


Importar uma API OpenAI do Azure

APLICA-SE A: Todas as camadas de gerenciamento de API

Este artigo mostra duas opções para importar uma API de Serviço OpenAI do Azure para uma instância de Gerenciamento de API do Azure como uma API REST:

Pré-requisitos

  • Uma instância de gerenciamento de API existente. Crie um, caso ainda não o tenha feito.

  • Acesso concedido ao Azure OpenAI na subscrição pretendida do Azure. Você pode solicitar acesso ao Azure OpenAI preenchendo o formulário em https://aka.ms/oai/access. Abra um problema neste repositório para entrar em contato conosco se tiver um problema.

  • Um recurso OpenAI do Azure com um modelo implantado. Para obter mais informações sobre a implementação de modelos, veja o guia de implementação de recursos.

    Anote a ID (nome) da implantação. Você precisará dele quando testar a API importada no Gerenciamento de API.

  • Permissões para conceder acesso ao recurso OpenAI do Azure a partir da instância de Gerenciamento de API.

Opção 1. Importar API do Serviço OpenAI do Azure

Você pode importar uma API do Azure OpenAI diretamente para o Gerenciamento de API do Serviço Azure OpenAI. Quando você importa a API, o Gerenciamento de API configura automaticamente:

  • Operações para cada um dos pontos de extremidade da API REST do Azure OpenAI.
  • Uma identidade atribuída pelo sistema com as permissões necessárias para acessar o recurso OpenAI do Azure.
  • Um recurso de back-end e uma política de set-backend-service que direcionam solicitações de API para o ponto de extremidade do Serviço OpenAI do Azure.
  • Uma política de identidade gerenciada por autenticação que pode se autenticar no recurso do Azure OpenAI usando a identidade atribuída pelo sistema da instância.
  • (opcionalmente) Políticas para ajudá-lo a monitorar e gerenciar o consumo de token pela API OpenAI do Azure.

Para importar uma API OpenAI do Azure para o Gerenciamento de API:

  1. No portal do Azure, navegue até sua instância de Gerenciamento de API.

  2. No menu à esquerda, em APIs, selecione APIs>+ Add API.

  3. Em Criar a partir do recurso do Azure, selecione Serviço OpenAI do Azure.

    Captura de ecrã da criação de uma API a partir do Serviço OpenAI do Azure no portal.

  4. No separador Básico:

    1. Selecione o recurso do Azure OpenAI que você deseja importar.

    2. Opcionalmente, selecione uma versão da API do Azure OpenAI. Se você não selecionar uma, a versão mais recente da API REST pronta para produção será usada por padrão.

    3. Insira um Nome para exibição e uma Descrição opcional para a API.

    4. Na URL Base, acrescente um caminho que sua instância de Gerenciamento de API usa para acessar os pontos de extremidade da API OpenAI do Azure. Se você ativar Garantir compatibilidade com o OpenAI SDK (recomendado), /openai será automaticamente anexado à URL base.

      Por exemplo, se o ponto de extremidade do gateway de Gerenciamento de API for https://contoso.azure-api.net, defina uma URL base semelhante a https://contoso.azure-api.net/my-openai-api/openai.

    5. Opcionalmente, selecione um ou mais produtos para associar à API. Selecione Seguinte.

  5. Na guia Políticas, opcionalmente, habilite as políticas para monitorar e gerenciar o consumo de token da API OpenAI do Azure. Se selecionado, insira as configurações ou aceite os padrões que definem as azure-openai-token-limit políticas e azure-openai-emit-token-metric para sua API. Você também pode definir ou atualizar a configuração da política mais tarde. Selecione Rever + Criar.

  6. Depois que as configurações forem validadas, selecione Criar.

Opção 2. Adicionar uma especificação OpenAPI ao Gerenciamento de API

Como alternativa, baixe manualmente a especificação OpenAPI para a API REST do Azure OpenAI e adicione-a ao Gerenciamento de API como uma API OpenAPI.

Faça o download da especificação OpenAPI

Baixe a especificação OpenAPI para a API REST do Azure OpenAI, como a versão 2024-02-01 GA.

  1. Em um editor de texto, abra o arquivo de especificação que você baixou.

  2. servers No elemento na especificação, substitua o nome do ponto de extremidade do Serviço OpenAI do Azure nos valores de espaço reservado e default ponto de url extremidade na especificação. Por exemplo, se o ponto de extremidade do Serviço OpenAI do Azure for contoso.openai.azure.com, atualize o servers elemento com os seguintes valores:

    • URL: https://contoso.openai.azure.com/openai
    • Ponto de extremidade padrão: contoso.openai.azure.com
    [...]
    "servers": [
        {
          "url": "https://contoso.openai.azure.com/openai",
          "variables": {
            "endpoint": {
              "default": "contoso.openai.azure.com"
            }
          }
        }
      ],
    [...]
    
  3. Anote o valor da API version na especificação. Você precisará dele para testar a API. Exemplo: 2024-02-01.

Adicionar especificação OpenAPI ao Gerenciamento de API

  1. No portal do Azure, navegue até sua instância de Gerenciamento de API.
  2. No menu à esquerda, selecione APIs>+ Add API.
  3. Em Definir uma nova API, selecione OpenAPI. Insira um Nome para exibição e um Nome para a API.
  4. Insira um sufixo de URL de API terminando em /openai para acessar os pontos de extremidade da API OpenAI do Azure em sua instância de Gerenciamento de API. Exemplo: my-openai-api/openai.
  5. Selecione Criar.

A API é importada e exibe operações da especificação OpenAPI.

Configurar a autenticação para a API do Azure OpenAI

Para autenticar na API OpenAI do Azure, forneça uma chave de API ou uma identidade gerenciada. Se você importou a API OpenAI do Azure diretamente para sua instância de Gerenciamento de API, a autenticação usando a identidade gerenciada da instância de Gerenciamento de API será configurada automaticamente.

Se você adicionou a API OpenAI do Azure a partir de sua especificação OpenAPI, precisará configurar a autenticação. Para obter mais informações sobre como configurar a autenticação usando políticas de Gerenciamento de API, consulte Autenticar e autorizar a API OpenAI do Azure.

Testar a API do Azure OpenAI

Para garantir que sua API do Azure OpenAI esteja funcionando conforme o esperado, teste-a no console de teste do Gerenciamento de API. Você precisa fornecer uma ID de implantação de modelo (nome) configurada no recurso OpenAI do Azure para testar a API.

  1. Selecione a API que criou no passo anterior.

  2. Selecione o separador Teste.

  3. Selecione uma operação que seja compatível com o modelo implantado no recurso OpenAI do Azure. A página exibe campos para parâmetros e cabeçalhos.

  4. Em Parâmetros do modelo, insira os seguintes valores:

    • deployment-id - a ID de uma implantação no serviço Azure OpenAI
    • api-version - uma versão válida da API do Azure OpenAI, como a versão da API que você selecionou quando importou a API. Captura de tela do teste de uma API do Serviço OpenAI do Azure no portal.
  5. Insira outros parâmetros e cabeçalhos conforme necessário. Dependendo da operação, talvez seja necessário configurar ou atualizar um corpo de solicitação.

    Nota

    No console de teste, o Gerenciamento de API preenche automaticamente um cabeçalho Ocp-Apim-Subscription-Key e configura a chave de assinatura da assinatura de acesso total interna. Essa chave permite o acesso a todas as APIs na instância de Gerenciamento de API. Opcionalmente, exiba o cabeçalho Ocp-Apim-Subscription-Key selecionando o ícone "olho" ao lado da Solicitação HTTP.

  6. Selecione Enviar.

    Quando o teste é bem-sucedido, o back-end responde com um código de resposta HTTP bem-sucedido e alguns dados. Anexados à resposta estão os dados de uso de token para ajudá-lo a monitorar e gerenciar o consumo da API do Azure OpenAI. Captura de tela dos dados de uso do token na resposta da API no portal.

Políticas de cache para APIs do Azure OpenAI

Além das azure-openai-token-limit políticas e azure-openai-emit-token-metric que você pode configurar ao importar uma API de Serviço OpenAI do Azure, o Gerenciamento de API fornece as seguintes políticas de cache para ajudá-lo a otimizar o desempenho e reduzir a latência para APIs do Azure OpenAI:

  • azure-openai-semantic-cache-store
  • azure-openai-semantic-cache-lookup