Compartilhar via


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

APLICA-SE A: todas as camadas do Gerenciamento de API

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

Observação

Observação

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

Azure OpenAI com suporte em modelos do Azure AI Foundry

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

Tipo de API Modelos com suporte
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 (versão prévia) 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)

Observação

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

Para obter informações atuais sobre os modelos e suas funcionalidades, consulte Azure OpenAI em Modelos de Fundimento.

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 Obrigatório Padrão
score-threshold O limite de pontuação define como 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. Saiba mais. Sim N/D
embeddings-backend-id Back-end ID da chamada à API de inserções. Sim N/D
embeddings-backend-auth Autenticação usada para inserir back-end da API. Sim. Deve ser definido como system-assigned. N/D
ignore-system-messages Booliano. Quando definido como (recomendado), remove as mensagens do sistema de um prompt de conclusão de chat antes de avaliar a true similaridade do cache. Não falso
max-message-count Se especificado, o número de mensagens de diálogo restantes depois de ignorar o armazenamento em cache. Não N/D

Elementos

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

Uso

Observações de uso

  • Essa política só pode ser usada uma vez em uma seção de política.
  • Ajuste o valor de score-threshold acordo com seu aplicativo para garantir que a confidencialidade certa seja usada para determinar quando retornar respostas armazenadas em cache para consultas. Comece com um valor baixo, como 0,05, e ajuste para otimizar a taxa de acertos de cache para erros.
  • O limite de pontuação acima de 0,2 pode levar à incompatibilidade de cache. Considere usar um valor mais baixo para casos de uso confidenciais.
  • Controlar o acesso entre usuários a entradas de cache especificando vary-by com identificadores específicos de usuário ou grupo de usuários.
  • O modelo de inserções deve ter capacidade suficiente e tamanho de contexto suficiente para acomodar o volume de prompt e prompts.
  • Considere adicionar uma política de segurança de llm-content com o escudo de prompt para proteger contra ataques de prompt.
  • 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 impedir que seu serviço de back-end seja sobrecarregado se o cache não estiver disponível.

Exemplos

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

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 da assinatura do chamador.

Observação

Adicione uma política de limite de taxa (ou política de limite de taxa por chave ) após a busca no cache para ajudar a limitar o número de chamadas e evitar sobrecarga no serviço backend caso o 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: