diff --git a/v3-examples/ml-ops-examples/v3-mlflow-train-inference-e2e-example.ipynb b/v3-examples/ml-ops-examples/v3-mlflow-train-inference-e2e-example.ipynb index 80435c9325..a769c0d3b1 100644 --- a/v3-examples/ml-ops-examples/v3-mlflow-train-inference-e2e-example.ipynb +++ b/v3-examples/ml-ops-examples/v3-mlflow-train-inference-e2e-example.ipynb @@ -333,22 +333,24 @@ "from mlflow import MlflowClient\n", "\n", "client = MlflowClient()\n", - "registered_model = client.get_registered_model(name=MLFLOW_REGISTERED_MODEL_NAME)\n", "\n", - "latest_version = registered_model.latest_versions[0]\n", + "# MLflow 3.x removed RegisteredModel.latest_versions - use search_model_versions instead\n", + "latest_version = client.search_model_versions(\n", + " filter_string=f\"name='{MLFLOW_REGISTERED_MODEL_NAME}'\",\n", + " order_by=[\"version_number DESC\"],\n", + " max_results=1\n", + ")[0]\n", + "\n", "model_version = latest_version.version\n", "model_source = latest_version.source\n", "\n", - "# Get S3 URL of model files (for info only)\n", - "artifact_uri = client.get_model_version_download_uri(MLFLOW_REGISTERED_MODEL_NAME, model_version)\n", - "\n", "# MLflow model registry path to use with ModelBuilder\n", "mlflow_model_path = f\"models:/{MLFLOW_REGISTERED_MODEL_NAME}/{model_version}\"\n", "\n", "print(f\"Registered Model: {MLFLOW_REGISTERED_MODEL_NAME}\")\n", "print(f\"Latest Version: {model_version}\")\n", - "print(f\"Source: {model_source}\")\n", - "print(f\"Model artifacts location: {artifact_uri}\")" + "print(f\"Source (model artifacts location): {model_source}\")\n", + "print(f\"MLflow model path for deployment: {mlflow_model_path}\")" ] }, { @@ -481,19 +483,16 @@ "metadata": {}, "outputs": [], "source": [ - "import boto3\n", - "\n", "# Test with JSON input\n", "test_data = [[0.1, 0.2, 0.3, 0.4]]\n", "\n", - "runtime_client = boto3.client('sagemaker-runtime')\n", - "response = runtime_client.invoke_endpoint(\n", - " EndpointName=core_endpoint.endpoint_name,\n", - " Body=json.dumps(test_data),\n", - " ContentType='application/json'\n", + "result = core_endpoint.invoke(\n", + " body=json.dumps(test_data),\n", + " content_type=\"application/json\"\n", ")\n", "\n", - "prediction = json.loads(response['Body'].read().decode('utf-8'))\n", + "# Decode and display the result\n", + "prediction = json.loads(result.body.read().decode('utf-8'))\n", "print(f\"Input: {test_data}\")\n", "print(f\"Prediction: {prediction}\")" ]