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
Habilite o cache semântico de respostas a solicitações da API LLM para reduzir os requisitos de largura de banda e processamento impostos às APIs de back-end e à menor latência percebida pelos consumidores de API. Com o cache semântico, você pode retornar respostas armazenadas em cache para prompts idênticos e também para prompts semelhantes em significado, mesmo que o texto não seja idêntico. Para obter informações em segundo plano, consulte Tutorial: Usar o Redis Gerenciado do Azure como um cache semântico.
Observação
As etapas de configuração neste artigo mostram como habilitar o cache semântico para APIs adicionadas ao Gerenciamento de API do Azure OpenAI em modelos do Microsoft Foundry. Você pode aplicar etapas semelhantes para habilitar o cache semântico para APIs de 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 implantações do modelo Azure OpenAI no Microsoft Foundry como APIs à sua instância do API Management. Para obter mais informações, consulte Adicionar uma API OpenAI do Azure ao Gerenciamento de API do Azure.
Crie implantações para as seguintes APIs:
- API de Conclusão de Chat – Implantação utilizada para chamadas de consumidores da API
- API de inserções – Implantação usada para cache 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 OpenAI do Azure usando o Gerenciamento de API do Azure.
Uma instância do Azure Managed Redis com o módulo RediSearch habilitada no cache do Redis.
Observação
Você só pode habilitar o módulo RediSearch ao criar um novo cache Redis Gerenciado do Azure. Você não pode adicionar um módulo a um cache existente. Saiba mais
Configure a instância do Redis Gerenciado do Azure como um cache externo na instância do Gerenciamento de API do Azure. Para obter as etapas, consulte Usar um cache externo compatível com o Redis no Gerenciamento de API do Azure.
Testar a implantação da API de Chat
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 obter etapas, consulte Importar uma API do OpenAI do Azure para o Gerenciamento de API do Azure.
Por exemplo, teste a API de Chat do Azure OpenAI enviando uma solicitação POST para o ponto de extremidade da API com um prompt no corpo da solicitação. A resposta deve incluir a conclusão do prompt. Solicitação de exemplo:
POST https://my-api-management.azure-api.net/my-api/openai/deployments/chat-deployment/chat/completions?api-version=2024-02-01
Com o corpo da solicitação:
{"messages":[{"role":"user","content":"Hello"}]}
Quando a solicitação for bem-sucedida, a resposta inclui uma conclusão para a mensagem de chat.
Criar um back-end para a API de inserções
Crie um recurso de back-end para a implantação da API de inserções com as seguintes configurações:
Nome – um nome de sua escolha, como embeddings-backend. Use esse nome para fazer referência ao back-end em políticas.
Tipo: selecione Personalizar URL.
URL de runtime – a URL da implantaçã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 – vá para a guia Identidade Gerenciada.
- Identidade do cliente – selecione a identidade atribuída pelo sistema ou insira uma ID de cliente de identidade gerenciada atribuída pelo usuário.
-
ID do recurso – Insira
https://cognitiveservices.azure.com/para o Azure OpenAI.
Testar o back-end de inserções
Para testar o back-end de inserções, crie uma operação de API para sua API OpenAI do Azure:
- Na guia Design da API, selecione + Adicionar operação.
- Insira um nome de exibição , como Embeddings e, opcionalmente, um nome para a operação.
-
Na seção Front-end, na URL, selecione POST e insira o caminho
/. - Na guia Cabeçalhos, adicione um cabeçalho necessário com o nome
Content-Typee o valorapplication/json. - Clique em Salvar.
Configure as políticas a seguir na seção de processamento de entrada da operação de API. Na política set-backend-service, substitua o nome do back-end que você criou.
<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 de vetor 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 as APIs do OpenAI do Azure 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 (repositório):
Na seção processamento de entrada da API, adicione a política azure-openai-semantic-cache-lookup.
embeddings-backend-idNo atributo, especifique o back-end da API embeddings que você criou.Observação
Ao habilitar 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" />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.
Na seção Processamento de saída da API, adicione a política azure-openai-semantic-cache-store.
Observação
Ao habilitar o cache semântico para outras APIs de modelo de linguagem grande, use a política llm-semantic-cache-store.
Exemplo:
<azure-openai-semantic-cache-store duration="60" />
Confirmar o cache
Para confirmar que o cache semântico funciona conforme esperado, rastreie uma operação de conclusão de teste ou conclusão de chat usando o console de teste no portal. Confirme se o cache é usado nas tentativas subsequentes inspecionando o rastreamento. Saiba mais sobre o rastreamento de chamadas à API no Gerenciamento de API do Azure.
Ajuste o score-threshold atributo na política de pesquisa para controlar a proximidade com que 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 similaridade semântica para retornar respostas armazenadas em cache. Prompts com pontuações acima do limite não usam a resposta armazenada em cache.
Por exemplo, se o cache for usado, a seção Saída incluirá entradas semelhantes à seguinte captura de tela:
Conteúdo relacionado
- Políticas de cache
- Redis Gerenciado do Azure
- Funcionalidades do gateway de IA no Gerenciamento de API do Azure