Ρύθμιση παραμέτρων παράδοσης σε έναν γενικό διανομέα δέσμευσης
Copilot Studio σας επιτρέπει να παραδίδετε συνομιλίες εκπρόσωπος απρόσκοπτα και με βάση τα συμφραζόμενα σε έναν άνθρωπο εκπρόσωπος μέσω ενός κόμβου αφοσίωσης.
Με κάποια προσαρμοσμένη ανάπτυξη, μπορείτε να διαμορφώσετε το εκπρόσωπος σας για να παραδώσετε συνομιλίες σε οποιοδήποτε κέντρο αφοσίωσης. Αυτός ο οδηγός περιγράφει τον τρόπο με τον οποίο μπορείτε να το κάνετε.
Προαπαιτούμενα
- Πρέπει να έχετε δημιουργήσει ένα εκπρόσωπος χρησιμοποιώντας Copilot Studio.
- Χρειάζεστε έναν διανομέα δέσμευσης που μπορεί να αλληλεπιδράσει μέσω προγραμματισμού με χρήση API ή SDK
Σημαντικό
Ορισμένες οδηγίες σε αυτήν την ενότητα απαιτούν ανάπτυξη λογισμικού από εσάς ή από τους προγραμματιστές σας. Απευθύνονται σε έμπειρους επαγγελματίες IT, όπως διαχειριστές IT ή προγραμματιστές που έχουν κατανοήσει πολύ καλά τα εργαλεία για προγραμματιστές, τα βοηθητικά προγράμματα και τα IDE που επιδιώκουν την ενσωμάτωση διανομέων δέσμευσης τρίτων με το Copilot Studio.
Επισκόπηση
Η πλήρης παράδοση σε έναν διανομέα δέσμευσης ακολουθεί αυτό το μοτίβο:
Ένας τελικός χρήστης αλληλεπιδρά με τον καμβά συνομιλίας του διανομέα δέσμευσης.
Ο κόμβος αφοσίωσης δρομολογεί την εισερχόμενη συνομιλία μέσω ενσωματωμένων δυνατοτήτων δρομολόγησης συνομιλίας σε εκπρόσωπος.
Ένας προσαρμοσμένος προσαρμογέας μεταδίδει τα εισερχόμενα μηνύματα συνομιλίας από το κέντρο αφοσίωσης σε ένα Copilot Studio εκπρόσωπος.
Μόλις ο τελικός χρήστης ενεργοποιήσει την παράδοση, το Copilot Studio ξεκινά την παράδοση με όλο το περιβάλλον συνομιλίας.
Ο προσαρμοσμένος προσαρμογέας εντοπίζει το μήνυμα παράδοσης, αναλύει το πλήρες περιβάλλον της συνομιλίας και δρομολογεί χωρίς προβλήματα την κλιμάκωση της συνομιλίας σε έναν έμπειρο εκπρόσωπο, ανάλογα με τη διαθεσιμότητα.
Η συνομιλία του τελικού χρήστη γίνεται χωρίς προβλήματα και βάσει του περιβάλλοντος με έναν εκπρόσωπο που μπορεί να συνεχίσει τη συνομιλία.
Για να απονείμετε τη συνομιλία σε έναν εκπρόσωπο, θα πρέπει να δημιουργήσετε έναν προσαρμοσμένο προσαρμογέα παράδοσης.
Δημιουργία προσαρμοσμένου προσαρμογέα παράδοσης
Ένας προσαρμογέας γεφυρώνει συνομιλίες από και προς το εκπρόσωπος κέντρο αφοσίωσης, αναμεταδίδοντας και μετατρέποντας μηνύματα μεταξύ τελικών χρηστών, εκπροσώπων και ανθρώπινων παραγόντων.
Τα πιο δημοφιλή κέντρα δέσμευσης εκπρόσωπου παρέχουν κιτ ανάπτυξης λογισμικού (SDΟ) ή τεκμηριώσεις δημόσια των API τους, δίνοντάς σας τη δυνατότητα να δημιουργείτε τέτοιους προσαρμογείς.
Είναι εκτός του πεδίου εφαρμογής αυτού του εγγράφου να καλύπτει τι θα μπορούσε να περιέχει ένας προσαρμοσμένος προσαρμογέας. Ωστόσο, το ακόλουθο δείγμα μηνύματος παράδοσης, με βάση τα στοιχεία που το Copilot Studio δημιουργεί ως μέρος της τυπικής παράδοσης σε μια εμπειρία εκπροσώπου σε πραγματικό χρόνο, μπορεί να σας βοηθήσει να ξεκινήσετε.
Αυτά τα αποσπάσματα κώδικα και τα δείγματα σάς επιτρέπουν να εξαγάγετε το ευρύτερο πλαίσιο από τη συνομιλία για να παραδώσετε απρόσκοπτα και με βάση τα συμφραζόμενα τις συνομιλίες εκπρόσωπος σε οποιονδήποτε γενικό κόμβο αφοσίωσης.
Δείγμα ωφέλιμου φορτίου μηνύματος παράδοσης
Η κλιμάκωση υποστηρίζεται αυτή τη στιγμή μόνο σε Direct Line. Μάθετε περισσότερα σχετικά με την αλληλεπίδραση με ένα εκπρόσωπος over Direct Line. Μετά την παράδοση, μια δραστηριότητα συμβάντος που καλείται handoff.initiate
ενεργοποιείται και αποστέλλεται στον προσαρμογέα.
Μπορείτε να δείτε ένα πλήρες δείγμα δραστηριότητας μηνύματος παράδοσης στην τοποθεσία GitHub.
Εξαγωγή περιβάλλοντος από μήνυμα παράδοσης
Για να χρησιμοποιήσετε το περιβάλλον συνομιλίας, πρέπει να αναλύσετε τη δραστηριότητα συμβάντος handoff.initiate
.
Το παρακάτω τμήμα κώδικα αναλύει τη δραστηριότητα συμβάντος handoff.initiate
και εξάγει το περιβάλλον συνομιλίας. Ανατρέξτε στο πλήρες δείγμα κώδικα στο GitHub.
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>
}
}