Cacheantworten für API-Anforderungen für große Sprachmodelle (LLM)

GILT FÜR: Alle API Management-Ebenen

Die llm-semantic-cache-store Richtlinie speichert Antworten auf Api-Anforderungen zum Chatabschluss an einen konfigurierten externen Cache. Response Caching reduziert die Bandbreiten- und Verarbeitungsanforderungen, die der Backend-Sprachmodell-API auferlegt werden, und senkt die Latenz, die von API-Konsumenten wahrgenommen wird.

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

Diese Richtlinie funktioniert mit LLM-APIs, die der API-Verwaltung hinzugefügt wurden, die einem der folgenden API-Schemas entsprechen:

  • OpenAI-Chatabschluss- oder Antwort-API
  • Anthropic Nachrichten-API (derzeit in API-Verwaltungsebenen v2 unterstützt)
  • Google Vertex AI API

Richtlinienanweisung

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

Attribute

Attribut BESCHREIBUNG Erforderlich Standard
Dauer Lebensdauer der zwischengespeicherten Einträge, angegeben in Sekunden. Richtlinienausdrücke sind zulässig. Ja
Cacheantwort Wird auf true festgelegt, um die aktuelle HTTP-Antwort zwischenzuspeichern. Wenn das Attribut weggelassen wird, werden nur HTTP-Antworten mit dem Statuscode 200 OK zwischengespeichert. Richtlinienausdrücke sind zulässig. No false

Verwendung

Hinweise zur Verwendung

  • Diese Richtlinie kann nur einmal in einem Richtlinienabschnitt verwendet werden.
  • Wenn das Cache-Lookup fehlschlägt, löst der API-Aufruf, der den cachebezogenen Vorgang verwendet, keinen Fehler aus, und der Cachevorgang wird erfolgreich abgeschlossen.
  • Es wird empfohlen, eine Richtlinie für Die Rate-Limit -Richtlinie (oder eine Richtlinie mit einem Satzgrenzwert nach Schlüsseln ) unmittelbar nach jeder Cachesuche zu konfigurieren. Dadurch wird verhindert, dass Ihr Back-End-Dienst überlastet wird, wenn der Cache nicht verfügbar ist.

Beispiele

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

Das folgende Beispiel zeigt, wie Sie die llm-semantic-cache-lookup Richtlinie zusammen mit der llm-semantic-cache-store Richtlinie verwenden, um semantisch ähnliche zwischengespeicherte Antworten mit einem Schwellenwert für die Ähnlichkeitsbewertung von 0,05 abzurufen. Zwischengespeicherte Werte werden durch die Abonnement-ID des Aufrufers partitioniert.

Hinweis

Fügen Sie nach der Cache-Suche eine Rate-Limit-Policy (oder Rate-Limit-by-Key-Policy ) hinzu, um die Anzahl der Anrufe zu begrenzen und Überlastung des Backend-Services zu vermeiden, falls der Cache nicht verfügbar ist.

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

Weitere Informationen zum Arbeiten mit Richtlinien finden Sie hier: