Modelltransaktionen senden
Wenn Sie Modelle für maschinelles Lernen oder generative KI-Assets evaluieren, müssen Sie Modelltransaktionen aus Ihrer Bereitstellung senden, um Modellbewertungen zu ermöglichen.
Um kontinuierlich genaue Ergebnisse für Ihre Modellauswertungen zu generieren, müssen Sie ständig neue Daten von Ihrer Einrichtung senden.
Modelltransaktionen senden
Importieren von Daten
Wenn Sie ' überprüfung der Bewertungsergebnisse auf ' Dashboard für Einblicke setzen, können Sie das Menü ' Aktionen verwenden, um Nutzlast- und Rückkopplungsdaten für Ihre Modellauswertungen zu importieren.
Bei Vorproduktionsmodellen können Sie Daten importieren, indem Sie CSV-Dateien hochladen oder eine Verbindung zu Daten herstellen, die in Cloud Object Storage oder einer Db2 -Datenbank gespeichert sind.
Wenn Sie Daten hochladen möchten, die bereits gescort wurden, können Sie das Kontrollkästchen Test data includes model output
auswählen. Cloud Object Storage führt bei Auswahl dieser Option keinen Rescore für die Testdaten durch. Die Daten, die Sie importieren, können auch Spalten record_id
/transaction_id
und record_timestamp
enthalten, die den Nutzdatenprotokollierungs-und Rückmeldetabellen hinzugefügt werden, wenn diese Option ausgewählt wird.
Bei Produktionsmodellen können Sie Daten importieren, indem Sie CSV-Dateien hochladen oder Endpunkte zum Senden Ihrer Modelltransaktionen verwenden.
Endpunkte verwenden
Für Produktionsmodelle werden Endpunkte unterstützt, mit denen Sie Daten in Formaten bereitstellen können, die Auswertungen ermöglichen. Sie können den Endpunkt für die Nutzdatenprotokollierung verwenden, um Scoring-Anforderungen für Fairness-und Driftauswertungen zu senden, und den Endpunkt für die Feedbackprotokollierung verwenden, um Feedbackdaten für Qualitätsbewertungen bereitzustellen. Sie können auch CSV-Dateien hochladen, um Daten für Modellauswertungen bereitzustellen. Weitere Informationen zu den Datenformaten finden Sie unter Daten für Modellauswertungen verwalten.
Ein Endpunkt für entwertete Transaktionen, mit dem Sie die Ergebnisse von Fairnessbewertungen überprüfen können, wird ebenfalls unterstützt. Der Endpunkt für verzerrungsbereinigte Transaktionen wendet aktive Verzerrungsbereinigung auf Ihre Nutzdaten an, um Verzerrungen in Ihrem Modell zu erkennen. Weitere Informationen zur aktiven Verzerrungsbereinigung finden Sie unter Verzerrungsbereinigte Transaktionen überprüfen.
Sie können die folgenden Schritte verwenden, um Modelltransaktionen für Ihre Modellauswertungen mit Endpunkten zu senden:
- Wählen Sie auf der Seite für die Monitorkonfiguration die Registerkarte Endpunkte aus.
- Wenn Sie Nutzdaten mit einer CSV-Datei hochladen möchten, klicken Sie auf Nutzdaten hochladen.
- Wenn Sie Feedbackdaten mit einer CSV-Datei hochladen wollen, klicken Sie auf Feedbackdaten hochladen.
- Klicken Sie in der Anzeige Modellinformationen auf Endpunkte.
- Wählen Sie im Menü Endpunkt den gewünschten Endpunkttyp aus.
- Wählen Sie im Menü Codesprache den Typ des Codeausschnitts aus, den Sie verwenden wollen.
- Klicken Sie auf In die Zwischenablage kopieren '
, um den Codeausschnitt zu kopieren und den Code in Ihrem Notebook oder Ihrer Anwendung auszuführen.
Protokollierung von Nutzlastdaten mit Python
Wenn Sie den Nutzdatenendpunkt aus dem Menü Endpunkte in Watson OpenScale auswählen, können Sie den folgenden Codeausschnitt verwenden, um zu zeigen, wie Sie Ihre Nutzdaten protokollieren:
from ibm_cloud_sdk_core.authenticators import IAMAuthenticator
from ibm_watson_openscale import APIClient
service_credentials = {
"apikey": "$API_KEY",
"url": "{$WOS_URL}"
}
authenticator = IAMAuthenticator(
apikey=service_credentials["apikey"],
url="https://iam.cloud.ibm.com/identity/token"
)
SERVICE_INSTANCE_ID = "{$WOS_SERVICE_INSTANCE_ID}"
wos_client = APIClient(authenticator=authenticator, service_instance_id=SERVICE_INSTANCE_ID, service_url=service_credentials["url"])
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 data here
REQUEST_DATA = {
"parameters": {
"template_variables": {
"{$TEMPLATE_VARIABLE_1}": "$TEMPLATE_VARIABLE_1_VALUE",
"{$TEMPLATE_VARIABLE_2}": "$TEMPLATE_VARIABLE_2_VALUE"
}
},
"project_id": "$PROJECT_ID"
}
RESPONSE_DATA = {
"results": [
{
"generated_text": "$GENERATED_TEXT"
}
]
}
RESPONSE_TIME = $RESPONSE_TIME
wos_client.data_sets.store_records(data_set_id=payload_logging_data_set_id, request_body=[PayloadRecord(request=REQUEST_DATA, response=RESPONSE_DATA, response_time=RESPONSE_TIME)])
Der Wert ' "project_id": "$PROJECT_ID"
gibt an, dass Sie Nutzdaten für Auswertungen in Projekten protokollieren wollen. Um Nutzdaten für Auswertungen in Leerzeichen zu protokollieren, können Sie stattdessen den Wert ' "space_id": "$SPACE_ID"
angeben. Sie können die Registerkarte Verwalten in Projekten und Räumen verwenden, um die Projekt- oder Raum-ID für Ihr Modell zu ermitteln.
Protokollierung von Feedback-Daten mit Python
Wenn Sie den Endpunkt für Feedback-Daten aus dem Menü Endpunkte in Watson OpenScale auswählen, können Sie den folgenden Codeausschnitt verwenden, um zu zeigen, wie Sie Ihre Feedback-Daten protokollieren:
from ibm_cloud_sdk_core.authenticators import IAMAuthenticator
from ibm_watson_openscale import APIClient
from ibm_watson_openscale.supporting_classes.enums import DataSetTypes, TargetTypes
service_credentials = {
"apikey": "$API_KEY",
"url": "{$WOS_URL}"
}
authenticator = IAMAuthenticator(
apikey=service_credentials["apikey"],
url="https://iam.cloud.ibm.com/identity/token"
)
SERVICE_INSTANCE_ID = "{$WOS_SERVICE_INSTANCE_ID}"
wos_client = APIClient(authenticator=authenticator, service_instance_id=SERVICE_INSTANCE_ID, service_url=service_credentials["url"])
subscription_id = "{$SUBSCRIPTION_ID}"
feedback_dataset_id = wos_client.data_sets.list(type=DataSetTypes.FEEDBACK, target_target_id=subscription_id, target_target_type=TargetTypes.SUBSCRIPTION).result.data_sets[0].metadata.id
fields = [
"{$TEMPLATE_VARIABLE_1}",
"{$TEMPLATE_VARIABLE_2}",
"{$LABEL_COLUMN}",
"_original_prediction"
]
values = [
[
"$TEMPLATE_VARIABLE_1_VALUE",
"$TEMPLATE_VARIABLE_2_VALUE",
"$LABEL_COLUMN_VALUE",
"$GENERATED_TEXT_VALUE"
]
]
wos_client.data_sets.store_records(
data_set_id=feedback_dataset_id,
request_body=[{"fields": fields, "values": values}],
background_mode=False
)
Übergeordnetes Thema: Verwaltung von Daten für Modellevaluierungen