Delen via


Antwoorden in de cache ophalen van Azure OpenAI API-aanvragen

VAN TOEPASSING OP: Alle API Management-lagen

Gebruik het azure-openai-semantic-cache-lookup beleid om cachezoekacties uit te voeren voor antwoorden op api-aanvragen voor voltooiings-API's van Azure OpenAI Chat vanuit een geconfigureerde externe cache, op basis van vectornaleving van de prompt naar eerdere aanvragen en een opgegeven drempelwaarde voor overeenkomstenscore. Reactiecaching vermindert de bandbreedte en verwerkingsvereisten die zijn opgelegd aan de Back-end Azure OpenAI-API en verlaagt de latentie die wordt waargenomen door API-consumenten.

Notitie

Stel de elementen en onderliggende elementen van het beleid in de volgorde in die in de beleidsverklaring is opgegeven. Meer informatie over het instellen of bewerken van API Management-beleid.

Ondersteunde Azure OpenAI in Azure AI Foundry-modellen

Het beleid wordt gebruikt met API's die zijn toegevoegd aan API Management vanuit de Azure OpenAI in AI Foundry-modellen van de volgende typen:

API-type Ondersteunde modellen
Chatvoltooiing gpt-3.5

gpt-4

gpt-4o

gpt-4o-mini

o1

o3
Insluitingen text-embedding-3-large

text-embedding-3-small

text-embedding-ada-002
Antwoorden (preview) gpt-4o (Versies: 2024-11-20, 2024-08-06, 2024-05-13)

gpt-4o-mini (Versie: 2024-07-18)

gpt-4.1 (Versie: 2025-04-14)

gpt-4.1-nano (Versie: 2025-04-14)

gpt-4.1-mini (Versie: 2025-04-14)

gpt-image-1 (Versie: 2025-04-15)

o3 (Versie: 2025-04-16)

o4-mini (Versie: '2025-04-16)

Notitie

Traditionele voltooiings-API's zijn alleen beschikbaar met verouderde modelversies en ondersteuning is beperkt.

Zie Azure OpenAI in Foundry Models voor actuele informatie over de modellen en hun mogelijkheden.

Beleidsinstructie

<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>

Kenmerken

Kenmerk Beschrijving Vereist Standaardinstelling
score-threshold Scoredrempel bepaalt hoe dicht een binnenkomende prompt moet overeenkomen met een prompt in de cache om het opgeslagen antwoord te retourneren. De waarde varieert van 0,0 tot 1,0. Lagere waarden vereisen een hogere semantische gelijkenis voor een overeenkomst. Meer informatie. Ja N.v.t.
embeddings-backend-id Back-end Id voor insluiten VAN API-aanroep. Ja N.v.t.
embeddings-backend-auth Verificatie die wordt gebruikt voor het insluiten van de API-back-end. Ja. Moet worden ingesteld op system-assigned. N.v.t.
ignore-system-messages Booleaans. Als deze optie is ingesteld op true (aanbevolen), verwijdert u systeemberichten uit een prompt voor het voltooien van een chat voordat u de overeenkomsten in de cache beoordeelt. Nee onwaar
max-message-count Indien opgegeven, het aantal resterende dialoogvensterberichten waarna caching wordt overgeslagen. Nee N.v.t.

Elementen

Naam Beschrijving Vereist
variƫren per Een aangepaste expressie die tijdens runtime wordt bepaald waarvan de waardepartities in de cache worden opgeslagen. Als er meerdere vary-by elementen worden toegevoegd, worden waarden samengevoegd om een unieke combinatie te maken. Nee

Gebruik

Gebruiksnotities

  • Dit beleid kan slechts eenmaal worden gebruikt in een beleidssectie.
  • Verfijn de waarde van op basis van score-threshold uw toepassing om ervoor te zorgen dat de juiste gevoeligheid wordt gebruikt om te bepalen wanneer antwoorden in de cache moeten worden geretourneerd voor query's. Begin met een lage waarde, zoals 0,05, en pas deze aan om de verhouding tussen cachetreffers te optimaliseren.
  • Scoredrempel boven 0,2 kan ertoe leiden dat de cache niet overeenkomt. Overweeg om lagere waarde te gebruiken voor gevoelige gebruiksvoorbeelden.
  • Beheer de toegang van meerdere gebruikers tot cachevermeldingen door op te vary-by geven met specifieke gebruikers- of gebruikersgroep-id's.
  • Het insluitingsmodel moet voldoende capaciteit en voldoende contextgrootte hebben om het promptvolume en de prompts te kunnen verwerken.
  • Overweeg om beleid voor llm-content-safety toe te voegen met promptschild om te beschermen tegen promptaanvallen.
  • U wordt aangeraden een beleid voor frequentielimiet (of beleid voor frequentielimiet per sleutel ) onmiddellijk na een cachezoekactie te configureren. Dit helpt ervoor te zorgen dat uw back-endservice overbelast raakt als de cache niet beschikbaar is.

Voorbeelden

Voorbeeld met het bijbehorende beleid voor azure-openai-semantic-cache-store

In het volgende voorbeeld ziet u hoe u het azure-openai-semantic-cache-lookup beleid samen met het azure-openai-semantic-cache-store beleid gebruikt om semantisch vergelijkbare reacties in de cache op te halen met een drempelwaarde voor overeenkomstenscore van 0,05. Waarden in de cache worden gepartitioneerd door de abonnements-id van de aanroeper.

Notitie

Het beleid voor frequentielimiet dat is toegevoegd nadat de cachezoekactie heeft toegevoegd, helpt het aantal aanroepen te beperken om te voorkomen dat de back-endservice overbelast raakt als de cache niet beschikbaar is.

<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>

Zie voor meer informatie over het werken met beleid: