Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
APLICA-SE A: Todas as camadas de gerenciamento de API
Habilite o cache semântico de respostas a solicitações de API LLM para reduzir os requisitos de largura de banda e processamento impostos às APIs de back-end e diminuir a latência percebida pelos consumidores de API. Com o cache semântico, você pode retornar respostas em cache para prompts idênticos e também para prompts que são semelhantes em significado, mesmo que o texto não seja idêntico. Para obter plano de fundo, consulte Tutorial: Usar o Azure Managed Redis como um cache semântico.
Nota
Os passos de configuração neste artigo mostram como ativar a cache semântica para APIs adicionadas à Gestão de APIs a partir do Azure OpenAI nos modelos Microsoft Foundry. Você pode aplicar etapas semelhantes para habilitar o cache semântico para APIs LLM (modelo de linguagem grande) correspondentes disponíveis por meio da API de Inferência de Modelo de IA do Azure ou com modelos compatíveis com OpenAI servidos por meio de provedores de inferência de terceiros.
Pré-requisitos
Adicione uma ou mais implementações do modelo Azure OpenAI no Microsoft Foundry como APIs à sua instância de Gestão de APIs. Para obter mais informações, consulte Adicionar uma API do Azure OpenAI ao Gerenciamento de API do Azure.
Crie implantações para as seguintes APIs:
- API para completar conversa - Implementação usada para solicitações de consumidor da API
- API de Embeddings - Implementação usada para armazenamento semântico
Configure a instância de Gerenciamento de API para usar a autenticação de identidade gerenciada para as APIs do Azure OpenAI. Para obter mais informações, consulte Autenticar e autorizar o acesso às APIs do Azure OpenAI usando o Gerenciamento de API do Azure .
Uma instância do Azure Managed Redis com o módulo RediSearch habilitado no cache Redis.
Nota
Você só pode habilitar o módulo RediSearch ao criar um novo cache Redis gerenciado do Azure. Não é possível adicionar um módulo a um cache existente. Mais informações
Configure a instância do Azure Managed Redis como um cache externo na instância de Gerenciamento de API do Azure. Para conhecer as etapas, consulte Usar um cache externo compatível com Redis no Gerenciamento de API do Azure.
Implementação da API de Chat de Teste
Primeiro, teste a implantação do Azure OpenAI para garantir que a API de Conclusão de Chat ou a API de Chat funcione conforme o esperado. Para conhecer as etapas, consulte Importar uma API do Azure OpenAI para o Gerenciamento de API do Azure.
Por exemplo, teste a API de Chat OpenAI do Azure enviando uma solicitação POST para o ponto de extremidade da API com um prompt no corpo da solicitação. A resposta deve incluir o cumprimento do pedido. Exemplo de pedido:
POST https://my-api-management.azure-api.net/my-api/openai/deployments/chat-deployment/chat/completions?api-version=2024-02-01
com o corpo do pedido:
{"messages":[{"role":"user","content":"Hello"}]}
Quando a solicitação é bem-sucedida, a resposta inclui uma conclusão para a mensagem de chat.
Criar um back-end para incorporar API
Crie um recurso de back-end para a implementação da API de embeddings com as seguintes definições:
Nome - Um nome à sua escolha, como embeddings-backend. Use este nome para referenciar o backend nas políticas.
Tipo - Selecione URL personalizado.
URL de tempo de execução - A URL de implementação da API de embeddings no Azure OpenAI, semelhante a:
https://my-aoai.openai.azure.com/openai/deployments/embeddings-deployment/embeddings(sem parâmetros de consulta).Credenciais de autorização - Aceda ao separador Identidade gerenciada.
- Identidade do cliente - Selecione Identidade atribuída ao sistema ou insira um ID de cliente de identidade gerenciada atribuído pelo usuário.
-
ID do recurso - Entre
https://cognitiveservices.azure.com/para o Azure OpenAI.
Back-end de incorporações de teste
Para testar o back-end de incorporações, crie uma operação de API para sua API do Azure OpenAI:
- Na guia Design da API, selecione + Adicionar operação.
- Insira um Nome de exibição, como Incorporações, e, opcionalmente, um Nome para a operação.
-
Na seção Frontend, em URL, selecione POST e insira o caminho
/. -
Na guia Cabeçalhos, adicione um cabeçalho obrigatório com o nome
Content-Typee o valorapplication/json. - Selecione Guardar.
Configure as seguintes políticas na seção Processamento de entrada da operação da API. Na política set-backend-service, substitua o nome do back-end criado.
<policies>
<inbound>
<set-backend-service backend-id="embeddings-backend" />
<authentication-managed-identity resource="https://cognitiveservices.azure.com/" />
[...]
</inbound>
[...]
</policies>
Na guia Teste, teste a operação adicionando um api-version parâmetro de consulta com valor como 2024-02-01. Forneça um corpo de solicitação válido. Por exemplo:
{"input":"Hello"}
Se a solicitação for bem-sucedida, a resposta incluirá uma representação vetorial do texto de entrada. Resposta de exemplo:
{
"object": "list",
"data": [{
"object": "embedding",
"index": 0,
"embedding": [
-0.021829502,
-0.007157768,
-0.028619017,
[...]
]
}]
}
Configurar políticas de cache semântico
Para habilitar o cache semântico para APIs do Azure OpenAI no Gerenciamento de API do Azure, aplique as seguintes políticas: uma para verificar o cache antes de enviar solicitações (pesquisa) e outra para armazenar respostas para reutilização futura (armazenamento):
Na seção Processamento de Entrada para a API, adicione a política azure-openai-semantic-cache-lookup. No atributo
embeddings-backend-id, especifique o back-end da API de embeddings que criou.Nota
Ao ativar o cache semântico para outras APIs de modelo de linguagem grande, use a política llm-semantic-cache-lookup.
Exemplo:
<azure-openai-semantic-cache-lookup score-threshold="0.15" embeddings-backend-id="embeddings-backend" embeddings-backend-auth="system-assigned" ignore-system-messages="true" max-message-count="10"> <vary-by>@(context.Subscription.Id)</vary-by> </azure-openai-semantic-cache-lookup> <rate-limit calls="10" renewal-period="60" />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.
Na secção de Processamento de Saída para a API, adicione a política azure-openai-semantic-cache-store.
Nota
Ao ativar o cache semântico para outras APIs de modelos de linguagem grande, use a política llm-semantic-cache-store.
Exemplo:
<azure-openai-semantic-cache-store duration="60" />
Confirmar armazenamento em cache
Para confirmar se o cache semântico funciona conforme o esperado, rastreie uma operação de Conclusão de teste ou Conclusão de Chat usando o console de teste no portal. Confirme se a cache é utilizada em tentativas subsequentes inspecionando o rastreio. Saiba mais sobre como rastrear chamadas de API no Gerenciamento de API do Azure.
Ajuste o score-threshold atributo na política de pesquisa para controlar até que ponto um prompt de entrada deve corresponder a um prompt armazenado em cache para retornar sua resposta armazenada. Um limite de pontuação mais baixo significa que os prompts devem ter maior semelhança semântica para retornar respostas armazenadas em cache. Prompts com pontuações acima do limite não usam a resposta em cache.
Por exemplo, se o cache for usado, a seção Saída incluirá entradas semelhantes à captura de tela a seguir:
Conteúdos relacionados
- Caching policies (Políticas de colocação em cache)
- Azure Managed Redis
- Funcionalidades de gateway de IA na Gestão de APIs do Azure