Habilitar o cache semântico para APIs do Azure OpenAI no Gerenciamento de API do Azure
APLICA-SE A: todas as camadas do Gerenciamento de API
Habilite o cache semântico de respostas às solicitações da API do Azure OpenAI 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 o mesmo. Para obter informações em segundo plano, consulte Tutorial: Usar o Cache do Azure para Redis como um cachesemântico.
Observação
As etapas de configuração descritas neste artigo permitem o cache semântico para APIs do OpenAI do Azure. Essas etapas podem ser generalizadas para habilitar o cache semântico nas APIs de LLM (modelo de linguagem grande) correspondentes disponíveis por meio da API de Inferência do Modelo de IA do Azure.
Pré-requisitos
- Uma ou mais APIs do Serviço OpenAI do Azure devem ser adicionadas à instância de Gerenciamento de API. Para obter mais informações, consulte Adicionar uma API de Serviço OpenAI do Azure ao Gerenciamento de API doAzure.
- O serviço Azure OpenAI deve ter implantações para o seguinte:
- API de Conclusão de Chat (ou API de Conclusão) – Implantação usada para chamadas de consumidor de API
- API de inserções – Implantação usada para cache semântico
- A instância de Gerenciamento de API deve ser configurada 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.
- Cache do Azure para Redis Enterprise. O módulo RediSearch deve ser habilitado no cache Redis Enterprise.
Observação
Você só pode habilitar o módulo RediSearch ao criar um novo cache Redis Enterprise. Você não pode adicionar um módulo a um cache existente. Saiba mais
- Cache externo configurado na instância de Gerenciamento de API do Azure. Para obter mais etapas, consulte Usar um Cache do Azure para Redis externo 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 esteja funcionando 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
Configure 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 inserções no Serviço OpenAI do Azure, semelhante a:
https://my-aoai.openai.azure.com/openai/deployments/embeddings-deployment/embeddings
- Credenciais de autorização – acesse a guia Identidade Gerenciada.
- Entidade do cliente – selecione Identidade atribuída pelo sistema ou digite uma ID de cliente de identidade gerenciada atribuída pelo usuário.
- ID do recurso – Insira
https://cognitiveservices.azure.com/
para o Serviço OpenAI do Azure.
Testar o back-end
Para testar o back-end, crie uma operação de API para sua API do Serviço OpenAI do Azure:
- Na guia Design da API, selecione + Adicionar operação.
- Insira um nome de exibição 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-Type
e o valorapplication/json
. - Selecione 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:
{
"object": "list",
"data": [{
"object": "embedding",
"index": 0,
"embedding": [
-0.021829502,
-0.007157768,
-0.028619017,
[...]
]
}]
}
Configurar políticas de cache semântico
Configure as seguintes políticas para habilitar o cache semântico para APIs do Azure OpenAI no Gerenciamento de API do Azure:
Na seção processamento de entrada da API, adicione a política azure-openai-semantic-cache-lookup.
embeddings-backend-id
No 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.8" embeddings-backend-id="embeddings-deployment" ignore-system-messages="true" max-message-count="10"> <vary-by>@(context.Subscription.Id)</vary-by> </azure-openai-semantic-cache-lookup>
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 se o cache semântico está funcionando 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 o cache foi usado em tentativas subsequentes inspecionando o rastreamento. Saiba mais sobre o rastreamento de chamadas à API no Gerenciamento de API do Azure.
Por exemplo, se o cache foi usado, a seção Saída inclui entradas semelhantes às da seguinte captura de tela:
Conteúdo relacionado
- Caching policies (Políticas de caching)
- Cache do Azure para Redis
- Recursos do gateway GenAI no Gerenciamento de API do Azure