Customizando detalhes para um caso de uso ou uma planilha

É possível customizar programaticamente as informações que são coletadas em planilhas para casos de uso de IA. Use fichas técnicas personalizadas como parte de sua estratégia de governança de IA.

Atualização de um modelo ou caso de uso de IA de forma programática

Talvez você queira atualizar um caso de uso ou ficha técnica com informações adicionais. Por exemplo, algumas empresas têm um conjunto padrão de detalhes que desejam acompanhar um caso de uso de modelo ou fatos de modelo...

Atualmente, é necessário atualizar os tipos de ativos no nível do locatário modificando os atributos do usuário que usam a API Data and AI Common Core para atualizar o ativo.

Atualizando um tipo de ativo customizado

Siga estas etapas para atualizar um tipo de ativo customizado:

  1. Forneça o parâmetro de consulta ' bss_account_id para o método 'getcatalogtype.

  2. Forneça asset_type como model_entry_user para atualizar os atributos de model_entry. Forneça asset_type como modelfacts_user para atualizar os atributos da ficha técnica de um modelo.

  3. Recupere a definição do tipo de ativo atual usando o " método getcatalogtype , em que " asset_type é " modelfacts_user ou " model_entry_user.

  4. Atualize a definição de tipo de ativo atual com os atributos customizados, incluindo-os no objeto JSON de propriedades seguindo o esquema definido na documentação da API. Os seguintes tipos de atributos são suportados para visualizar e editar a partir da interface com o usuário do caso de uso do modelo ou modelo:

    • sequência
    • data
    • número inteiro
  5. Depois que o JSON for atualizado com as novas propriedades, inicie as alterações usando o ' método replaceassettype . Forneça o asset_type , bss_account_ide solicite carga útil.

Quando a atualização for concluída, será possível visualizar os atributos customizados na página de detalhes do caso de uso de IA e na página de detalhes do modelo...

Exemplo 1: recuperando e atualizando o tipo de ativo model_entry_user

Nota:

Este exemplo atualiza os dados do usuário do caso de uso É possível usar o mesmo formato, mas substituir modelfacts_user para recuperar e atualizar detalhes para a planilha de informações do modelo

Este comando curl recupera o tipo de ativo 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>'

Este fragmento é uma carga útil de resposta de amostra para detalhes do usuário do caso de uso do modelo:

{
    "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"
}

Este comando curl atualiza o tipo de ativo 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>'

O conteúdo requestbody.json é semelhante a este:

{
    "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"
        }
    }
}

Atribuição de uma ordem de exibição para fatos personalizados

O campo ' Order no método "Create Custom Facts Definition" (Criar definição de fatos personalizados) permite atribuir uma ordem de exibição para um fato personalizado. Isso lhe dá maior controle sobre a organização dos fatos em uma planilha.

Siga estas etapas para atribuir uma ordem a um fato personalizado.

  1. Edite o arquivo de definição de fatos personalizados e adicione um campo Order com um número inteiro atribuído para controlar o pedido. Por exemplo: Atribuição de uma ordem para um campo personalizado usando Python
  2. Carregue o arquivo de definição usando esse método:
facts_client.assets.create_custom_facts_definitions("Asset_type_definition.csv", overwrite=True)

Atualizando detalhes do usuário usando o cliente Python

Também é possível atualizar e substituir um tipo de ativo por propriedades usando um script Python .. Para obter detalhes, consulte a descrição dos elementos da ficha técnica.

Depois de atualizar as definições do tipo de ativo com atributos personalizados, você pode fornecer valores para esses atributos nas páginas de visão geral do caso de uso de IA e ficha técnica de IA. Também é possível atualizar valores para os atributos customizados que usam estes métodos do cliente da API Python :

Capturando fatos de célula para um modelo

Quando um cientista de dados desenvolve um modelo em um bloco de notas, ele gera visualizações para detalhes do modelo chave, como curva ROC, matriz de confusão, relatório de perfil de panda ou a saída de qualquer execução de célula. Para capturar esses fatos como parte de um caso de uso de modelo, use a função ' capture_cell_facts ` na biblioteca do cliente AI Factsheets Python .

Resolução de problemas de campos customizados

Depois de customizar os campos e torná-los disponíveis para os usuários, um usuário tentando atualizar os campos na seção Detalhes adicionais de detalhes do modelo pode obter este erro:

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 o usuário já tiver permissão de edição no modelo e ainda estiver obtendo a mensagem de erro, siga estas etapas para resolvê-la,

  1. Chame o comando da API para createassetattributenewv2.

  2. Use esta carga útil com o comando:

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

    em que asset_id é o model_id.. Insira project_id ou space_id ou catalog_id onde o modelo existe.

Saiba Mais

Saiba mais sobre como trabalhar com um inventário de forma programática, usando a documentação IBM_AIGOV_FACTS_CLIENT.