Criação de log de carga útil

Você pode ativar o registro de carga útil para configurar avaliações de modelos.

Para gerenciar os dados de carga útil para configurar avaliações de equidade e deriva e explicabilidade, é necessário registrar os dados de carga útil no data mart. Ao adicionar implantações para avaliações ou fornecer detalhes do modelo, é possível enviar automaticamente uma solicitação de pontuação para registrar as transações do modelo se todos os detalhes necessários do modelo forem detectados. Se todos os detalhes necessários do modelo não forem detectados ou se você estiver avaliando modelos de imagem ou de texto não estruturado, será necessário ativar manualmente o registro de carga útil.

Criação de log de carga útil manual

Para ativar a criação de log de carga útil, é possível usar a API de criação de log de carga útil ou um arquivo JSON para enviar uma solicitação de pontuação Ao usar a API de registro de carga útil, você pode enviar solicitações de pontuação com cURL ou com o Python SDK.

Criação de log de carga útil com o SDK Python

Você pode enviar uma solicitação de pontuação com o Python SDK, conforme mostrado no exemplo a seguir:

from ibm_cloud_sdk_core.authenticators import IAMAuthenticator
from ibm_watson_openscale import APIClient

service_credentials = {
                  "apikey": "*****",
                  "url": "https://api.aiopenscale.cloud.ibm.com"
               }

authenticator = IAMAuthenticator(
        apikey=service_credentials['apikey']
    )
client = APIClient(
    service_url=service_credentials['url'],
    service_instance_id="230a8e9f-2453-4c2d-a560-2a75399210bf"
    authenticator=authenticator
)

from ibm_watson_openscale.data_sets import DataSetTypes, TargetTypes

# Put your subscription ID here
SUBSCRIPTION_ID = "<subscription_id>"
payload_logging_data_set_id = wos_client.data_sets.list(type=DataSetTypes.PAYLOAD_LOGGING, target_target_id=SUBSCRIPTION_ID, target_target_type=TargetTypes.SUBSCRIPTION).result.data_sets[0].metadata.id

from ibm_watson_openscale.supporting_classes.payload_record import PayloadRecord

# Put your scoring ID here
SCORING_ID = "<scoring_id>"
REQUEST_DATA = <put_your_data_here>
RESPONSE_DATA = <put_your_data_here>
wos_client.data_sets.store_records(data_set_id=payload_logging_data_set_id, request_body=[PayloadRecord(scoring_id=SCORING_ID, request=REQUEST_DATA, response=RESPONSE_DATA, response_time=460)])

Criação de log de carga útil com cURL

É possível usar o comando cURL a seguir para enviar uma solicitação de pontuação:

curl -k -X POST https://$ICP_HOSTNAME:$PORT/openscale/00000000-0000-0000-0000-000000000000/v2/data_sets/<dataset_id>/records -d "$SCORING_PAYLOAD" \
--header 'Content-Type: application/json' --header 'Accept: application/json' --header "Authorization: Bearer $ICP_TOKEN"

Para obter mais informações, consulte a API.

Criação de log de carga útil com JSON

É possível enviar uma solicitação de pontuação com JSON conforme mostrado no exemplo a seguir:

[
  {
    "request": {
      "fields": [
        "AGE",
        "BP",
        "CHOLESTEROL",
        "NA",
        "K"
      ],
      "values": [
        [
          28,
          "LOW",
          "HIGH",
          0.61,
          0.026
        ]
      ],
      "meta": {
        "fields": [
          "SEX"
        ],
        "values": [
          [
            "M"
          ]
        ]
      }
    },
    "response": {
      "fields": [
        "AGE",
        "BP",
        "CHOLESTEROL",
        "NA",
        "K",
        "probability",
        "prediction",
        "predictedLabel"
      ],
      "values": [
        [
          28,
          "LOW",
          "HIGH",
          0.61,
          0.026,
          [
            0.82,
            0.07,
            0,
            0.05,
            0.03
          ],
          0,
          "drugY"
        ]
      ]
    }
  }
]