0 / 0
Go back to the English version of the documentation
Zmiana wersji Python dla istniejącego wdrożonego modelu za pomocą interfejsu API REST
Last updated: 02 lis 2023
Interfejs REST API Decision Optimization zmieniający wersję Python we wdrożonym modelu

Istniejący model produktu Decision Optimization można zaktualizować za pomocą interfejsu REST API Watson Machine Learning. Może to być przydatne na przykład wtedy, gdy w modelu została jawnie określona wersja Python , która stała się nieaktualna.

Zanim rozpoczniesz

Aby wprowadzić tę zmianę, należy znać SPACE-ID, MODEL-ID i DEPLOYMENT-ID . Więcej informacji na ten temat zawiera sekcja Przykład interfejsu REST API .

O tym zadaniu

W poniższych krokach przedstawiono sposób aktualizowania istniejącego wdrożonego modelu Decision Optimization za pomocą interfejsu REST API Watson Machine Learning. W przykładowym interfejsie API REST do przesyłania danych przy użyciu składni URL używany jest program curl, narzędzie wiersza komend i biblioteka. Więcej informacji na ten temat można znaleźć pod adresem http://curl.haxx.se.

W przypadku użytkowników systemu Windows należy użyć znaku ^ zamiast znaku \ dla wielowierszowych separatorów i podwójnych cudzysłowów " w tych przykładach kodu. Użytkownicy systemu Windows muszą również używać wcięć w co najmniej jednym znaku spacji w wierszach nagłówka.

Dla jasności, niektóre przykłady kodu w tej procedurze zostały umieszczone w pliku json , aby komendy były bardziej czytelne i łatwiejsze w użyciu.

Procedura

Aby zmienić wersję Python dla istniejącego wdrożonego modelu:

  1. Tworzenie podwersji modelu Decision Optimization

    Wszystkie żądania interfejsu API wymagają parametru wersji, który przyjmuje datę w formacie version=YYYY-MM-DD. Ten przykładowy kod powoduje opublikowanie modelu korzystającego z pliku update_model.json. Adres URL będzie się różnić w zależności od wybranego regionu/lokalizacji usługi uczenia maszynowego.

    curl --location --request POST \
      "https://us-south.ml.cloud.ibm.com/ml/v4/models/MODEL-ID-HERE/revisions?version=2021-12-01" \
      -H "Authorization: bearer TOKEN-HERE" \
      -H "Content-Type: application/json" \
      -d @revise_model.json
    Plik revise_model.json zawiera następujący kod:
    {
      "commit_message": "Save current model",
      "space_id": "SPACE-ID-HERE"
    }
    Zanotuj numer wersji modelu "rev", który jest dostępny w danych wyjściowych do użycia w następnym kroku.
  2. Zaktualizuj istniejące wdrożenie, aby nie miało to wpływu na bieżące zadania:
    curl --location --request PATCH \
      "https://us-south.ml.cloud.ibm.com/ml/v4/deployments/DEPLOYMENT-ID-HERE?version=2021-12-01&space_id=SPACE-ID-HERE" \
      -H "Authorization: bearer TOKEN-HERE" \
      -H "Content-Type: application/json" \
      -d @revise_deploy.json
    Plik revise_deploy.json zawiera następujący kod:
    [
      {
      "op": "add",
      "path": "/asset",
      "value": {
        "id":"MODEL-ID-HERE",
        "rev":"MODEL-REVISION-NUMBER-HERE"
       }
      }
    ]
  3. Zastosuj poprawkę do istniejącego modelu, aby jawnie określić wersję Python 3.10
    curl --location --request PATCH \
      "https://us-south.ml.cloud.ibm.com/ml/v4/models/MODEL-ID-HERE?rev=MODEL-REVISION-NUMBER-HERE&version=2021-12-01&space_id=SPACE-ID-HERE" \
      -H "Authorization: bearer TOKEN-HERE" \
      -H "Content-Type: application/json" \
      -d @update_model.json
    Plik update_model.json z domyślną wersją Python określoną jawnie zawiera następujący kod:
    [
     {
     "op": "add",
     "path": "/custom",
     "value": {
       "decision_optimization":{
          "oaas.docplex.python": "3.10"
         }
       }
     }
    ]
    Alternatywnie, aby usunąć wszelkie jawne wzmianki o wersji Python , tak aby zawsze była używana wersja domyślna:
    [
     {
     "op": "remove",
     "path": "/custom/decision_optimization"
     }
    ]
  4. Zastosuj poprawkę do wdrożenia, aby użyć modelu utworzonego dla Python w celu użycia wersji 3.10
    curl --location --request PATCH \
      "https://us-south.ml.cloud.ibm.com/ml/v4/deployments/DEPLOYMENT-ID-HERE?version=2021-12-01&space_id=SPACE-ID-HERE" \
      -H "Authorization: bearer TOKEN-HERE" \
      -H "Content-Type: application/json" \
      -d @update_deploy.json
    Plik update_deploy.json zawiera następujący kod:
    [
     {
       "op": "add",
       "path": "/asset",
       "value": { "id":"MODEL-ID-HERE"}
     }
    ]

Wyniki

Nowe zadania można publikować przy użyciu identyfikatora DEPLOYMENT-ID bez konieczności ponownego wdrażania modelu.

Generative AI search and answer
These answers are generated by a large language model in watsonx.ai based on content from the product documentation. Learn more