Partilhar via


Obter respostas em cache de solicitações de API do Azure OpenAI

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

Use a política para executar a azure-openai-semantic-cache-lookup pesquisa de cache de respostas a solicitações da API de Conclusão de Chat do Azure OpenAI a partir de um cache externo configurado, com base na proximidade vetorial do prompt a solicitações anteriores e em um limite de pontuação de semelhança especificado. O cache de resposta reduz os requisitos de largura de banda e processamento impostos à API OpenAI do Azure de back-end e reduz a latência percebida pelos consumidores de API.

Nota

Nota

Defina os elementos da política e os elementos filho na ordem fornecida na declaração de política. Saiba mais sobre como definir ou editar políticas de Gerenciamento de API.

Azure OpenAI suportado em modelos do Azure AI Foundry

A política é usada com APIs adicionadas ao Gerenciamento de API do Azure OpenAI em modelos do AI Foundry dos seguintes tipos:

Tipo de API Modelos suportados
Conclusão do chat gpt-3.5

gpt-4

gpt-4o

gpt-4o-mini

o1

o3
Incorporações text-embedding-3-large

text-embedding-3-small

text-embedding-ada-002
Respostas (pré-visualização) gpt-4o (Versões: 2024-11-20, 2024-08-06, 2024-05-13)

gpt-4o-mini (Versão: 2024-07-18)

gpt-4.1 (Versão: 2025-04-14)

gpt-4.1-nano (Versão: 2025-04-14)

gpt-4.1-mini (Versão: 2025-04-14)

gpt-image-1 (Versão: 2025-04-15)

o3 (Versão: 2025-04-16)

o4-mini (Versão: '2025-04-16)

Nota

As APIs de conclusão tradicionais só estão disponíveis com versões de modelos legados e o suporte é limitado.

Para obter informações atuais sobre os modelos e seus recursos, consulte Azure OpenAI em modelos de fundição.

Declaração de política

<azure-openai-semantic-cache-lookup
    score-threshold="score threshold to return cached response"
    embeddings-backend-id ="backend entity ID for embeddings API"
    embeddings-backend-auth ="system-assigned"             
    ignore-system-messages="true | false"      
    max-message-count="count" >
    <vary-by>"expression to partition caching"</vary-by>
</azure-openai-semantic-cache-lookup>

Atributos

Atributo Descrição Necessário Predefinição
limiar-pontuação O limite de pontuação define o quão próximo um prompt de entrada deve corresponder a um prompt armazenado em cache para retornar sua resposta armazenada. O valor varia de 0,0 a 1,0. Valores mais baixos exigem maior semelhança semântica para uma correspondência. Mais informações. Sim N/A
incorporações-backend-id Back-end ID para incorporar chamada de API. Sim N/A
incorporações-backend-auth Autenticação usada para incorporar back-end de API. Sim. Deve ser definido como system-assigned. N/A
ignorar-sistema-mensagens Booleano. Quando definido como true (recomendado), remove as mensagens do sistema de um prompt de conclusão de bate-papo antes de avaliar a semelhança do cache. Não falso
contagem máxima de mensagens Se especificado, número de mensagens de diálogo restantes após as quais o cache é ignorado. Não N/A

Elementos

Nome Descrição Necessário
variar-por Uma expressão personalizada determinada em tempo de execução cujo valor particiona o cache. Se vários vary-by elementos forem adicionados, os valores serão concatenados para criar uma combinação exclusiva. Não

Utilização

Notas de utilização

  • Esta política só pode ser utilizada uma vez numa secção de política.
  • Ajuste o valor de score-threshold baseado em seu aplicativo para garantir que a sensibilidade certa seja usada para determinar quando retornar respostas em cache para consultas. Comece com um valor baixo, como 0,05, e ajuste para otimizar a proporção de acertos de cache para erros.
  • Limite de pontuação acima de 0,2 pode levar a incompatibilidade de cache. Considere o uso de um valor mais baixo para casos de uso confidenciais.
  • Controle o acesso entre usuários às entradas de cache especificando vary-by com identificadores específicos de usuário ou grupo de usuários.
  • O modelo de incorporações deve ter capacidade e tamanho de contexto suficientes para acomodar o volume e os prompts do prompt.
  • Considere adicionar a política llm-content-safety com escudo imediato para proteger contra ataques imediatos.
  • Recomendamos configurar uma política de limite de taxa (ou política de limite de taxa por chave ) imediatamente após qualquer pesquisa de cache. Isso ajuda a evitar que o serviço de back-end fique sobrecarregado se o cache não estiver disponível.

Exemplos

Exemplo com a política azure-openai-semantic-cache-store correspondente

O exemplo a seguir mostra como usar a azure-openai-semantic-cache-lookup política junto com a azure-openai-semantic-cache-store política para recuperar respostas em cache semanticamente semelhantes com um limite de pontuação de similaridade de 0,05. Os valores armazenados em cache são particionados pela ID de assinatura do chamador.

Nota

Adicione uma política de limite de taxa (ou política de limite de taxa por chave ) após a pesquisa de cache para ajudar a limitar o número de chamadas e evitar sobrecarga no serviço backend caso a cache não esteja disponível.

<policies>
    <inbound>
        <base />
        <azure-openai-semantic-cache-lookup
            score-threshold="0.05"
            embeddings-backend-id ="azure-openai-backend"
            embeddings-backend-auth ="system-assigned" >
            <vary-by>@(context.Subscription.Id)</vary-by>
        </azure-openai-semantic-cache-lookup>
        <rate-limit calls="10" renewal-period="60" />
    </inbound>
    <outbound>
        <azure-openai-semantic-cache-store duration="60" />
        <base />
    </outbound>
</policies>

Para obter mais informações sobre como trabalhar com políticas, consulte: