Anmerkung
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
GILT FÜR: Alle API Management-Ebenen
Verwenden Sie die llm-semantic-cache-lookup Richtlinie, um die Cachesuche von Antworten auf LLM-API-Anforderungen (Large Language Model) aus einem konfigurierten externen Cache durchzuführen, basierend auf der Vektornähe der Eingabeaufforderung zu vorherigen Anforderungen und einem angegebenen Bewertungsschwellenwert. 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
- Diese Richtlinie muss über eine entsprechende Richtlinie für Cacheantworten auf API-Anforderungen für große Sprachmodelle verfügen.
- Voraussetzungen und Schritte zum Aktivieren der semantischen Zwischenspeicherung finden Sie unter Aktivieren der semantischen Zwischenspeicherung für LLM-APIs in Azure API Management.
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, die über die Azure AI Model Inference-API oder mit OpenAI-kompatiblen Modellen verfügbar sind, die von Drittanbietern bereitgestellt werden.
Richtlinienanweisung
<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>
Attribute
| Attribut | BESCHREIBUNG | Erforderlich | Standard |
|---|---|---|---|
| Bewertungsschwellenwert | Der Bewertungsschwellenwert definiert, wie genau eine eingehende Eingabeaufforderung mit einer zwischengespeicherten Eingabeaufforderung übereinstimmen muss, um die gespeicherte Antwort zurückzugeben. Der Wert liegt zwischen 0,0 und 1,0. Niedrigere Werte erfordern eine höhere semantische Ähnlichkeit für eine Übereinstimmung. Weitere Informationen | Ja | N/V |
| embeddings-backend-id | Back-End ID für den API-Aufruf der Einbettung. | Ja | N/V |
| Einbettungs-Back-End-Authentifizierung | Authentifizierung, die für Einbettungs-API-Back-End verwendet wird. | Ja. Muss auf system-assigned festgelegt sein. |
N/V |
| ignore-system-messages | Boolesch. Wenn diese Einstellung auf true (empfohlen) festgelegt ist, werden Systemnachrichten aus einer Chat-Vervollständigungsaufforderung entfernt, bevor die Cache-Ähnlichkeit bewertet wird. |
Nein | Falsch |
| max-message-count | Wenn angegeben, wird die Anzahl der verbleibenden Dialogfeldnachrichten, nach denen die Zwischenspeicherung übersprungen wird, angegeben. | Nein | N/V |
Elemente
| Name | BESCHREIBUNG | Erforderlich |
|---|---|---|
| variieren nach | 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. |
Nein |
Verwendung
- Richtlinienabschnitte: inbound
- Richtlinienbereiche: global, product, API, operation
- Gateways: klassisch, v2, Verbrauch, selbst gehostet
Hinweise zur Verwendung
- Diese Richtlinie kann nur einmal in einem Richtlinienabschnitt verwendet werden.
- Optimieren Sie den Wert
score-thresholdbasierend auf Ihrer Anwendung, um sicherzustellen, dass die richtige Vertraulichkeit verwendet wird, um zu bestimmen, wann zwischengespeicherte Antworten für Abfragen zurückgegeben werden sollen. Beginnen Sie mit einem niedrigen Wert wie 0,05, und passen Sie an, um das Verhältnis von Cachetreffern zu Fehlern zu optimieren. - Der Schwellenwert der Bewertung über 0,2 kann zu einem Cachekonflikt führen. Erwägen Sie die Verwendung eines niedrigeren Werts für vertrauliche Anwendungsfälle.
- Steuern sie den benutzerübergreifenden Zugriff auf Cacheeinträge, indem Sie bestimmte Benutzer- oder Benutzergruppen-IDs angeben
vary-by. - Das Einbettungsmodell sollte über genügend Kapazität und ausreichende Kontextgröße verfügen, um das Eingabeaufforderungsvolume und die Eingabeaufforderungen aufzunehmen.
- Erwägen Sie, llm-content-safety policy with prompt shield to protect from prompt attacks.
- 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-store“
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>
Verwandte Richtlinien
Zugehöriger Inhalt
Weitere Informationen zum Arbeiten mit Richtlinien finden Sie hier:
- Tutorial: Transformieren und Schützen Ihrer API
- Unter Richtlinien für die API-Verwaltung finden Sie eine komplette Liste der Richtlinienanweisungen und der zugehörigen Einstellungen.
- Richtlinienausdrücke
- Festlegen oder Bearbeiten von Richtlinien
- Wiederverwenden von Richtlinienkonfigurationen
- Repository für Richtliniencodeausschnitte
- Richtlinien-Playground-Repository
- Azure API Management-Richtlinientoolkit
- Anfordern von Copilot-Unterstützung zum Erstellen, Erläutern und Problembehandlung von Richtlinien