Abrufen zwischengespeicherter Antworten von API-Anforderungen für große Sprachmodelle

GILT FÜR: Alle API Management-Ebenen

Verwenden Sie die Richtlinie llm-semantic-cache-lookup, um basierend auf der Vektornähe des Prompts zu vorherigen Anforderungen und einem angegebenen Schwellenwert für den Ähnlichkeitswert die Cachesuche von Antworten auf API-Anforderungen für große Sprachmodelle (Large Language Model, LLM) aus einem konfigurierten externen Cache durchzuführen. Das Zwischenspeichern von Antworten senkt die Bandbreitennutzung und die Prozessoranforderungen hinsichtlich der Back-End-LLM-API und verringert die Latenz für API-Consumer.

Hinweis

Hinweis

Legen Sie die Elemente und untergeordneten Elemente einer Richtlinie in der Reihenfolge fest, die in der Richtlinienanweisung angegeben ist. Erfahren Sie mehr darüber, wie Sie API Management-Richtlinien festlegen oder bearbeiten.

Unterstützte Modelle

Verwenden Sie die Richtlinie mit LLM-APIs, die Azure API Management hinzugefügt wurden und über die Azure KI-Modellinferenz-API verfügbar sind.

Richtlinienanweisung

<llm-semantic-cache-lookup
    score-threshold="similarity score threshold"
    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>

Attribute

Attribut BESCHREIBUNG Erforderlich Standard
score-threshold Der Schwellenwert für die Ähnlichkeitsbewertung, der verwendet wird, um zu bestimmen, ob eine zwischengespeicherte Antwort an eine Eingabeaufforderung zurückgegeben werden soll. Der Wert ist eine Dezimalzahl zwischen 0,0 und 1,0. Weitere Informationen Ja N/V
embeddings-backend-id Back-End-ID für den API-Aufruf der OpenAI-Einbettungen Ja N/V
embeddings-backend-auth Authentifizierung, die für das API-Back-End der Azure OpenAI-Einbettungen verwendet wird Ja. Muss auf system-assigned festgelegt sein. N/V
ignore-system-messages Boolesch. Bei Festlegung auf true werden Systemnachrichten aus einer GPT-Chatabschlussaufforderung entfernt, bevor die Cache-Ähnlichkeit bewertet wird. No false
max-message-count Wenn angegeben, wird die Anzahl der verbleibenden Dialogfeldnachrichten, nach denen die Zwischenspeicherung übersprungen wird, angegeben. No

Elemente

Name BESCHREIBUNG Erforderlich
vary-by Ein benutzerdefinierter Ausdruck, der zur Runtime bestimmt wird, dessen Wertpartitionen zwischengespeichert werden. Wenn mehrere vary-by-Elemente hinzugefügt werden, werden Werte verkettet, um eine eindeutige Kombination zu erstellen. No

Verwendung

Hinweise zur Verwendung

  • Diese Richtlinie kann nur einmal in einem Richtlinienabschnitt verwendet werden.

Beispiele

Beispiel mit entsprechender Richtlinie „llm-semantic-cache-store“

<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>
    </inbound>
    <outbound>
        <llm-semantic-cache-store duration="60" />
        <base />
    </outbound>
</policies>

Weitere Informationen zum Arbeiten mit Richtlinien finden Sie hier: