Erstellen Sie Ihren API-Schlüssel. Kopieren Sie ihn oder laden Sie ihn aus dem geöffneten Fenster mit dem erfolgreich erstellten API-Schlüssel herunter (Sie können nicht mehr darauf zugreifen, wenn Sie dieses Fenster schließen).
Wählen Sie eine watsonx.ai Runtime-Instanz aus der Liste der AI/MachineMachine Learning in der IBM Cloud Resource-Listenansicht aus.
Kopieren Sie den Namen, die GUID und die CRN aus dem Informationsfenster für Ihre watsonx.ai Runtime-Instanz. (Um das Informationsfenster zu öffnen, klicken Sie auf eine beliebige Stelle in der Zeile neben dem Namen Ihres watsonx.ai Runtime-Dienstes, aber nicht auf den Namen selbst. Der Informationsbereich öffnet sich dann im selben Fenster)
Wählen Sie einen Einsatzraum aus der Liste der Einsätze aus.
Kopieren Sie die Space GUID von der Registerkarte Verwalten > Allgemein. Weitere Informationen finden Sie in Bereitstellungsbereiche.
Informationen zu dieser Task
Copy link to section
Die folgenden Schritte zeigen Ihnen, wie Sie ein Decision Optimization mithilfe der watsonx.ai Runtime REST API bereitstellen. In dem REST-API-Beispiel wird 'curl' verwendet, ein Befehlszeilentool mit zugehöriger Bibliothek für die Übertragung von Daten in URL-Syntax. Sie können curl herunterladen und mehr darüber lesen unter http://curl.haxx.se Weitere Informationen zu den für Decision Optimizationrelevanten REST-APIs finden Sie in den folgenden Abschnitten:
Verwenden Sie unter Windows das Zeichen ^ anstelle von \ als Trennzeichen bei mehreren Zeilen und Anführungszeichen (") in allen Codebeispielen. Windows-Benutzer müssen in den Kopfzeilen außerdem eine Einrückung von mindestens einer Zeichenbreite verwenden.
Zur Verdeutlichung wurden einige Codebeispiele in dieser Prozedur in eine Datei json eingefügt, um die Befehle lesbarer und benutzerfreundlicher zu machen.
Sobald Sie eine Bereitstellung über die REST-API erstellt haben, können Sie sie auch über die Seite "Bereitstellungen > Räume" in der Benutzeroberfläche https://dataplatform.cloud.ibm.com anzeigen und Aufträge an sie senden.
Verwenden Sie das abgerufene Token (Wert access_token), dem das Wort Bearer im Header Authorization vorangestellt ist, und das watsonx.ai Runtime service GUID im Header ML-Instance-ID in allen API-Aufrufen.
Optional: Wenn Sie Ihre SPACE-ID nicht wie zuvor beschrieben über die Benutzerschnittstelle abgerufen haben, können Sie wie folgt einen Bereich mit der REST-API erstellen. Verwenden Sie das zuvor abgerufene Token, dem das Wort bearer im Header Authorization in allen API-Aufrufen vorangestellt ist.
Copy to clipboardIn die Zwischenablage kopiertShow more
Sie müssen warten, bis Ihr Bereitstellungsbereichsstatus "active" lautet, bevor Sie fortfahren. Um dies zu überprüfen, können Sie eine Abfrage durchführen.
Alle API-Anforderungen erfordern einen Versionsparameter, der ein Datum im Format version=YYYY-MM-DD annimmt. Dieses Codebeispiel übergibt ein Modell, das die Datei create_model.json verwendet. Die URL variiert je nach gewählter Region/Standort für Ihren watsonx.ai Runtime Service. Siehe Endpunkt-URLs.
Die Python-Version wird hier explizit in einem custom-Block angegeben. Dies ist optional. Ohne sie wird Ihr Modell die Standardversion verwenden, die derzeit Python 3.11 ist. Da sich die Standardversion im Laufe der Zeit weiterentwickelt, ermöglicht Ihnen die Angabe der Python-Version explizit, sie später ohne großen Aufwand zu ändern oder eine ältere unterstützte Version zu verwenden, wenn die Standardversion aktualisiert wird. Derzeit unterstützte Versionen sind 3.11 und 3.10 (veraltet).
Wenn Sie in der Lage sein möchten, Jobs für dieses Modell über die Benutzerschnittstelle auszuführen statt nur über die REST-API, müssen Sie das Schema für die Eingabe- und Ausgabedaten definieren. Wenn Sie das Schema während der Erstellung des Modells nicht definieren, können Sie Jobs nur über die REST-API ausführen und nicht über die Benutzerschnittstelle.
Sie können auch das für die Eingabe und Ausgabe angegebene Schema in Ihrem Optimierungsmodell verwenden:
Copy to clipboardIn die Zwischenablage kopiertShow more
Beim Übertragen eines Modells geben Sie Informationen zu seinem Modelltyp und der zu verwendenden Softwarespezifikation an.
Beispiele für mögliche Modelltypen:
do-opl_22.1 für OPL-Modelle
do-cplex_22.1 für CPLEX-Modelle
do-cpo_22.1 für CP-Modelle
do-docplex_22.1 für Python-Modelle
Version 20.1 kann auch für diese Modelltypen verwendet werden.
Für die Softwarespezifikationkönnen Sie die Standardspezifikationen mit ihren Namen do_22.1 oder do_20.1verwenden. Siehe auch Notebook 'Softwarespezifikation erweitern' , das zeigt, wie Sie die Softwarespezifikation Decision Optimization (Laufzeiten mit zusätzlichen Python -Bibliotheken für DOcplex-Modelle) erweitern können.
Ein MODELL-ID wird im Feld id in der metadata zurückgegeben.
Copy to clipboardIn die Zwischenablage kopiertShow more
Laden Sie eine Decision Optimization Modellformulierung hoch, die für die Bereitstellung bereit ist.
Komprimieren Sie Ihr Modell zunächst in eine Datei (tar.gz, .zip or
.jar) und laden Sie diese hoch, damit sie vom watsonx.ai Runtime Service bereitgestellt werden kann.
Dieses Codebeispiel lädt ein Modell mit dem Namen diet.zip hoch, das ein Python-Modell
und keine Masterdaten enthält:
Sie können dieses Beispiel und andere Modelle von den DO-Samples herunterladen. Wählen Sie den entsprechenden Produkt- und Versionsunterordner aus.
Modell bereitstellen
Erstellen Sie einen Verweis auf Ihr Modell. Verwenden Sie die SPACE-ID, die MODEL-ID, die Sie beim Erstellen Ihres Modells abgerufen haben, bereit zur Bereitstellung, und die Hardwarespezifikation. Beispiel:
Sie können dann Jobs übergeben für Ihr bereitgestelltes Modell, das die Eingabedaten und die Ausgabe (Ergebnisse der Optimierungslösung) und die Protokolldatei definiert.
Das folgende Beispiel zeigt den Inhalt einer Datei mit dem Namen myjob.json. Sie enthält (Inline-)Eingabedaten und einige Lösungsparameter und sie gibt an, dass die Ausgabe eine CSV-Datei sein wird. Für weitere Informationen siehe " Decision Optimization Batch-Bereitstellung und Modellausführung.
Wenn Sie einen Job mithilfe der API löschen, wird er weiterhin in der Benutzerschnittstelle angezeigt.
Optional: Sie können Bereitstellungen wie folgt löschen:
Wenn Sie eine Bereitstellung, die Jobs enthält, mithilfe der API löschen, werden die Jobs weiterhin im Bereitstellungsbereich in der Benutzerschnittstelle angezeigt.
Ergebnisse
Copy link to section
Nachdem Ihr Modell bereitgestellt und der Job ausgeführt wurde, werden die Lösungsergebnisse entweder inline oder in der von Ihnen angegebenen Datei/Position bereitgestellt (z. B. mit einer S3-Referenz). Sie können neue Jobs mithilfe der Bereitstellungs-ID (deployment-ID) veröffentlichen, ohne Ihr Modell erneut bereitstellen zu müssen.