Übergabe an einen generischen Kundenbindungs-Hub konfigurieren
Wichtig
Power Virtual Agents-Fähigkeiten und -Funktionen sind jetzt Teil von Microsoft Copilot Studio nach erheblichen Investitionen in generative KI und verbesserte Integrationen in Microsoft Copilot.
Einige Artikel und Screenshots beziehen sich möglicherweise auf Power Virtual Agents während wir Dokumentation und Schulungsinhalte aktualisieren.
Mithilfe von Copilot Studio können Sie Copilot-Unterhaltungen nahtlos und kontextbezogen über einen Kundenbindungs-Hub an einen menschlichen Agenten übergeben.
Mit einigen benutzerdefinierten Entwicklungen können Sie Ihren Copiloten so konfigurieren, dass Unterhaltungen an einen beliebigen Kundenbindungs-Hub übergeben werden. In dieser Anleitung wird beschrieben, wie Sie dies tun können.
Anforderungen
- Sie müssen mit Copilot Studio einen Copiloten erstellt haben.
- Sie benötigen einen Kundenbindungs-Hub, der mithilfe von APIs oder SDK programmgesteuert interagieren kann.
Wichtig
Anweisungen in diesem Abschnitt erfordern Softwareentwicklung von Ihnen oder Ihren Entwicklern. Es richtet sich an erfahrene IT-Experten wie IT-Administratoren oder -Entwickler, die ein solides Verständnis für Entwicklertools, Dienstprogramme und IDEs haben, die Kundenbindungs-Hubs von Drittanbietern mit Copilot Studio integrieren möchten.
Überblick
Eine vollständige Übergabe an einen Kundenbindungs-Hub folgt diesem Muster:
Ein Endbenutzer interagiert mit dem Chat-Canvas des Kundenbindungs-Hubs.
Der Kundenbindungs-Hub leitet den eingehenden Chat über integrierte Chat-Routing-Funktionen an einen Copiloten weiter.
Ein benutzerdefinierter Adapter leitet die eingehenden Chat-Nachrichten vom Kundenbindungs-Hub an einen Copilot Studio-Copiloten weiter.
Sobald der Endbenutzer die Übergabe auslöst, startet Copilot Studio die Übergabe mit dem vollständigen Gesprächskontext.
Der benutzerdefinierte Adapter fängt die Übergabemeldung ab, analysiert den gesamten Unterhaltungskontext und leitet die eskalierte Unterhaltung je nach Verfügbarkeit nahtlos an einen erfahrenen realen Agenten weiter.
Der Chat des Endbenutzers wird nahtlos und kontextbezogen an einen menschlichen Agenten übergeben, der die Konversation fortsetzen kann.
Um die Unterhaltung an einen menschlichen Agenten weiterzuleiten, müssen Sie einen benutzerdefinierten Übergabeadapter erstellen.
Erstellen eines benutzerdefinierten Übergabeadapters
Ein Adapter überbrückt Konversationen zu und von Ihrem Agenten-Kundenbindungs-Hub, indem er Nachrichten zwischen Endbenutzenden, Copiloten und menschlichen Agenten weiterleitet und transformiert.
Die meisten gängigen Agenten-Kundenbindungs-Hubs stellen SDKs bereit oder dokumentieren ihre APIs öffentlich, sodass Sie solche Adapter erstellen können.
Während es außerhalb des Umfangs dieses Dokuments liegt, zu behandeln, was ein benutzerdefinierter Adapter enthalten könnte, kann die folgende Beispielübergabe Ihnen beim Einstieg helfen. Diese basiert auf der Grundlage dessen, was Copilot Studio als Teil unserer Standardübergabe an ein Live-Agent-Erlebnis erzeugt.
Mit diesen Codeausschnitten und Beispielen können Sie den Kontext aus der Konversation extrahieren, um Copilot-Konversationen nahtlos und kontextbezogen an einen beliebigen generischen Kundenbindungs-Hub zu übergeben.
Nutzlast der Beispielübergabemeldung
Die Übergabe wird derzeit nur über Direct Line unterstützt. Weitere Informationen über die Interaktion mit einem Copiloten über Direct Line. Bei der Übergabe wird eine Ereignisaktivität namens handoff.initiate
ausgelöst und an den Adapter gesendet.
Sehen Sie sich eine vollständige Beispielübergabemeldungsaktivität auf unserer GitHub-Website an.
Kontext aus Übergabemeldungen extrahieren
Um Gesprächskontext verwenden zu können, müssen Sie die handoff.initiate
-Ereignisaktivität analysieren.
Der folgende Codeausschnitt analysiert die handoff.initiate
-Ereignisaktivität und extrahiert den Konversationskontext. Sehen Sie sich das vollständige Codebeispiel auf GitHub an.
public void InitiateHandoff(string botresponseJson)
{
BotResponse response = JsonConvert.DeserializeObject<BotResponse>(botresponseJson);
// Look for Handoff Initiate Activity. This indicates that conversation needs to be handed off to agent
Activity handoffInitiateActivity = response.Activities.ToList().FirstOrDefault(
item => string.Equals(item.Type, ActivityTypes.Event, System.StringComparison.Ordinal)
&& string.Equals(item.Name, HandoffInitiateActivityName, System.StringComparison.Ordinal));
if (handoffInitiateActivity != null)
{
// Read transcript from attachment
if (handoffInitiateActivity.Attachments?.Any() == true)
{
Attachment transcriptAttachment = handoffInitiateActivity.Attachments.FirstOrDefault(a => string.Equals(a.Name.ToLowerInvariant(), TranscriptAttachmentName, System.StringComparison.Ordinal));
if (transcriptAttachment != null)
{
Transcript transcript = JsonConvert.DeserializeObject<Transcript>(transcriptAttachment.Content.ToString());
}
}
// Read handoff context
HandoffContext context = JsonConvert.DeserializeObject<HandoffContext>(handoffInitiateActivity.Value.ToString());
// Connect to Agent Hub
// <YOUR CUSTOM ADAPTER CODE GOES HERE>
}
}
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für