Mit der Trafficaufteilung können Sie Nutzerunterhaltungen auf verschiedene Versionen Ihrer CX Agent Studio-Agent-Anwendung in einem einzelnen Bereitstellungskanal aufteilen. Sie können die Trafficaufteilung für A/B-Tests verwenden oder Updates sicher in Phasen bereitstellen, indem Sie einen bestimmten Prozentsatz des Traffics an jede Version weiterleiten.
In dieser Anleitung wird beschrieben, wie Sie die Trafficaufteilung mit der CX Agent Studio Console oder der CX Agent Studio REST API konfigurieren und die Versionenleistung mit BigQuery-Logs analysieren, sobald Ihr Test Live-Kundentraffic erhält.
Workflowübersicht
- Anwendungsversionen erstellen: Erstellen Sie unveränderliche Snapshots (Versionen) Ihrer Agent-Anwendung, um sie zu vergleichen.
- Trafficaufteilung für einen Bereitstellungskanal konfigurieren: Weisen Sie mit der Console oder der REST API Trafficprozentsätze für mehrere Anwendungsversionen zu.
- Leistung in BigQuery analysieren: Sobald Ihr Test ausgeführt wird und genügend Kundentraffic verarbeitet wurde, können Sie exportierte Unterhaltungslogs in BigQuery abfragen, um Messwerte für verschiedene Versionen zu vergleichen.
Trafficaufteilung konfigurieren
Sie können die Trafficzuweisungen für verschiedene Anwendungsversionen entweder über die Console oder die REST API konfigurieren. Jede Zuweisung muss auf eine vorhandene Version der Agent-Anwendung verweisen und die Summe aller Trafficprozentsätze in der Bereitstellung muss 100 ergeben.
Die Console verwenden
So konfigurieren Sie die Trafficaufteilung in der Agent Builder Console:
- Öffnen Sie die CX Agent Studio Console und wählen Sie Ihre Agent-Anwendung aus.
- Klicken Sie oben auf der Seite auf den Tab Bereitstellen.
- Wählen Sie einen vorhandenen Bereitstellungskanal aus oder klicken Sie auf Neuer Kanal, um einen zu erstellen (z. B. API-Zugriff).
- Klicken Sie unter Agent-Version auf Version hinzufügen und wählen Sie die Versionen der Agent-Anwendung aus, die Sie in den Test einbeziehen möchten.
- Geben Sie den Trafficprozentsatz für jede Version ein (z. B.
90% für Version A und10% für Version B). Die Prozentsätze müssen zusammen 100 % ergeben. - Klicken Sie auf Kanal erstellen , um die Konfiguration anzuwenden.
REST API verwenden
Sie können die Trafficaufteilung programmatisch einrichten, indem Sie die patch Methode für Ihre Bereitstellungsressource aufrufen und experimentConfig.versionRelease.trafficAllocations definieren.
Bevor Sie die API aufrufen, benötigen Sie die folgenden IDs:
PROJECT_ID: Ihre Google Cloud Projekt-IDLOCATION_ID: Die Region Ihrer Agent-Anwendung (z. B.us-east1)APP_ID: Die ID Ihrer Agent-AnwendungDEPLOYMENT_ID: Die ID des BereitstellungskanalsVERSION_A_UUID/VERSION_B_UUID: Die eindeutigen IDs Ihrer Anwendungsversionen
Senden Sie eine PATCH-Anfrage, um die Bereitstellungskonfiguration zu aktualisieren:
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://ces.googleapis.com/v1beta/projects/PROJECT_ID/locations/LOCATION_ID/apps/APP_ID/deployments/DEPLOYMENT_ID?updateMask=experimentConfig" \
-d '{
"experimentConfig": {
"versionRelease": {
"trafficAllocations": [
{
"appVersion": "projects/PROJECT_ID/locations/LOCATION_ID/apps/APP_ID/versions/VERSION_A_UUID",
"trafficPercentage": 90
},
{
"appVersion": "projects/PROJECT_ID/locations/LOCATION_ID/apps/APP_ID/versions/VERSION_B_UUID",
"trafficPercentage": 10
}
]
}
}
}'
Bereitstellungskonfiguration überprüfen
So prüfen Sie, ob Ihre Trafficzuweisungen aktiv sind:
Die Console verwenden
- Öffnen Sie in der CX Agent Studio Console die Seite Bereitstellen.
- Suchen Sie in der Liste der Bereitstellungen nach Ihrem Kanal.
- Prüfen Sie, ob in der Spalte Version die konfigurierte Aufteilung angezeigt wird (z. B.
Version A (90%), Version B (10%)).
REST API verwenden
Senden Sie eine GET-Anfrage, um die Details der Bereitstellungsressource abzurufen:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://ces.googleapis.com/v1beta/projects/PROJECT_ID/locations/LOCATION_ID/apps/APP_ID/deployments/DEPLOYMENT_ID"
Das JSON der Antwort enthält die aktive experimentConfig, in der die Trafficprozentsätze für jede Version bestätigt werden, und zeigt "state": "RUNNING" in versionRelease an.
Versionenleistung in BigQuery analysieren
Sobald Ihr Test zur Trafficaufteilung ausgeführt wird und genügend Live-Kundengespräche verarbeitet wurden, können Sie die Versionenleistung mit BigQuery-Logs analysieren.
Bevor Sie Logs analysieren, müssen Sie den BigQuery-Export für Ihre Anwendung aktivieren. Rufen Sie dazu in der CX Agent Studio Console Erstellen > Einstellungen > Erweitert auf und aktivieren Sie Logs nach BigQuery exportieren. Wenn der Export aktiviert ist, werden Interaktionsdatensätze, einschließlich der spezifischen app_version_id, die in jeder Runde verarbeitet wird, in Ihrem BigQuery-Dataset aufgezeichnet.
Sie können SQL-Abfragen ausführen, um die von den einzelnen Versionen während des Trafficaufteilungszeitraums generierten Antworten zu bewerten und zu vergleichen.
- Wechseln Sie in der Google Cloud Console zu BigQuery.
Führen Sie die Beispielabfrage für Ihre Tabelle mit Interaktionslogs aus und ersetzen Sie dabei Ihre Projektdetails und den Bewertungszeitraum (
START_TIMEundEND_TIME):SELECT app_version_id, tool_call.name AS tool_name, tool_call.output AS tool_result_message, COUNT(1) AS count FROM `PROJECT_ID.conversational_agents_logs.v1beta_logs`, UNNEST(json_payload.query_result.generations) AS generation, UNNEST(generation.tool_calls) AS tool_call WHERE json_payload.resource = 'projects/PROJECT_ID/locations/LOCATION_ID/apps/APP_ID' AND timestamp >= TIMESTAMP('START_TIME_YYYY-MM-DD HH:MM:SS', 'TIMEZONE') AND timestamp <= TIMESTAMP('END_TIME_YYYY-MM-DD HH:MM:SS', 'TIMEZONE') GROUP BY app_version_id, tool_name, tool_result_message ORDER BY app_version_id, count DESCMesswerte auswerten:
- Versionen identifizieren: Ordnen Sie die Ausgaberow Ihrer spezifischen Version-UUIDs oder Toolausführungen zu (z. B. um Antworten von Version A mit Antworten von Version B zu vergleichen).
- Erfolgsrate berechnen: Vergleichen Sie das Verhältnis von Ergebnissen zu Fehlern oder veralteten Antworten für die beiden Versionen, um zu entscheiden, ob die Kandidatenversion 100% des Traffics erhalten soll.