Delen via


Antwoorden in de cache ophalen van API-aanvragen voor grote taalmodellen

VAN TOEPASSING OP: Alle API Management-lagen

Gebruik het llm-semantic-cache-lookup beleid om cachezoekacties uit te voeren voor antwoorden op LLM-API-aanvragen (Large Language Model) van een geconfigureerde externe cache, op basis van vectornabijheid van de prompt voor eerdere aanvragen en een opgegeven scoredrempel. Reactiecaching vermindert de bandbreedte en verwerkingsvereisten die zijn opgelegd aan de BACK-end LLM-API en verlaagt de latentie die wordt waargenomen door API-gebruikers.

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 modellen

Gebruik het beleid met LLM-API's die zijn toegevoegd aan Azure API Management die beschikbaar zijn via de Azure AI-modeldeductie-API of met openAI-compatibele modellen die worden geleverd via externe deductieproviders.

Beleidsinstructie

<llm-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>
</llm-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 overeenkomend beleid voor llm-semantic-cache-store

In het volgende voorbeeld ziet u hoe u het llm-semantic-cache-lookup beleid samen met het llm-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 />
        <llm-semantic-cache-lookup
            score-threshold="0.05"
            embeddings-backend-id ="llm-backend"
            embeddings-backend-auth ="system-assigned" >
            <vary-by>@(context.Subscription.Id)</vary-by>
        </llm-semantic-cache-lookup>
        <rate-limit calls="10" renewal-period="60" />
    </inbound>
    <outbound>
        <llm-semantic-cache-store duration="60" />
        <base />
    </outbound>
</policies>

Zie voor meer informatie over het werken met beleid: