È possibile personalizzare in modo programmatico le informazioni raccolte nei factsheet per i casi di utilizzo AI. Utilizza schede personalizzate come parte della tua strategia di governance dell'intelligenza artificiale.
Aggiornamento programmatico di un modello o di un caso d'uso dell'IA
Potreste voler aggiornare un caso d'uso o una scheda informativa con ulteriori informazioni. Ad esempio, alcune società hanno una serie standard di dettagli che vogliono accompagnare un caso di utilizzo del modello o fatti del modello.
Attualmente, è necessario aggiornare i tipi di asset a livello di tenant modificando gli attributi utente che utilizzano l' API Common Core di dati e intelligenza artificiale per aggiornare l'asset.
Aggiornamento di un tipo di asset personalizzato
Per aggiornare un tipo di asset personalizzato, procedere come segue:
Fornire il parametro di query
bss_account_id
per il metodogetcatalogtype
.Fornire
asset_type
comemodel_entry_user
se si stanno aggiornando gli attributi permodel_entry
. Fornireasset_type
comemodelfacts_user
se si stanno aggiornando gli attributi per i fatti di modello.Recupera la definizione del tipo di risorsa corrente utilizzando il metodo
getcatalogtype
doveasset_type
èmodelfacts_user
omodel_entry_user
.Aggiornare la definizione del tipo di asset corrente con gli attributi personalizzati aggiungendoli all'oggetto JSON delle proprietà seguendo lo schema definito nella documentazione API. I seguenti tipi di attributi sono supportati per visualizzare e modificare dall'interfaccia utente del modello o del caso di utilizzo del modello:
- stringa
- data
- intero
Dopo aver aggiornato il JSON con le nuove proprietà, avviare le modifiche utilizzando il metodo
replaceassettype
. Fornire il payloadasset_type
,bss_account_id
e della richiesta.
Una volta completato l'aggiornamento, è possibile visualizzare gli attributi personalizzati nella pagina dei dettagli del caso di utilizzo AI e nella pagina dei dettagli del modello.
Esempio 1: richiamo e aggiornamento del tipo di asset model_entry_user
Questo esempio aggiorna i dati utente del caso di utilizzo. È possibile utilizzare lo stesso formato ma sostituire modelfacts_user
per richiamare e aggiornare i dettagli per il foglio informativo del modello.
Questo comando curl richiama il tipo di asset 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>'
Questo frammento è un payload di risposta di esempio per i dettagli utente del caso di utilizzo del modello:
{
"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"
}
Questo comando curl aggiorna il tipo di asset model_entry_user
:
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>'
Il contenuto di requestbody.json
è simile al seguente:
{
"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"
}
}
}
Assegnazione di un ordine di visualizzazione per i fatti personalizzati
Il campo 'Order
nel metodo "Crea definizione di fatti personalizzati" consente di assegnare un ordine di visualizzazione per un fatto personalizzato. In questo modo si ha un maggiore controllo sull'organizzazione dei fatti in un foglio informativo.
Seguite questi passaggi per assegnare un ordine a un fatto personalizzato.
- Modificare il file di definizione dei fatti personalizzati e aggiungere un campo Ordine con un numero intero assegnato per controllare l'ordine. Ad esempio:
- Caricare il file di definizione con questo metodo:
facts_client.assets.create_custom_facts_definitions("Asset_type_definition.csv", overwrite=True)
Aggiornamento dei dettagli dell'utente utilizzando il client Python
È anche possibile aggiornare e sostituire un tipo di asset con proprietà utilizzando uno script Python . Per maggiori dettagli, vedere la descrizione degli elementi della scheda informativa .
Dopo aver aggiornato le definizioni del tipo di asset con gli attributi personalizzati, è possibile fornire i valori per tali attributi dalle pagine Panoramica sul caso di utilizzo del modello e Dettagli del modello. Puoi anche aggiornare i valori agli attributi personalizzati che utilizzano questi metodi client API Python :
Cattura dei fatti della cella per un modello
Quando un data scientist sviluppa un modello in un notebook, generano visualizzazioni per i dettagli del modello chiave, come la curva ROC, la matrice di confusione, il report di creazione profili panda o l'output di qualsiasi esecuzione della cella. Per acquisire tali fatti come parte di un caso di utilizzo del modello, utilizza la funzione ' capture_cell_facts ` nella libreria client Python AI Factsheets .
Risoluzione dei problemi relativi ai campi personalizzati
Dopo aver personalizzato i campi e averli resi disponibili agli utenti, un utente che tenta di aggiornare i campi nella sezione Dettagli aggiuntivi dei dettagli del modello potrebbe ricevere questo errore:
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.
Se l'utente dispone già dell'autorizzazione di modifica sul modello e sta ancora ricevendo il messaggio di errore, attenersi alla seguente procedura per risolverlo.
Richiamare il comando API per createassetattributenewv2 .
Utilizzare questo payload con il comando:
{ "name": "modelfacts_system", "entity": { } }
dove
asset_id
è ilmodel_id
. Immettereproject_id
ospace_id
ocatalog_id
dove esiste il modello.
Ulteriori informazioni
Per scoprire come lavorare con un inventario a livello di programmazione, consulta la documentazione IBM_AIGOV_FACTS_CLIENT .
Argomento principale Asset AI della gestione