Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
APLICA-SE A: todas as camadas do Gerenciamento de API
Este artigo apresenta recursos no Gerenciamento de API do Azure para ajudar você a gerenciar as APIs de IA generativas, como as fornecidas pelo Serviço OpenAI do Azure. O Gerenciamento de API do Azure fornece uma variedade de políticas, métricas e outros recursos para aprimorar a segurança, o desempenho e a confiabilidade das APIs que atendem aos aplicativos inteligentes. Coletivamente, esses recursos são chamados de recursos de gateway de IA para suas APIs de IA generativas.
Observação
- Use os recursos de gateway de IA para gerenciar APIs expostas pelo Serviço OpenAI do Azure, disponíveis por meio da API de Inferência de Modelo de IA do Azure ou com modelos compatíveis com OpenAI atendidos por meio de provedores de inferência de terceiros.
- Os recursos de gateway da IA generativa são recursos do gateway de API existente do Gerenciamento de API, não um gateway de API separado. Para obter mais informações sobre o Gerenciamento de API, consulte a visão geral do Gerenciamento de API do Azure.
Desafios no gerenciamento de APIs de IA gerativas
Um dos principais recursos que você tem em serviços de IA generativas são os tokens. O Serviço OpenAI do Azure atribui cota para suas implantações de modelo expressas no TPM (tokens por minuto), que é distribuído por seus consumidores de modelos, por exemplo, aplicativos diferentes, equipes de desenvolvedores, departamentos dentro da empresa etc.
O Azure facilita a conexão de um único aplicativo ao Serviço OpenAI do Azure: você poderá se conectar diretamente usando uma chave de API com um limite de TPM configurado diretamente no nível de implantação do modelo. No entanto, ao começar a aumentar seu portfólio de aplicativos, você recebe vários aplicativos chamando pontos de extremidade únicos ou até mesmo vários pontos de extremidade do Serviço OpenAI do Azure implantados como instâncias de PTU (Unidades de Taxa de Transferência Provisionadas) ou com pagamento conforme o uso. Isso vem com certos desafios:
- Como o uso de token é acompanhado em vários aplicativos? Os encargos cruzados podem ser calculados para vários aplicativos/equipes que usam modelos do Serviço OpenAI do Azure?
- Como você garante que um único aplicativo não consuma toda a cota do TPM, deixando outros aplicativos sem opção para usar modelos do Serviço OpenAI do Azure?
- Como a chave de API é distribuída com segurança em vários aplicativos?
- Como a carga é distribuída em vários endpoints do OpenAI do Azure? É possível garantir que a capacidade confirmada em PTUs esteja esgotada antes de voltar às instâncias com pagamento conforme o uso?
O restante deste artigo descreve como o Gerenciamento de API do Azure pode ajudar você a enfrentar esses desafios.
Importar o recurso do Serviço OpenAI do Azure como uma API
Importe uma API de um ponto de extremidade do Serviço OpenAI do Azure para o Gerenciamento de API do Azure usando uma experiência de clique único. O Gerenciamento de API simplifica o processo de integração importando automaticamente o esquema OpenAPI para a API do OpenAI do Azure e configura a autenticação para o ponto de extremidade do OpenAI do Azure usando a identidade gerenciada, removendo a necessidade de configuração manual. Na mesma experiência amigável, você pode pré-configurar políticas para limites de token, emitir métricas de token e cache semântico.
Política de limite de token
Configure a política de limite de token do OpenAI do Azure para gerenciar e impor limites por consumidor de API com base no uso de tokens do Serviço OpenAI do Azure. Com essa política, você pode definir um limite de taxa, expresso no TPM (tokens por minuto). Você também pode definir uma cota de token durante um período especificado, como por hora, diária, semanal, mensal ou anual.
Essa política fornece flexibilidade para atribuir limites baseados em token em qualquer chave de contador, como chave de assinatura, endereço IP de origem ou uma chave arbitrária definida por meio de uma expressão de política. A política também permite o pré-cálculo de tokens de solicitações no lado do Gerenciamento de API do Azure, minimizando solicitações desnecessárias para o back-end do Serviço OpenAI do Azure se a solicitação já exceder o limite.
O exemplo básico a seguir demonstra como definir um limite de TPM de 500 por chave de assinatura:
<azure-openai-token-limit counter-key="@(context.Subscription.Id)"
tokens-per-minute="500" estimate-prompt-tokens="false" remaining-tokens-variable-name="remainingTokens">
</azure-openai-token-limit>
Dica
Para gerenciar e impor limites de token para outras APIs de LLM, o Gerenciamento de API fornece a política de limite de token de LLM equivalente.
Política de métrica de emissão de token
A política de métrica de emissão de token do OpenAI do Azure envia métricas para o Application Insights sobre o consumo de tokens LLM por meio das APIs do serviço OpenAI do Azure. A política ajuda a fornecer uma visão geral da utilização de modelos do Serviço OpenAI do Azure em vários aplicativos ou consumidores de API. Essa política pode ser útil para cenários de estorno, monitoramento e planejamento de capacidade.
Essa política captura métricas de solicitação, conclusões e uso total de token e as envia para um namespace do Application Insights de sua escolha. Além disso, é possível configurar ou selecionar entre dimensões predefinidas para dividir as métricas de uso do token, para que você possa analisar as métricas por ID de assinatura, endereço IP ou uma dimensão personalizada de sua escolha.
Por exemplo, a política a seguir envia métricas para o Application Insights divididos por endereço IP do cliente, API e usuário:
<azure-openai-emit-token-metric namespace="openai">
<dimension name="Client IP" value="@(context.Request.IpAddress)" />
<dimension name="API ID" value="@(context.Api.Id)" />
<dimension name="User ID" value="@(context.Request.Headers.GetValueOrDefault("x-user-id", "N/A"))" />
</azure-openai-emit-token-metric>
Dica
Para enviar métricas para outras APIs LLM, o Gerenciamento de API fornece a política equivalente llm-emit-token-metric.
Balanceador de carga de back-end e disjuntor
Um dos desafios ao criar aplicativos inteligentes é garantir que os aplicativos sejam resilientes a falhas de back-end e possam lidar com cargas altas. Ao configurar seus pontos de extremidade do Serviço OpenAI do Azure usando back-ends no Gerenciamento de API do Azure, você poderá balancear a carga entre eles. Também é possível definir regras de disjuntor para interromper o encaminhamento de solicitações para os back-ends do Serviço OpenAI do Azure se eles não responderem.
O balanceador de carga de back-end oferece suporte ao balanceamento de carga round-robin, ponderado e baseado em prioridades, o que lhe dá flexibilidade para definir uma estratégia de distribuição de carga que atenda aos seus requisitos específicos. Por exemplo, defina prioridades na configuração do balanceador de carga para garantir a utilização ideal de endpoints específicos do Azure OpenAI, especialmente aqueles adquiridos como PTUs.
O disjuntor de back-end apresenta a duração da viagem dinâmica, aplicando valores do cabeçalho Retry-After fornecido pelo back-end. Isso garante a recuperação precisa e oportuna dos back-ends, maximizando a utilização de seus back-ends de prioridade.
Política de cache semântico
Configure as políticas de cache semântico do OpenAI do Azure para otimizar o uso de token armazenando conclusões para solicitações semelhantes.
No Gerenciamento de API, habilite o cache semântico usando o Azure Redis Enterprise, o Azure Managed Redis ou outro cache externo compatível com o RediSearch e integrado ao Gerenciamento de API do Azure. Ao usar API de Incorporações do Serviço OpenAI do Azure, as políticas de azure-openai-semantic-cache-store e azure-openai-semantic-cache-lookup armazenam e recuperam conclusões de solicitação de forma semântica semelhantes do cache. Essa abordagem garante a reutilização de conclusões, resultando em redução do consumo de token e melhor desempenho de resposta.
Dica
Para habilitar o cache semântico para outras APIs de LLM, o Gerenciamento de API fornece as políticas equivalentes llm-semantic-cache-store-policy e llm-semantic-cache-lookup-policy.
Registrar em log o uso de tokens, as solicitações e as conclusões
Habilite uma configuração de diagnóstico em sua instância de Gerenciamento de API para registrar solicitações processadas pelo gateway para APIs REST do modelo de linguagem grande. Para cada solicitação, os dados são enviados para o Azure Monitor, incluindo o uso de tokens (tokens de solicitação, tokens de conclusão e tokens totais), o nome do modelo usado e, opcionalmente, as mensagens de solicitação e resposta (solicitação e conclusão). Solicitações e respostas grandes são divididas em várias entradas de log que são numeradas sequencialmente para reconstrução posterior, se necessário.
O administrador do Gerenciamento de API pode usar logs de gateway LLM junto com logs de gateway do Gerenciamento de API para cenários como o seguinte:
- Calcular o uso para cobrança – Calcular as métricas de uso para cobrança com base no número de tokens consumidos por cada aplicativo ou consumidor de API (por exemplo, segmentado por ID de assinatura ou endereço IP).
- Inspecionar mensagens: para ajudar na depuração ou auditoria, inspecione e analise as solicitações e conclusões.
Saiba mais sobre como monitorar o Gerenciamento de API com o Azure Monitor.
Política de segurança de conteúdo
Para ajudar a proteger os usuários contra conteúdo prejudicial, ofensivo ou enganoso, você pode moderar automaticamente todas as solicitações de entrada para uma API LLM configurando a política de segurança de conteúdo llm . A política impõe verificações de segurança de conteúdo em solicitações LLM, transmitindo-as primeiro ao serviço Azure AI Content Safety antes de enviá-las para a API LLM de back-end.
Laboratórios e amostras
- Laboratórios para os recursos do gateway de IA do Gerenciamento de API do Azur
- Workshop de gateway de IA
- APIM (Gerenciamento de API do Azure) – Exemplo do Azure OpenAI (Node.js)
- Código de exemplo do Python para usar o OpenAI do Azure com o Gerenciamento de API
Considerações de design e arquitetura
- Arquitetura de referência do gateway de IA usando o Gerenciamento de API
- Acelerador de zona de destino do gateway do hub de IA
- Criar e implementar uma solução de gateway com recursos do OpenAI do Azure
- Usar um gateway na frente de várias implantações ou instâncias do Azure OpenAI
Conteúdo relacionado
- Blog: Introdução aos recursos de IA no Gerenciamento de API do Azure
- Blog: Integrar a Segurança de Conteúdo do Azure ao Gerenciamento de API para Endpoints do Azure OpenAI
- Treinamento: gerenciar suas APIs de IA generativa com o Gerenciamento de API do Azure
- Balanceamento de carga inteligente para endpoints OpenAI e Gestão de API do Azure
- Autenticar e autorizar o acesso às APIs do OpenAI do Azure usando o Gerenciamento de API do Azure