Memorizzare nella cache le risposte alle richieste API del modello linguistico di grandi dimensioni

SI APPLICA A: Tutti i livelli di Gestione API

I llm-semantic-cache-store criteri memorizzano nella cache le risposte alle richieste API di completamento della chat a una cache esterna configurata. La cache di risposta riduce i requisiti di larghezza di banda e di elaborazione imposti all'API del modello linguistico backend e riduce la latenza percepita dai consumatori API.

Nota

Nota

Impostare gli elementi e gli elementi figlio del criterio nell'ordine specificato nell'istruzione del criterio. Altre informazioni su come impostare o modificare i criteri di API Management.

API del modello supportate

Questo criterio funziona con le API LLM aggiunte a Gestione API conformi a uno degli schemi API seguenti:

  • API di completamento o risposte di OpenAI Chat
  • API messaggi Anthropic (attualmente supportata nei livelli di Gestione API v2)
  • Google Vertex AI API

Istruzione del criterio

<llm-semantic-cache-store duration="seconds" cache-response="true | false" />

Attributi

Attributo Descrizione Richiesto Valore predefinito
durata Durata (TTL, Time-To-Live) delle voci memorizzate nella cache, in secondi. Le espressioni di criteri sono consentite. N/D
cache-response Impostare su true per memorizzare nella cache la risposta HTTP corrente. Se l'attributo viene omesso, vengono memorizzate nella cache solo le risposte HTTP con il codice di stato 200 OK. Le espressioni di criteri sono consentite. No false

Utilizzo

Note sull'utilizzo

  • Questo criterio può essere usato una sola volta in una sezione di criteri.
  • Se la ricerca della cache non riesce, la chiamata API che usa l'operazione correlata alla cache non genera un errore e l'operazione della cache viene completata correttamente.
  • È consigliabile configurare criteri di limite di frequenza (o criteri rate-limit-by-key ) immediatamente dopo qualsiasi ricerca nella cache. Ciò consente di evitare che il servizio back-end venga sovraccaricato se la cache non è disponibile.

Esempi

Esempio con i criteri llm-semantic-cache-lookup corrispondenti

Nell'esempio seguente viene illustrato come usare i llm-semantic-cache-lookup criteri insieme llm-semantic-cache-store ai criteri per recuperare risposte memorizzate nella cache semanticamente simili con una soglia di punteggio di somiglianza pari a 0,05. I valori memorizzati nella cache vengono partizionati dall'ID sottoscrizione del chiamante.

Nota

Aggiungi una policy di limite di velocità (o politica limite di velocità per chiave ) dopo la ricerca della cache per aiutare a limitare il numero di chiamate e prevenire sovraccarichi sul servizio backend nel caso in cui la cache non sia disponibile.

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

Per ulteriori informazioni sull'utilizzo dei criteri, vedere: