Nur DataPower-API-Gateway

Azure openai-aufrufen

Draft comment: abeesh.thomas@ibm.com
Review done by Steve. This is the CLI version.
Verwenden Sie die Richtlinie Azure OpenAI invoke, um die Vorgänge Azure OpenAI aufzurufen.

Gateway-Unterstützung

Tabelle 1. Tabelle, aus der hervorgeht, welche Gateways diese Richtlinie unterstützen, sowie die entsprechende Richtlinienversion
Gateway Richtlinienversion
DataPower® API Gateway 2.0.0

In diesem Thema wird beschrieben, wie Sie die Richtlinie in Ihrer „ OpenAPI “-Quelle konfigurieren. Weitere Informationen zur Konfiguration der Richtlinie in der Benutzeroberfläche der Assembly finden Sie unter Azure openai-invoke.

Produktinfo

Die Richtlinie Azure OpenAI invoke bietet Zugriff auf vier Vorgänge Azure OpenAI :
  • POST /chat/completions
  • POST /embeddings
  • GET /models
  • GET /models/[model-id]

Eigenschaften

Die folgende Tabelle enthält die Richtlinieneigenschaften, gibt an, ob eine Eigenschaft erforderlich ist, enthält die gültigen Werte und die Standardwerte für Eingaben und gibt den jeweiligen Datentyp der Werte an.

Tabelle 2. Azure OpenAI Rufen Sie die Eigenschaften der Richtlinie auf
Eigenschaftsname Erforderlich Beschreibung Datentyp
version Ja Die Versionsnummer der Richtlinie. Sie müssen eine Version für die Richtlinie angeben, die mit dem von Ihnen verwendeten Gateway kompatibel ist. Wenn die API veröffentlicht wird und die Version nicht mit dem Gateway kompatibel ist, wird ein Validierungsfehler ausgegeben, der die verfügbaren Versionen angibt. Zeichenfolge
title Nein Der Titel der Richtlinie; der Standardwert ist Azure OpenAI calloke chat completions. Zeichenfolge
description Nein Eine Beschreibung der Richtlinie. Zeichenfolge
operation Ja Der aufzurufende Vorgang Azure OpenAI ; muss einer der folgenden Vorgänge sein:
  • POST /chat/completions

    Ein HTTP POST-Vorgang für /chat/completions. Beispiele für Anfragen und Antworten finden Sie im Abschnitt „Chat-Vervollständigung erstellen“ der Azure OpenAI Dokumentation.

  • POST embeddings

    Ein HTTP POST-Vorgang für /embeddings. Beispiele für Anfragen und Antworten finden Sie im Abschnitt „Einbettungen erstellen“ der Azure OpenAI Dokumentation.

  • GET models

    Ein HTTP GET-Vorgang für /models. Beispiele für Antwortformate finden Sie im Abschnitt „List Models“ der OpenAI Dokumentation.

  • GET models/[model]

    Ein HTTP GET-Vorgang für /models/[model]. Beispiele für Antwortformate finden Sie im Abschnitt „Modell abrufen“ der Azure OpenAI Dokumentation.

Zeichenfolge
api_key Ja Der API-Schlüssel oder ein Variablenverweis auf die Variable, die einen API-Schlüssel enthält. Der API-Schlüssel wird zur Authentifizierung von Azure OpenAI Anfragen verwendet. Zeichenfolge
Bereitstellungs-ID Ja Name des Projekts/der Einrichtung in Azure, in dem/der das Modell eingesetzt wird. Zeichenfolge
resource_id Ja Dient als Teil des Endpunkts von URL, der auf die von Ihnen bereitgestellten Ressourcen verweist. Zeichenfolge
enable_cache Nein Die Zwischenspeicherung von Antworten ist standardmäßig aktiviert, um die API-Leistung zu optimieren; Sie können sie jedoch bei Bedarf für Ihre API deaktivieren.

Wenn die Zwischenspeicherung von Antworten aktiviert ist, wird beim Senden einer Anforderung an den Dienst OpenAI der Antwort-Cache überprüft, um festzustellen, ob die Nutzdaten der Anforderung eine zugehörige zwischengespeicherte Antwort enthalten. Wenn dies der Fall ist, werden diese zwischengespeicherte Antwort und ihre zugehörigen HTTP Antwort-Header in dieDataPower API Gateway Kontextnachricht eingefügt, die durch die Eigenschaft output angegeben wird.

Wenn es keine zwischengespeicherte Antwort gibt, wird die Anfrage an den Dienst OpenAI weitergeleitet, und die Antwort wird für nachfolgende Vorgänge mit der in der Eigenschaft cache_ttl angegebenen Time-to-Live zwischengespeichert.

boolesch
cache_ttl Nein Die Dauer des Caches (die Time-to-Live). Die Mindestdauer beträgt 60 Sekunden und die Höchstdauer 86400 Sekunden (1 Tag) - jeder Wert außerhalb dieses Bereichs wird bei der Veröffentlichung der API nicht validiert, selbst wenn der Wert in diesem Feld akzeptiert wird. ganze Zahl
cache_scope Nein Eine Zeichenfolge, die dem Schlüssel, der zum Speichern einer zwischengespeicherten Antwort verwendet wird, Einzigartigkeit verleiht. Durch Hinzufügen eines Cache-Bereichs kann dieselbe Anfrage in mehreren Cache-Einträgen gespeichert werden. Zeichenfolge
op-version Nein Die Vorgangsversion gibt die Version des Vorgangs OpenAI (z. B. Erledigungen, Chat/Vervollständigungen, Einbettungen) an, für den die Richtlinie gilt. Sie wird im Format JJJJ-MM-TT definiert.
pfad_Parameter Nein Bei Vorgängen, die einen Pfadparameter haben, der mit einem Pfadparameternamen in eckigen Klammern im Vorgang gekennzeichnet ist, geben Sie den Namen des Parameters und den Wert durch einen Doppelpunkt getrennt an. Wenn die Operation mehr als einen Pfadparameter hat, sollte jeder Pfadparameter durch ein Komma getrennt werden. Für die Operation GET models/[model] würde die Eigenschaft des Pfadparameters beispielsweise mit model:somename angegeben.
Hinweis: Wenn ein Pfadparameter für den ausgewählten Vorgang erforderlich ist, aber nicht angegeben wurde, schlägt der Aufruf des Vorgangs fehl. Bei Vorgängen, die keinen Pfadparameter erfordern, werden jedoch alle angegebenen Pfadparameter ignoriert.
Zeichenfolge
abfrage_params Nein Für Vorgänge, die Abfrageparameter unterstützen, geben Sie eine Abfrageparameter-Zeichenkette an, die den Namen des Parameters und den Wert, getrennt durch ein Gleichheitszeichen, angibt. Wenn mehr als ein Abfrageparameter unterstützt wird, wird jeder Abfrageparameter mit einem kaufmännischen Und-Zeichen getrennt. Die derzeit unterstützten Operationen unterstützen keine Abfrageparameter, obwohl Operationen, die in Zukunft unterstützt werden könnten, Abfrageparameter unterstützen würden. Zeichenfolge
output Nein Der Name der Kontextnachricht DataPower API Gateway, die die Antwort OpenAI erhält. Standardmäßig wird für diese Eigenschaft der Wert message verwendet, so dass die Antwort für nachfolgende API-Richtlinien unter message.body und message.headers zugänglich ist. Zeichenfolge

Beispiel


azure-openai-invoke:
          title: Azure-OpenAI invoke policy
          description: Azure-OpenAI invoke policy desc
          api_key: keyvalue
          deployment_id: $(dep-id)
          resource_id: $(res-id)
          operation: POST chat/completions
          op-version: $(azure-op-version)
          path_params:  
          enable_cache: true
          cache_ttl: 60
          cache_scope: azureScope
          output: request
          version: 2.0.0