Ändern der Version von „ Python “ für ein bereits bereitgestelltes Modell mithilfe der REST-API ( Decision Optimization )

Sie können ein vorhandenes Decision Optimization Modell mithilfe der REST-API „ Watson Machine Learning “ aktualisieren. Dies kann beispielsweise nützlich sein, wenn Sie in Ihrem Modell explizit eine Python-Version angegeben haben, die jetzt veraltet ist.

Vorbereitende Schritte

Sie benötigen Ihre SPACE-ID, MODELL-ID und IMPLEMENTIERUNGS-ID, um diese Änderung vorzunehmen. Weitere Informationen finden Sie im Beispiel für die REST-API ( Decision Optimization ).

Informationen zu dieser Task

Die folgenden Schritte zeigen Ihnen, wie Sie ein vorhandenes Decision Optimization bereitgestelltes Modell mithilfe der REST-API „ Watson Machine Learning “ aktualisieren können. 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 weitere Informationen dazu unter finden http://curl.haxx.se.

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.

Vorgehensweise

So ändern Sie die Version von „ Python “ für ein bereits bereitgestelltes Modell:

  1. Erstellen Sie eine Überarbeitung Ihres Decision Optimization Modells.

    Alle API-Anforderungen erfordern einen Versionsparameter, der ein Datum im Format version=YYYY-MM-DD annimmt. Dieses Codebeispiel übergibt ein Modell, das die Datei update_model.json verwendet. Die URL variiert je nach Auswahl von Region/Standort für Ihren Machine Learning-Service.

    curl --request POST \
      "https://HOST-CLUSTER-HERE/ml/v4/models/MODEL-ID-HERE/revisions?version=2025-04-01" \
      -H "Authorization: ZenApiKey <token>" \
      -H "Content-Type: application/json" \
      -d @revise_model.json
    Die Datei revise_model.json enthält den folgenden Code:
    {
      "commit_message": "Save current model",
      "space_id": "SPACE-ID-HERE"
    }
    Beachten Sie die Modellrevisionsnummer "rev", die in der Ausgabe zur Verwendung im nächsten Schritt bereitgestellt wird.
  2. Aktualisieren Sie eine vorhandene Bereitstellung, damit aktuelle Jobs nicht beeinträchtigt werden:
    curl --request PATCH \
      "https://HOST-CLUSTER-HERE/ml/v4/deployments/DEPLOYMENT-ID-HERE?version=2025-04-01&space_id=SPACE-ID-HERE" \
      -H "Authorization: ZenApiKey <token>" \
      -H "Content-Type: application/json" \
      -d @revise_deploy.json
    Die Datei revise_deploy.json enthält den folgenden Code:
    [
      {
      "op": "add",
      "path": "/asset",
      "value": {
        "id":"MODEL-ID-HERE",
        "rev":"MODEL-REVISION-NUMBER-HERE"
       }
      }
    ]
  3. Ein vorhandenes Modell patchen, um die Version „ Python “ explizit anzugeben 3.12
    curl --request PATCH \
      "https://HOST-CLUSTER-HERE/ml/v4/models/MODEL-ID-HERE?rev=MODEL-REVISION-NUMBER-HERE&version=2025-04-01&space_id=SPACE-ID-HERE" \
      -H "Authorization: ZenApiKey <token>" \
      -H "Content-Type: application/json" \
      -d @update_model.json
    Die Datei update_model.json mit dem explizit angegebenen Standardwert Python-Version enthält den folgenden Code:
    [
     {
     "op": "add",
     "path": "/custom",
     "value": {
       "decision_optimization":{
          "oaas.docplex.python": "3.12"
         }
       }
     }
    ]
    Gehen Sie alternativ wie folgt vor, um jede explizite Erwähnung einer Python-Version zu entfernen, sodass immer die Standardversion verwendet wird:
    [
     {
     "op": "remove",
     "path": "/custom/decision_optimization"
     }
    ]
  4. Patch die Bereitstellung, um das Modell zu verwenden, das für Python erstellt wurde, um Version zu verwenden. 3.12
    curl --request PATCH \
      "https://HOST-CLUSTER-HERE/ml/v4/deployments/DEPLOYMENT-ID-HERE?version=2025-04-01&space_id=SPACE-ID-HERE" \
      -H "Authorization: ZenApiKey <token>" \
      -H "Content-Type: application/json" \
      -d @update_deploy.json
    Die Datei update_deploy.json enthält den folgenden Code:
    [
     {
       "op": "add",
       "path": "/asset",
       "value": { "id":"MODEL-ID-HERE"}
     }
    ]

Ergebnisse

Sie können neue Jobs mithilfe der Bereitstellungs-ID (deployment-ID) veröffentlichen, ohne Ihr Modell erneut bereitstellen zu müssen.