Hinweis
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
Aktivieren Sie das semantische Zwischenspeichern von Antworten auf Azure OpenAI-API-Anforderungen, um die Bandbreiten- und Verarbeitungsanforderungen an die Backend-APIs zu reduzieren und die von den API-Consumern wahrgenommene Latenz zu verringern. Mit der semantischen Zwischenspeicherung können Sie zwischengespeicherte Antworten für identische Prompts und auch für Prompts, die eine ähnliche Bedeutung haben, zurückgeben, selbst wenn der Text nicht identisch ist. Hintergrundinformationen finden Sie im Tutorial: Verwenden von Azure Cache for Redis als semantischen Cache.
Hinweis
Die Konfigurationsschritte in diesem Artikel aktivieren die semantische Zwischenspeicherung für Azure OpenAI-APIs. Diese Schritte können generalisiert werden, um die semantische Zwischenspeicherung für entsprechende LLM-APIs (Large Language Model) zu ermöglichen, die über die Azure AI Model Inference-API oder mit OpenAI-kompatiblen Modellen verfügbar sind, die von Drittanbietern bereitgestellt werden.
Voraussetzungen
- Mindestens eine Azure OpenAI in Foundry Models-APIs muss Ihrer API-Verwaltungsinstanz hinzugefügt werden. Weitere Informationen finden Sie unter Hinzufügen einer Azure OpenAI-API zur Azure-API-Verwaltung.
- Die Azure OpenAI-Instanz muss über Bereitstellungen für Folgendes verfügen:
- Chat-Vervollständigungs-API – Bereitstellung, die für API-Verbraucheraufrufe verwendet wird
- Embeddings-API: Bereitstellung, die für die semantische Zwischenspeicherung verwendet wird
- Die API Management-Instanz muss für die Verwendung der Authentifizierung mittels verwalteter Identität für die Azure OpenAI-APIs konfiguriert werden. Weitere Informationen finden Sie unter Authentifizieren und Autorisieren des Zugriffs auf Azure OpenAI-APIs mithilfe von Azure API Management.
- Eine Azure Managed Redis-Instanz . Das RediSearch-Modul muss im Redis-Cache aktiviert werden.
Hinweis
Sie können das RediSearch-Modul nur aktivieren, wenn Sie einen neuen Azure Redis Enterprise- oder Azure Managed Redis-Cache erstellen. Sie können einem vorhandenen Cache kein Modul hinzufügen. Weitere Informationen
- Externer Cache, der in der Azure API Management-Instanz konfiguriert ist. Die entsprechenden Schritte finden Sie unter Verwenden eines externen Redis-kompatiblen Caches in Azure API Management.
Testen der Chat-API-Bereitstellung
Testen Sie zunächst die Azure OpenAI-Bereitstellung, um sicherzustellen, dass die Chat-Vervollständigungs-API bzw. die Chat-API erwartungsgemäß funktioniert. Eine schrittweise Anleitung finden Sie unter Importieren einer Azure OpenAI-API in Azure API Management.
Testen Sie beispielsweise die Azure OpenAI-Chat-API, indem Sie eine POST-Anforderung mit einem Prompt im Anforderungstext an den API-Endpunkt senden. Die Antwort sollte die Vervollständigung des Prompts enthalten. Beispiel für eine Anforderung:
POST https://my-api-management.azure-api.net/my-api/openai/deployments/chat-deployment/chat/completions?api-version=2024-02-01
mit dem Anforderungstext:
{"messages":[{"role":"user","content":"Hello"}]}
Wenn die Anforderung erfolgreich ist, enthält die Antwort eine Vervollständigung für die Chatnachricht.
Erstellen eines Back-End für die Einbettungs-API
Konfigurieren Sie eine Back-End-Ressource für die Einbettungs-API-Bereitstellung mit den folgenden Einstellungen:
- Name: Ein Name Ihrer Wahl, z. B.
embeddings-backend
Sie verwenden diesen Namen, um in Richtlinien auf das Back-End zu verweisen. - Typ: Wählen Sie Benutzerdefinierte URL aus.
- Laufzeit-URL – Die URL der Bereitstellung der Einbettungs-API in der Azure OpenAI-Instanz, ähnlich wie:
https://my-aoai.openai.azure.com/openai/deployments/embeddings-deployment/embeddings
- Autorisierungsanmeldeinformationen: Wechseln Sie zur Registerkarte Verwaltete Identität.
- Clientidentität: Wählen Sie Systemseitig zugewiesene Identität aus, oder geben Sie die Client-ID einer benutzerseitig zugewiesenen verwalteten Identität ein.
- Ressourcen-ID – Geben Sie
https://cognitiveservices.azure.com/
für Azure OpenAI ein.
Testen des Back-Ends
Um das Back-End zu testen, erstellen Sie einen API-Vorgang für Ihre Azure OpenAI-API:
- Wählen Sie auf der Registerkarte Entwurf Ihrer API die Option + Vorgang hinzufügen aus.
- Geben Sie einen Anzeigenamen und optional einen Namen für den Vorgang ein.
- Wählen Sie im Abschnitt Front-End inURL die Option POST aus, und geben Sie den Pfad
/
ein. - Fügen Sie auf der Registerkarte Header einen erforderlichen Header mit dem Namen
Content-Type
und dem Wertapplication/json
hinzu. - Wählen Sie Speichern aus.
Konfigurieren Sie die folgenden Richtlinien im Abschnitt Eingehende Verarbeitung des API-Vorgangs. Ersetzen Sie in der Richtlinie set-backend-service den Namen durch das von Ihnen erstellte Back-End.
<policies>
<inbound>
<set-backend-service backend-id="embeddings-backend" />
<authentication-managed-identity resource="https://cognitiveservices.azure.com/" />
[...]
</inbound>
[...]
</policies>
Testen Sie auf der Registerkarte Test den Vorgang, indem Sie den Abfrageparameter api-version
mit einem Wert wie 2024-02-01
hinzufügen. Geben Sie einen gültigen Anforderungstext an. Zum Beispiel:
{"input":"Hello"}
Wenn die Anforderung erfolgreich ist, enthält die Antwort eine Vektordarstellung des Eingabetexts:
{
"object": "list",
"data": [{
"object": "embedding",
"index": 0,
"embedding": [
-0.021829502,
-0.007157768,
-0.028619017,
[...]
]
}]
}
Konfigurieren von Richtlinien für die semantische Zwischenspeicherung
Um die semantische Zwischenspeicherung für Azure OpenAI-APIs in Azure API Management zu aktivieren, wenden Sie die folgenden Richtlinien an: eine, um den Cache vor dem Senden von Anforderungen (Lookup) zu überprüfen, und eine andere, um Antworten für die zukünftige Wiederverwendung (Speicher) zu speichern:
Fügen Sie im Abschnitt Eingehende Verarbeitung für die API die Richtlinie azure-openai-semantic-cache-lookup hinzu. Geben Sie im Attribut
embeddings-backend-id
das von Ihnen erstellte Embeddings-API-Back-End an.Hinweis
Wenn Sie die semantische Zwischenspeicherung für andere APIs für große Sprachenmodelle aktivieren, verwenden Sie stattdessen die Richtlinie für llm-semantic-cache-lookup.
Beispiel:
<azure-openai-semantic-cache-lookup score-threshold="0.8" embeddings-backend-id="embeddings-deployment" embeddings-backend-auth="system-assigned" ignore-system-messages="true" max-message-count="10"> <vary-by>@(context.Subscription.Id)</vary-by> </azure-openai-semantic-cache-lookup>
Fügen Sie im Abschnitt Ausgehende Verarbeitung für die API die Richtlinie azure-openai-semantic-cache-store hinzu.
Hinweis
Wenn Sie die semantische Zwischenspeicherung für andere APIs für große Sprachenmodelle aktivieren, verwenden Sie stattdessen die Richtlinie für llm-semantic-cache-store.
Beispiel:
<azure-openai-semantic-cache-store duration="60" />
Bestätigen der Zwischenspeicherung
Um zu bestätigen, dass die semantische Zwischenspeicherung erwartungsgemäß funktioniert, verfolgen Sie einen Testvervollständigungs- oder Chatvervollständigungsvorgang mithilfe der Testkonsole im Portal. Stellen Sie sicher, dass der Cache bei nachfolgenden Versuchen verwendet wurde, indem Sie das Protokoll überprüfen. Erfahren Sie mehr über die Ablaufverfolgung von API-Aufrufen in Azure API Management.
Wenn der Cache verwendet wurde, enthält der Ausgabeabschnitt beispielsweise Einträge, die denen im folgenden Screenshot ähneln:
Zugehöriger Inhalt
- Cachingrichtlinien
- Azure Cache für Redis
- KI-Gatewayfunktionen in Azure API Management