Serverloze realtime deductie-eindpunten maken en beheren

Belangrijk

  • Deze documentatie is buiten gebruik gesteld en wordt mogelijk niet bijgewerkt. De producten, services of technologieën die in deze inhoud worden genoemd, worden niet meer ondersteund.
  • De richtlijnen in dit artikel zijn bedoeld voor de preview-versie van de functionaliteit Model Serving, voorheen Serverloze realtime deductie. Databricks raadt u aan uw model te migreren met werkstromen naar de algemeen beschikbare functionaliteit. Zie Model dat wordt geleverd met Azure Databricks.

Belangrijk

Deze functie is beschikbaar als openbare preview.

In dit artikel wordt beschreven hoe u eindpunten maakt en beheert die gebruikmaken van Serverloze Realtime deductie van Azure Databricks.

Belangrijk

  • API-definities en -werkstromen kunnen tijdens de openbare preview worden gewijzigd.
  • Als u gebruikmaakt van Anaconda, raadpleegt u de servicevoorwaarden voor aanvullende informatie.

Vereisten

  • Serverloze realtime deductie is alleen beschikbaar voor op Python gebaseerde MLflow-modellen die zijn geregistreerd in het MLflow-modelregister. U moet alle modelafhankelijkheden declareren in de Conda-omgeving of het vereistenbestand.
    • Als u geen geregistreerd model hebt, raadpleegt u de notebookvoorbeelden voor vooraf verpakte modellen die u kunt gebruiken om aan de slag te gaan met serverloze realtime deductie-eindpunten.
  • Uw werkruimte moet zijn ingeschakeld voor serverloze realtime deductie. Als u het model wilt inschakelen voor serverloze realtime deductie, moet u de machtiging voor het maken van clusters hebben.
  • Als u aangepaste bibliotheken of bibliotheken van een privéspiegelserver met uw model gebruikt, raadpleegt u Aangepaste Python-bibliotheken gebruiken met Model serving voordat u het modeleindpunt maakt.

Een eindpunt voor het leveren van een model maken

U kunt serverloze realtime deductie-eindpunten maken voor het model dat wordt geleverd met de Databricks Machine Learning-API of de Databricks Machine Learning-gebruikersinterface. Een eindpunt kan elk geregistreerd Python MLflow-model leveren dat is geregistreerd in het modelregister.

De API gebruiken

U kunt de Enable Serving-API gebruiken om een eindpunt te maken voor het leveren van modellen. In het volgende voorbeeld ElasticNet is dit de naam van het geregistreerde model.

POST https://<databricks-instance>/api/2.0/preview/mlflow/endpoints-v2/enable

{
   "registered_model_name": "ElasticNet"
}

De gebruikersinterface gebruiken

U kunt een model inschakelen voor het leveren vanaf de geregistreerde modelpagina in de Databricks Machine Learning-gebruikersinterface.

  1. Klik op het tabblad Serveren . Als het model nog niet is ingeschakeld voor de server, wordt de knop Serverloze realtime deductie inschakelen weergegeven.
  2. Klik op Serverloze realtime deductie inschakelen. Het tabblad Server wordt weergegeven met status weergegeven als In behandeling. Na een paar minuten wordt de status gewijzigd in Gereed.

De rekenconfiguratie van een eindpunt wijzigen

Nadat u een modeleindpunt hebt ingeschakeld, kunt u de rekenconfiguratie naar wens instellen met de API of de gebruikersinterface. Deze configuratie is met name handig als u aanvullende resources nodig hebt voor uw model. Workloadgrootte en rekenconfiguratie spelen een belangrijke rol in de resources die worden toegewezen voor het leveren van uw model. Meer informatie over WorkloadConfigSpec-objecten.

De API gebruiken

De status van de configuratie-update kan worden bijgehouden in het config_update_status veld van de status van de eindpuntversie.

PUT /preview/model-serving-api/endpoints-v2/update-compute-config

Vul in het volgende desired_workload_config_spec de eigenschappen in WorkloadConfigSpec .

{
  "registered_model_name": "ElasticNet",
  "stage": "Staging|Production",
  "desired_workload_config_spec": {"WorkloadConfigSpec"}
}

De gebruikersinterface gebruiken

Nadat u een modeleindpunt hebt ingeschakeld, kunt u de gewenste rekenconfiguratie instellen op het tabblad Compute Instellingen. U kunt afzonderlijke configuraties instellen voor faserings- en productiemodelversies.

U kunt kiezen uit een paar workloadgrootten en automatisch schalen wordt automatisch geconfigureerd binnen de workloadgrootte. Als u wilt dat uw eindpunt omlaag wordt geschaald naar nul, kunt u het selectievakje 'Schalen naar nul' inschakelen.

Een modeleindpunt scoren

Als u een geïmplementeerd model wilt beoordelen, kunt u een REST API-aanvraag verzenden naar de model-URL of de gebruikersinterface gebruiken.

U moet een model aanroepen door de API voor de fase aan te roepen. Als versie 1 zich bijvoorbeeld in de productiefase bevindt, kan deze worden beoordeeld met behulp van deze URL:

https://<databricks-instance>/model-endpoint/iris-classifier/Production/invocations

De lijst met beschikbare model-URI's wordt boven aan het tabblad Modelversies weergegeven op het tabblad Serveren .

Aanvraagindeling

Aanvragen moeten worden verzonden door een JSON samen te stellen met een van de onderstaande sleutels en een JSON-object dat overeenkomt met de invoerindeling.

Er zijn vier indelingen voor de invoer-JSON, afhankelijk van uw use-case:

  • dataframe_split is JSON-geserialiseerd Pandas Dataframe in de split afdrukstand.

    {
      "dataframe_split": {
        "index": [0, 1],
        "columns": ["sepal length (cm)", "sepal width (cm)", "petal length (cm)", "petal width (cm)"],
        "data": [[5.1, 3.5, 1.4, 0.2], [4.9, 3.0, 1.4, 0.2]]
      }
    }
    
  • dataframe_records is JSON-geserialiseerd Pandas Dataframe in de records afdrukstand.

    Notitie

    Deze indeling garandeert geen behoud van kolomvolgorde en de split indeling heeft de voorkeur boven de records indeling.

    {
      "dataframe_records": [
      {
         "sepal length (cm)": 5.1,
         "sepal width (cm)": 3.5,
         "petal length (cm)": 1.4,
         "petal width (cm)": 0.2
      },
      {
         "sepal length (cm)": 4.9,
         "sepal width (cm)": 3,
         "petal length (cm)": 1.4,
         "petal width (cm)": 0.2
       },
       {
         "sepal length (cm)": 4.7,
         "sepal width (cm)": 3.2,
         "petal length (cm)": 1.3,
         "petal width (cm)": 0.2
       }
      ]
    }
    
  • instances is een op tensors gebaseerde indeling die tensors in rijindeling accepteert. Gebruik deze indeling als alle invoertenors dezelfde dimensie van 0 hebben. Conceptueel gezien kan elke tensor in de lijst met exemplaren worden samengevoegd met de andere tensors van dezelfde naam in de rest van de lijst om de volledige invoertenor voor het model te maken, wat alleen mogelijk zou zijn als alle tensors dezelfde dimensie van 0 tot 0 hebben.

      {"instances": [ "a", "b", "c" ]}
    

    or

    In het volgende voorbeeld zijn er drie dimensies, dus u hebt precies drie van elke invoertenor.

    {
    "instances": [
      {
       "t1": "a",
       "t2": [1, 2, 3, 4, 5],
       "t3": [[1, 2], [3, 4], [5, 6]]
      },
      {
       "t1": "b",
       "t2": [6, 7, 8, 9, 10],
       "t3": [[7, 8], [9, 10], [11, 12]]
      }
    ]
    }
    
  • inputs query's met tensors verzenden in kolomindeling. Deze aanvraag is anders omdat er eigenlijk een ander aantal tensor-exemplaren van t2 (3) t1 dan en t3, dus het is niet mogelijk om deze invoer in de instances indeling weer te geven.

    {
    "inputs": {
      "t1": ["a", "b"],
      "t2": [[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15]],
      "t3": [[[1, 2], [3, 4], [5, 6]], [[7, 8], [9, 10], [11, 12]]]
    }
    }
    

Antwoordindeling

Het antwoord van het eindpunt heeft de volgende indeling. De uitvoer van uw model wordt verpakt in een 'voorspellingssleutel'.

{
  "predictions": "<JSON output from model>"
}

De gebruikersinterface gebruiken

Het verzenden van aanvragen met behulp van de gebruikersinterface is de eenvoudigste en snelste manier om het model te testen. U kunt de modelinvoergegevens invoegen in JSON-indeling en op Aanvraag verzenden klikken. Als het model is vastgelegd met een invoervoorbeeld (zoals weergegeven in de bovenstaande afbeelding), klikt u op Voorbeeld weergeven om het invoervoorbeeld te laden.

De API gebruiken

U kunt een scoreaanvraag verzenden via de REST API met behulp van standaard Databricks-verificatie. In de volgende voorbeelden ziet u verificatie met behulp van een persoonlijk toegangstoken.

Notitie

Als best practice voor beveiliging, wanneer u zich verifieert met geautomatiseerde hulpprogramma's, systemen, scripts en apps, raadt Databricks u aan om persoonlijke toegangstokens te gebruiken die behoren tot service-principals in plaats van werkruimtegebruikers. Zie Tokens voor een service-principal beheren om tokens voor service-principals te maken.

Op basis van een MODEL_VERSION_URI like, waar <databricks-instance> is de naam van uw Databricks-exemplaar en een Databricks REST API-token met de naamDATABRICKS_API_TOKEN, zijn de volgende voorbeeldfragmenten van het scoren van https://<databricks-instance>/model/iris-classifier/Production/invocationseen geleverd model.

Bash

Score a model accepting dataframe records input format.

curl -X POST -u token:$DATABRICKS_API_TOKEN $MODEL_VERSION_URI \
  -H 'Content-Type: application/json' \
  -d '{"dataframe_records": [
    {
      "sepal_length": 5.1,
      "sepal_width": 3.5,
      "petal_length": 1.4,
      "petal_width": 0.2
    }
  ]}'

Score een model dat tensor-invoer accepteert. Tensor-invoer moet worden opgemaakt zoals beschreven in api-documenten van TensorFlow Serving.

curl -X POST -u token:$DATABRICKS_API_TOKEN $MODEL_VERSION_URI \
   -H 'Content-Type: application/json' \
   -d '{"inputs": [[5.1, 3.5, 1.4, 0.2]]}'

Python

import numpy as np
import pandas as pd
import requests

def create_tf_serving_json(data):
  return {'inputs': {name: data[name].tolist() for name in data.keys()} if isinstance(data, dict) else data.tolist()}

def score_model(model_uri, databricks_token, data):
  headers = {
    "Authorization": f"Bearer {databricks_token}",
    "Content-Type": "application/json",
  }
  data_json = json.dumps({'dataframe_records': data.to_dict(orient='records')}) if isinstance(data, pd.DataFrame) else create_tf_serving_json(data)
  response = requests.request(method='POST', headers=headers, url=model_uri, json=data_json)
  if response.status_code != 200:
      raise Exception(f"Request failed with status {response.status_code}, {response.text}")
  return response.json()

# Scoring a model that accepts pandas DataFrames
data =  pd.DataFrame([{
  "sepal_length": 5.1,
  "sepal_width": 3.5,
  "petal_length": 1.4,
  "petal_width": 0.2
}])
score_model(MODEL_VERSION_URI, DATABRICKS_API_TOKEN, data)

# Scoring a model that accepts tensors
data = np.asarray([[5.1, 3.5, 1.4, 0.2]])
score_model(MODEL_VERSION_URI, DATABRICKS_API_TOKEN, data)

Powerbi

U kunt een gegevensset in Power BI Desktop scoren met behulp van de volgende stappen:

  1. Open de gegevensset die u wilt scoren.

  2. Ga naar Gegevens transformeren.

  3. Klik met de rechtermuisknop in het linkerdeelvenster en selecteer Nieuwe query maken.

  4. Ga naar Weergave > Geavanceerde editor.

  5. Vervang de hoofdtekst van de query door het onderstaande codefragment, na het invullen van een geschikte DATABRICKS_API_TOKEN en MODEL_VERSION_URI.

    (dataset as table ) as table =>
    let
      call_predict = (dataset as table ) as list =>
      let
        apiToken = DATABRICKS_API_TOKEN,
        modelUri = MODEL_VERSION_URI,
        responseList = Json.Document(Web.Contents(modelUri,
          [
            Headers = [
              #"Content-Type" = "application/json",
              #"Authorization" = Text.Format("Bearer #{0}", {apiToken})
            ],
            Content = {"dataframe_records": Json.FromValue(dataset)}
          ]
        ))
      in
        responseList,
      predictionList = List.Combine(List.Transform(Table.Split(dataset, 256), (x) => call_predict(x))),
      predictionsTable = Table.FromList(predictionList, (x) => {x}, {"Prediction"}),
      datasetWithPrediction = Table.Join(
        Table.AddIndexColumn(predictionsTable, "index"), "index",
        Table.AddIndexColumn(dataset, "index"), "index")
    in
      datasetWithPrediction
    
  6. Geef de query een naam met de gewenste modelnaam.

  7. Open de geavanceerde query-editor voor uw gegevensset en pas de modelfunctie toe.

Zie het volgende notebook voor een voorbeeld van het testen van uw serverloze realtime deductie-eindpunt met een Python-model:

Serverloze realtime deductieeindpuntnotitieblok testen

Notebook downloaden

De modelversie bijwerken die wordt geleverd door een modeleindpunt

Een modelversie moet zich in fasering of productie in het modelregister hebben voordat deze kan worden geleverd aan het eindpunt.

De API gebruiken

Als u een nieuwe modelversie wilt overzetten naar Serving, kunt u het modelregister gebruiken om de modelversie die u in de juiste fase wilt gebruiken, over te zetten.

In het volgende codevoorbeeld wordt versie 2 van het model ElasticNet omgezet in fasering. Door deze instelling in te truestellenarchive_existing_versions, worden alle bestaande modelversies gearchiveerd, waardoor de faserings-URL verwijst naar de nieuwe modelversie nadat deze klaar is om te worden geleverd. Voordat de nieuwe versie gereed is, dient het faseringseindpunt de oude modelversie, zodat de overgang zonder downtime wordt uitgevoerd.


POST /mlflow/databricks/model-versions/transition-stage

{
   "name": "ElasticNet",
   "version": "2",
   "stage": "Staging",
   "archive_existing_versions": true,
   "comment": "Deploying version 1 to Staging endpoint!"
}

Meerdere versies in één fase behouden

U kunt er ook voor kiezen om de vorige faseringsversie in Fasering te behouden. Meerdere versies van een model kunnen zich in dezelfde fase bevinden. In dit scenario worden beide versies geleverd, maar de staging-URL verwijst alleen naar de nieuwste versie. De oudere versie is nog steeds toegankelijk via de URL van de versie.

Als u een nieuwe versie achter uw faseringseindpunt wilt uitproberen, kunt u hetzelfde doen als hierboven, maar ingesteld archive_existing_versions om ervoor te false zorgen dat de vorige faseringsversie niet wordt gearchiveerd.

POST /mlflow/databricks/model-versions/transition-stage

{
...
   "archive_existing_versions": false,
...
}

De gebruikersinterface gebruiken

Modelversies overzetten naar fasering of productie met behulp van de Databricks Machine Learning-gebruikersinterface:

  1. Selecteer pictogram modellenModellen in de zijbalk.
  2. Identificeer en selecteer het geregistreerde model dat u wilt bijwerken.
  3. Selecteer de modelversie die u wilt overzetten naar Fasering of Productie. De koppeling opent de detailpagina van de modelversie.
  4. Gebruik het vervolgkeuzemenu Fase rechtsboven om de modelversie over te zetten naar Fasering of Productie.

De status van het modeleindpunt ophalen

De API gebruiken

Databricks biedt het volgende om de status van een eindpunt te controleren. Meer informatie over EndpointStatus-objecten.

GET /preview/mlflow/endpoints-v2/get-status
{
  "registered_model_name": "ElasticNet"
}

Hiermee worden de EndpointStatus objecteigenschappen geretourneerd:

{
  "endpoint_status": {"EndpointStatus"}
}

De gebruikersinterface gebruiken

In de gebruikersinterface kunt u de status van een eindpunt controleren via de statusindicator boven aan het tabblad Serveren .

De status van modeleindpuntversies ophalen

U kunt de status ophalen van een bepaalde eindpuntversie die is geïmplementeerd. Hiermee kunt u het volgende doen:

  • Bijhouden welke versies worden geleverd.
  • Houd de status van deze versies bij.
  • Controleer of een bepaalde modelversie gereed is voor gebruik.

De API gebruiken

Databricks biedt twee API's om de status van eindpuntversies te controleren. Als u de status van alle eindpuntversies voor een bepaald geregistreerd model wilt controleren, kunt u dit gebruiken ListVersions. Meer informatie over EndpointVersionStatus-objecten.

GET /preview/mlflow/endpoints-v2/list-versions
{
  "registered_model_name": "ElasticNet"
}

Hiermee worden objecteigenschappen geretourneerd EndpointVersionStatus :

{
  "endpoint_statuses": ["EndpointVersionStatus"]
}

Als u de specifieke versie kent waarvan u de status wilt weten, kunt u ook gebruiken GetVersions.

GET /preview/mlflow/endpoints-v2/get-version-status
{
  "registered_model_name": "ElasticNet",
  "endpoint_version_name": "1"
}

Hiermee worden objecteigenschappen geretourneerd EndpointVersionStatus :

{
  "endpoint_status": {"EndpointVersionStatus"}
}

De status voor een fase ophalen

U kunt ook de status voor een bepaalde fase ophalen. Hiervoor moet u eerst bepalen welke eindpuntversie momenteel de fase dient. Als u die informatie wilt ophalen, kunt u gebruiken ListVersionAliases.

GET /preview/mlflow/endpoints-v2/list-version-aliases
{
  "registered_model_name": "ElasticNet"
}

Dit geeft als resultaat:

{
  "aliases": [
   {
      "alias": "Staging",
      "endpoint_version_name": "2"
   },
   {
      "alias": "Production",
      "endpoint_version_name": "1"
   }
  ]
}

Hier kunt u het bovenstaande gebruiken om de status van de specifieke eindpuntversie op te halen.

De gebruikersinterface gebruiken

Op het tabblad Serveren van de gebruikersinterface ziet u elke eindpuntversie met een eigen tabblad aan de linkerkant. Wanneer u elk tabblad selecteert, wordt gedetailleerde informatie over een bepaalde versie weergegeven. De versie die momenteel een fase bedient, is te zien vanuit het label Fasering of Productie in de eindpuntversie.

Modelbediening uitschakelen

De API gebruiken

U kunt de API gebruiken om modelbediening uit te schakelen voor elk geregistreerd model dat aanwezig is in het modelregister.

Als u de functie voor modellen voor een model wilt uitschakelen, gebruikt u de API Voor het uitschakelen van de server:

POST /preview/mlflow/endpoints-v2/disable

{
   "registered_model_name": "ElasticNet"
}

De gebruikersinterface gebruiken

U kunt een model uitschakelen voor het leveren vanaf de geregistreerde modelpagina.

  1. Klik op het tabblad Serveren . Als het model nog niet is ingeschakeld voor de server, wordt de knop Serverloze realtime deductie inschakelen weergegeven.
  2. Klik op Server uitschakelen.

Fouten opsporen in uw modeleindpunt

Notitie

U kunt alleen fouten opsporen in uw modeleindpunt via de gebruikersinterface.

U kunt fouten opsporen en problemen met uw eindpunt oplossen door de modellogboeken weer te geven op het tabblad van de eindpuntversie in de Databricks Machine Learning-gebruikersinterface. Logboeken voor alle replica's van het model worden samengevoegd op het tabblad Alle replica's .

Naast de logboeken van het model kunt u belangrijke gebeurtenissen weergeven die betrekking hebben op het model op het tabblad Model gebeurtenissen .

Kern-API-objecten

Deze sectie bevat ontwerppatronen en syntaxis voor de kern-API-objecten van serverloze realtime deductie.

Belangrijk

API-definities kunnen tijdens de openbare preview worden gewijzigd.

Workloadconfiguratie

WorkloadConfigSpec beschrijft de configuratie die wordt gebruikt om de rekenkracht voor een bepaalde fase te schalen.

  "WorkloadConfigSpec":
  {
   "workload_size_id": "Small|Medium|Large",
   "scale_to_zero_enabled": false
  }

ComputeConfig vertegenwoordigt de configuratie die wordt gebruikt om de berekening voor een bepaalde fase samen met de bijbehorende metagegevens te schalen.

Vul in het volgende bestand workload_spec de eerder gedefinieerde eigenschappen van uw WorkloadConfigSpec object in door deze te vervangen"WorkloadConfigSpec".

  "ComputeConfig":
  {
   "stage":  "Staging|Production",
   "creation_timestamp": 12345678,
   "user_id": "first.last@databricks.com",
   "workload_spec": {"WorkloadConfigSpec"}
  }

Eindpuntstatus

De status van een eindpunt geeft aan of een van de fasen kan worden beoordeeld of resources kunnen worden gegenereerd voor bepaalde versies van het model.

Vul compute_config in het volgende EndpointStatus object de eerder gedefinieerde eigenschappen van uw ComputeConfig object en eventuele andere eigenschappen als matrix opnieuw in.

  "EndpointStatus":
  {
   "registered_model_name": "ElasticNet",
   "state": "PENDING|READY|FAILED",
   "state_message": "State message",
   "compute_config": ["ComputeConfig and additional properties as an array"]
  }

Status van eindpuntversie

Een eindpuntversie heeft een bepaalde URI die kan worden opgevraagd. De URI vertegenwoordigt één modelversie die wordt geleverd en waarvan de berekening wordt geconfigureerd door de rekenconfiguraties die zijn ingesteld voor de fase.

Vul in het volgende object zowel config velden in alsservice_statusconfig_update_statusdoor de eerder gedefinieerde eigenschappen van uw ComputeConfig object te vervangen"ComputeConfig".EndpointVersionStatus

  "EndpointVersionStatus":
  {
   "registered_model_name": "ElasticNet",
   "endpoint_version_name": "1",
   "service_status": {
      "state": "SERVICE_STATE_UNKNOWN|SERVICE_STATE_PENDING|SERVICE_STATE_READY|SERVICE_STATE_UNKNOWN",
      "message": "Ready",
      "config": {"ComputeConfig"}
   },
   "config_update_status": {
      "state": "SERVICE_STATE_UNKNOWN|SERVICE_STATE_PENDING|SERVICE_STATE_READY|SERVICE_STATE_UNKNOWN",
      "message": "Pending",
      "config": {"ComputeConfig"}
    }
  }

Notebook-voorbeelden

De volgende notebooks bevatten verschillende modellen die u kunt gebruiken om aan de slag te gaan met serverloze realtime deductie-eindpunten. De modelvoorbeelden kunnen in de werkruimte worden geïmporteerd door de aanwijzingen in Een notebook importeren te volgen. Nadat u een model hebt gekozen en gemaakt op basis van een van de voorbeelden, registreert u het in het MLflow-modelregister en volgt u vervolgens de stappen voor de ui-werkstroom voor het leveren van modellen.

Een scikit-learn-model trainen en registreren voor model met notebook

Notebook downloaden

Een Pytorch-model trainen en registreren voor modelbedieningsnotebook

Notebook downloaden

Een HuggingFace-model trainen en registreren voor modelleringsnotitieblok

Notebook downloaden

Meerdere modellen hosten in een eindpuntnotitieblok

Notebook downloaden

Anaconda-licentie-update

De volgende kennisgeving is bedoeld voor klanten die afhankelijk zijn van Anaconda.

Belangrijk

Anaconda Inc. heeft hun servicevoorwaarden voor anaconda.org kanalen bijgewerkt. Op basis van de nieuwe servicevoorwaarden hebt u mogelijk een commerciële licentie nodig als u afhankelijk bent van de verpakking en distributie van Anaconda. Zie Veelgestelde vragen over Anaconda Commercial Edition voor meer informatie. Uw gebruik van anaconda-kanalen is onderhevig aan hun servicevoorwaarden.

MLflow-modellen die zijn geregistreerd vóór v1.18 (Databricks Runtime 8.3 ML of eerder) zijn standaard vastgelegd met het conda-kanaal defaults (https://repo.anaconda.com/pkgs/) als afhankelijkheid. Vanwege deze licentiewijziging heeft Databricks het gebruik van het defaults kanaal gestopt voor modellen die zijn geregistreerd met MLflow v1.18 en hoger. Het standaardkanaal dat is geregistreerd, is nu conda-forge, die verwijst naar de door de community beheerde https://conda-forge.org/.

Als u een model hebt geregistreerd vóór MLflow v1.18 zonder het defaults kanaal uit te sluiten van de Conda-omgeving voor het model, heeft dat model mogelijk een afhankelijkheid van het defaults kanaal dat u mogelijk niet hebt bedoeld. Als u handmatig wilt controleren of een model deze afhankelijkheid heeft, kunt u de waarde onderzoeken channel in het conda.yaml bestand dat is verpakt met het geregistreerde model. Een model conda.yaml met een defaults kanaalafhankelijkheid kan er bijvoorbeeld als volgt uitzien:

channels:
- defaults
dependencies:
- python=3.8.8
- pip
- pip:
    - mlflow
    - scikit-learn==0.23.2
    - cloudpickle==1.6.0
      name: mlflow-env

Omdat Databricks niet kan bepalen of uw gebruik van de Anaconda-opslagplaats om te communiceren met uw modellen is toegestaan in uw relatie met Anaconda, dwingt Databricks klanten niet om wijzigingen aan te brengen. Als uw gebruik van de Anaconda.com opslagplaats via het gebruik van Databricks is toegestaan volgens de voorwaarden van Anaconda, hoeft u geen actie te ondernemen.

Als u het kanaal wilt wijzigen dat wordt gebruikt in de omgeving van een model, kunt u het model opnieuw registreren bij het modelregister met een nieuw conda.yaml. U kunt dit doen door het kanaal op te geven in de conda_env parameter van log_model().

Zie de MLflow-documentatie voor de modelsmaak waarmee u werkt, bijvoorbeeld log_model voor scikit-learn voor meer informatie over de log_model() API.

Zie de MLflow-documentatie voor meer informatie over conda.yaml bestanden.