Dela via


Cache-svar på API-begäranden för stora språkmodeller

GÄLLER FÖR: Alla API Management-nivåer

Principen llm-semantic-cache-store cachelagrar svar på API-begäranden om chattens slutförande till en konfigurerad extern cache. Cachelagring av svar minskar bandbredds- och bearbetningskrav som ställs på serverdelens Azure OpenAI API och minskar svarstiden som uppfattas av API-konsumenter.

Kommentar

Kommentar

Ange principens element och underordnade element i den ordning som anges i principbeskrivningen. Läs mer om hur du anger eller redigerar API Management-principer.

Modeller som stöds

Använd principen med LLM-API:er som lagts till i Azure API Management som är tillgängliga via Azure AI Model Inference API eller med OpenAI-kompatibla modeller som hanteras via tredjeparts slutsatsdragningsproviders.

Principuttryck

<llm-semantic-cache-store duration="seconds"/>

Attribut

Attribut beskrivning Obligatoriskt Standardvärde
varaktighet Time-to-live för de cachelagrade posterna, som anges i sekunder. Principuttryck tillåts. Ja Ej tillämpligt

Förbrukning

Användningsanteckningar

  • Den här principen kan bara användas en gång i ett principavsnitt.
  • Om cachesökningen misslyckas utlöser inte API-anropet som använder den cacherelaterade åtgärden något fel och cacheåtgärden slutförs.
  • Vi rekommenderar att du konfigurerar en princip för hastighetsbegränsning (eller princip för hastighetsgräns per nyckel ) omedelbart efter alla cachesökningar. Detta hjälper till att hindra serverdelstjänsten från att överbelastas om cacheminnet inte är tillgängligt.

Exempel

Exempel med motsvarande llm-semantic-cache-lookup-policy

I följande exempel visas hur du använder llm-semantic-cache-lookup principen tillsammans med llm-semantic-cache-store principen för att hämta semantiskt liknande cachelagrade svar med ett tröskelvärde för likhetspoäng på 0,05. Cachelagrade värden partitioneras av anroparens prenumerations-ID.

Kommentar

Den hastighetsbegränsningsprincip som lagts till efter cachesökningen hjälper till att begränsa antalet anrop för att förhindra överlagring på serverdelstjänsten om cachen inte är tillgänglig.

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

Mer information om hur du arbetar med principer finns i: