Somente DataPower API Gateway

Azure openai-invoke

Use a política de invocação Azure OpenAI para invocar as operações Azure OpenAI .

Suporte de gateway

Tabela 1. Tabela mostrando quais gateways suportam a política e a versão da política correspondente
Gateway Versão da política
DataPower® API Gateway 2.0.0

Este tópico descreve como configurar a política em seu código-fonte OpenAPI para obter detalhes sobre como configurar a política na interface de usuário do assembly, consulte Azure openai invoke.

Sobre

A política Azure OpenAI invoke fornece acesso a quatro operações Azure OpenAI :
  • POST /chat/completions
  • POST /embeddings
  • GET /models
  • GET /models/[model-id]

Propriedades

A tabela a seguir lista as propriedades de política, indica se uma propriedade é necessária, especifica os valores válidos e padrão para entrada e especifica o tipo de dados dos valores.

Tabela 2. Azure OpenAI Propriedades da política invoke
Nome da Propriedade Necessário Descrição Tipo de dados
version True O número da versão da política. É necessário especificar uma versão da política que seja compatível com o gateway que você está usando. Quando a API for publicada, se a versão for incompatível com o gateway, será gerado um erro de validação que especifica as versões disponíveis. sequência
title Não O título da política; o valor padrão é Azure OpenAI invocar conclusões de bate-papo. sequência
description Não Uma descrição da política. sequência
operation True A operação Azure OpenAI a ser invocada; deve ser uma das seguintes operações:
  • POST /chat/completions

    Uma operação HTTP POST para /chat/completions. Consulte Criar preenchimento de bate-papo na documentação do site Azure OpenAI para ver exemplos de solicitações e respostas.

  • POST embeddings

    Uma operação HTTP POST para /embeddings. Consulte Criar incorporações na documentação do site Azure OpenAI para ver exemplos de solicitações e respostas.

  • GET models

    Uma operação HTTP GET para /models. Consulte List Models na documentação do site OpenAI para ver exemplos de respostas.

  • GET models/[model]

    Uma operação HTTP GET para /models/[model]. Consulte Retrieve model na documentação do site Azure OpenAI para ver exemplos de respostas.

sequência
api_key True A chave de API ou uma referência de variável para a variável que contém uma chave de API. A chave da API é usada para autenticar as solicitações do Azure OpenAI . sequência
deployment_id True Nome do projeto/implantação em Azure onde o modelo é implantado. sequência
resource_id True Serve como parte do ponto de extremidade de URL que aponta para seus recursos provisionados. sequência
enable_cache Não O cache de resposta é ativado por padrão para otimizar o desempenho da API; no entanto, você pode desativá-lo se necessário para a sua API.

Quando o cache de resposta está ativado, quando uma solicitação é enviada ao serviço OpenAI , o cache de resposta é inspecionado para determinar se a carga útil da solicitação tem uma resposta em cache associada. Em caso afirmativo, essa resposta em cache e seus cabeçalhos de resposta HTTP associados são colocados na mensagem de contextoDataPower API Gateway especificada pela propriedade output .

Se não houver resposta em cache, a solicitação será passada para o serviço OpenAI e a resposta será armazenada em cache para operações subsequentes usando o tempo de vida especificado na propriedade cache_ttl .

booleano
cache_ttl Não A duração do cache (o tempo de vida). A duração mínima é de 60 segundos e a duração máxima é de 86400 segundos (1 dia). Qualquer valor fora desse intervalo falhará na validação quando a API for publicada, mesmo que o valor seja aceito nesse campo. número inteiro
cache_scope Não Uma cadeia de caracteres que adiciona exclusividade à chave usada para armazenar uma resposta em cache. A adição de um escopo de cache permite que a mesma solicitação seja salva em várias entradas de cache. sequência
op-version Não A versão da operação especifica a versão da operação do site OpenAI (como conclusões, chat/complementos, incorporações) à qual a política se aplica. Ele é definido usando o formato AAAA-MM-DD.  
parâmetros_do_caminho Não Para operações que têm um parâmetro de caminho designado com um nome de parâmetro de caminho entre colchetes na operação, especifique o nome do parâmetro e o valor separado por dois pontos. Se a operação tiver mais de um parâmetro de caminho, cada designação de parâmetro de caminho deverá ser separada por vírgula. Por exemplo, para a operação GET models/[model], a propriedade do parâmetro path seria especificada como model:somename.
Observação: se um parâmetro de caminho for necessário para a operação selecionada, mas não tiver sido fornecido, a operação de invocação falhará. No entanto, para operações que não exigem um parâmetro de caminho, qualquer parâmetro de caminho fornecido será ignorado.
sequência
parâmetros_de_consulta Não Para operações que suportam parâmetros de consulta, especifique uma string de parâmetro de consulta que especifique o nome do parâmetro e o valor separados por um caractere de sinal de igual. Se houver suporte para mais de um parâmetro de consulta, cada parâmetro de consulta deverá ser separado por um caractere e comercial. As operações suportadas no momento não suportam parâmetros de consulta, embora as operações que possam ser suportadas no futuro suportem parâmetros de consulta. sequência
output Não O nome da mensagem de contexto DataPower API Gateway que recebe a resposta OpenAI . Por padrão, essa propriedade usa message como valor, o que permite que a resposta seja acessível pelas políticas de API subsequentes em message.body e message.headers. sequência

Exemplo


azure-openai-invoke:
          title: Azure-OpenAI invoke policy
          description: Azure-OpenAI invoke policy desc
          api_key: keyvalue
          deployment_id: $(dep-id)
          resource_id: $(res-id)
          operation: POST chat/completions
          op-version: $(azure-op-version)
          path_params:  
          enable_cache: true
          cache_ttl: 60
          cache_scope: azureScope
          output: request
          version: 2.0.0