Anpassung der Details für einen Anwendungsfall oder ein Factsheet

Sie können die in Factsheets für KI-Anwendungsfälle gesammelten Informationen programmgesteuert anpassen. Verwenden Sie maßgeschneiderte Factsheets als Teil Ihrer KI-Governance-Strategie.

Aktualisieren eines Modells oder eines KI-Anwendungsfalls auf programmatische Weise

Möglicherweise möchten Sie einen Anwendungsfall oder ein Datenblatt mit zusätzlichen Informationen aktualisieren. Beispielsweise haben einige Unternehmen einen Standardsatz an Details, die sie einem Modell-Anwendungsfall oder Modell-Fakten beifügen möchten.

Derzeit müssen Sie die Asset-Typen auf Mandantenebene aktualisieren, indem Sie die Benutzerattribute ändern, die die Data and AI Common Core API verwenden, um das Asset zu aktualisieren.

Vorbereitende Schritte

Um die Codebeispiele auszuführen, benötigen Sie ein API-Bearer-Token, das generiert und als Umgebungsvariable „ ${MY_TOKEN} “ exportiert wird. Weitere Informationen finden Sie unter Generieren eines API-Autorisierungstokens.

Aktualisieren eines benutzerdefinierten Asset-Typs

Befolgen Sie diese Schritte, um einen benutzerdefinierten Asset-Typ zu aktualisieren:

  1. Geben Sie den bss_account_id Abfrageparameter für die getcatalogtype Methode.

  2. Geben Sie dies asset_type so an, als model_entry_user würden Sie Attribute für aktualisieren model_entry. Geben Sie dies asset_type so an, modelfacts_user als würden Sie Attribute für Modellfakten aktualisieren.

  3. Rufen Sie die aktuelle Definition des Asset-Typs ab, indem Sie verwenden getcatalogtype Methode , wobei entweder modelfacts_userasset_type oder ist model_entry_user.

  4. Aktualisieren Sie die aktuelle Definition des Asset-Typs mit den benutzerdefinierten Attributen, indem Sie diese gemäß dem in der API-Dokumentation definierten Schema zum JSON-Objekt „Properties“ hinzufügen. Die folgenden Attributtypen werden zum Anzeigen und Bearbeiten über die Benutzeroberfläche des Modellanwendungsfalls oder Modells unterstützt:

    • Zeichenfolge
    • Datum
    • ganze Zahl
  5. Nachdem die JSON-Datei mit den neuen Eigenschaften aktualisiert wurde, starten Sie die Änderungen mit dem Befehl replaceassettype Methode. Geben Sie die asset_type , bss_account_id und an und fordern Sie die Nutzlast an.

Nach Abschluss der Aktualisierung können Sie die benutzerdefinierten Attribute auf der Seite mit den Details zum KI-Anwendungsfall und auf der Seite mit den Modelldetails anzeigen.

Beispiel 1: Abrufen und Aktualisieren des model_entry_user Asset-Typs

Hinweis:

Dieses Beispiel aktualisiert die Benutzerdaten des Anwendungsfalls. Sie können dasselbe Format verwenden, aber ersetzen, modelfacts_user um Details für das Modell-Factsheet abzurufen und zu aktualisieren.

Dieser Curl-Befehl ruft den Asset-Typ ab model_entry_user:

curl -X GET --header 'Accept: application/json' --header "Authorization: ZenApiKey ${MY_TOKEN}"  'https://api.dataplatform.cloud.ibm.com:443/v2/asset_types/model_entry_user?bss_account_id=<bss_account_id>'

Dieser Ausschnitt ist eine Beispielantwort-Nutzlast für den Anwendungsfall „Modell: Benutzerdetails“:

{
    "description": "The model use case to capture user defined attributes.",
    "fields": [],
    "relationships": [],
    "properties": {},
    "decorates": [{
        "asset_type_name": "model_entry"
    }],
    "global_search_searchable": [],
    "localized_metadata_attributes": {
        "name": {
            "default": "Additional details",
            "en": "Additional details"
        }
    },
    "attribute_only": false,
    "name": "model_entry_user",
    "version": 1,
    "scope": "ACCOUNT"
}

Dieser Curl-Befehl aktualisiert den model_entry_user Asset-Typ:

curl -X PUT --header 'Content-Type: application/json' --header 'Accept: application/json' --header "Authorization: ZenApiKey ${MY_TOKEN}"  -d '@requestbody.json' 'https://api.dataplatform.cloud.ibm.com:443/v2/asset_types/model_entry_user?bss_account_id=<bss_account_id>'

Der requestbody.json Inhalt sieht wie folgt aus:

{
    "description": "The model use case to capture user defined attributes.",
    "fields": [],
    "relationships": [],
    "properties": {
        "user_attribute1": {
            "type": "string",
            "description": "User attribute1",
            "placeholder": "User attribute1",
            "is_array": false,
            "required": true,
            "hidden": false,
            "readonly": false,
            "default_value": "None",
            "label": {
                "default": "User attribute1"
            }
        },
        "user_attribute2": {
            "type": "integer",
            "description": "User attribute2",
            "placeholder": "User attribute2",
            "is_array": false,
            "required": true,
            "hidden": false,
            "readonly": false,
            "label": {
                "default": "User attribute2"
            }
        },
        "user_attribute3": {
            "type": "date",
            "description": "User attribute3",
            "placeholder": "User attribute3",
            "is_array": false,
            "required": true,
            "hidden": false,
            "readonly": false,
            "default_value": "None",
            "label": {
                "default": "User attribute3"
            }
        
    }
    "decorates": [{
        "asset_type_name": "model_entry"
    }],
    "global_search_searchable": [],
    "attribute_only": false,
    "localized_metadata_attributes": {
        "name": {
            "default": "Additional details",
            "en": "Additional details"
        }
    }
}

Festlegen einer Anzeigereihenfolge für benutzerdefinierte Fakten

Im Feld Order „Create Custom Facts Definition“ (Benutzerdefinierte Fakten definieren) können Sie eine Anzeigereihenfolge für einen benutzerdefinierten Fakt zuweisen. Dadurch haben Sie mehr Kontrolle über die Anordnung der Fakten auf einem Factsheet.

Befolgen Sie diese Schritte, um eine Bestellung einer benutzerdefinierten Tatsache zuzuweisen.

  1. Bearbeiten Sie die benutzerdefinierte Fakten-Definitionsdatei und fügen Sie ein Feld „Order“ mit einer zugewiesenen Ganzzahl hinzu, um die Reihenfolge zu steuern. Beispiel: Zuweisen eines Auftrags für ein benutzerdefiniertes Feld mithilfe von „ Python “
  2. Laden Sie die Definitionsdatei mit dieser Methode:
facts_client.assets.create_custom_facts_definitions("Asset_type_definition.csv", overwrite=True)

Aktualisieren von Benutzerdaten mithilfe des Clients „ Python “

Sie können einen Asset-Typ auch mithilfe eines Skripts „ Python “ aktualisieren und durch Eigenschaften ersetzen. Einzelheiten finden Sie in der Beschreibung der Elemente des Datenblatts.

Nachdem Sie die Definitionen der Asset-Typen mit benutzerdefinierten Attributen aktualisiert haben, können Sie Werte für diese Attribute auf den Seiten „AI-Anwendungsfallübersicht“ und „AI-Factsheet“ angeben. Sie können auch Werte für benutzerdefinierte Attribute aktualisieren, die diese API-Client-Methoden von Python verwenden:

Erfassen von Zelldaten für ein Modell

Wenn ein Datenwissenschaftler ein Modell in einem Notebook entwickelt, erstellt er Visualisierungen für wichtige Modelldetails, wie z. B. die ROC-Kurve, die Verwechslungsmatrix, den Panda-Profiling-Bericht oder die Ausgabe einer beliebigen Zellenausführung. Um diese Fakten als Teil eines Modell-Anwendungsfalls zu erfassen, verwenden Sie die Funktion „capture_cell_facts“ in der Client-Bibliothek „ AI FactsheetsPython “.

Fehlerbehebung bei benutzerdefinierten Feldern

Nachdem Sie Felder angepasst und für Benutzer verfügbar gemacht haben, kann es vorkommen, dass ein Benutzer, der versucht, Felder im Abschnitt „Zusätzliche Details“ der Modelldetails zu aktualisieren, folgende Fehlermeldung erhält:

Update failed. To update an asset attribute, you must be a catalog Admin or an asset owner or member with the Editor role. Ask a catalog Admin to update your catalog role or ask an asset member with the Editor role to add you as a member.

Wenn der Benutzer bereits über Bearbeitungsrechte für das Modell verfügt und dennoch die Fehlermeldung erhält, befolgen Sie diese Schritte, um das Problem zu beheben.

  1. Rufen Sie den API-Befehl für createassetattributenewv2. auf.

  2. Verwenden Sie diese Nutzlast mit dem Befehl:

    
    {
      "name": "modelfacts_system",
      "entity": {
      }
    }
    

    wo asset_id ist. model_id Geben Sie entweder project_id oder space_id oder ein catalog_id , wo das Modell existiert.

Weitere Informationen

Informationen zur programmgesteuerten Arbeit mit einem Inventar finden Sie in der Dokumentation zu IBM_AIGOV_FACTS_CLIENT.