กำหนดค่าการส่งต่อไปยังฮับการมีส่วนร่วมทั่วไป

Note

บทความนี้อธิบายคุณสมบัติที่ใช้ในเอเจนต์หรือการไหลของเอเจนต์ที่ขับเคลื่อนโดยฮาร์เนสมาตรฐาน

Copilot Studio ช่วยให้คุณสามารถส่งต่อบทสนทนาของเอเจนท์ไปยังตัวแทนมนุษย์ได้อย่างราบรื่นและสอดคล้องตามบริบทผ่านฮับการมีส่วนร่วม

ด้วยการพัฒนาแบบกําหนดเอง คุณสามารถตั้งค่าเอเจนต์ของคุณให้ส่งต่อการสนทนาไปยังศูนย์กลางการมีส่วนร่วมใดก็ได้

Prerequisites

Important

บทความนี้จําเป็นต้องมีทักษะการพัฒนาซอฟต์แวร์บางอย่าง ขั้นตอนในบทความนี้มีไว้สําหรับผู้เชี่ยวชาญด้าน IT ที่มีประสบการณ์ ซึ่งมีความเข้าใจอย่างถ่องแข็งเกี่ยวกับเครื่องมือสําหรับนักพัฒนา โปรแกรมอรรถประโยชน์ และสภาพแวดล้อมการพัฒนาแบบรวม (IDEs)

Overview

สกรีนช็อตของกระแสข้อมูลอะแดปเตอร์ทั่วไปสําหรับการแฮนด์ออฟไปยังฮับการมีส่วนร่วม

การส่งต่อเต็มรูปแบบไปยังฮับการมีส่วนร่วมเป็นไปตามรูปแบบนี้:

  1. ลูกค้าโต้ตอบกับหน้าแชทของศูนย์กลางการมีส่วนร่วม
  2. ฮับการมีส่วนร่วมกำหนดเส้นทางการแชทขาเข้าผ่านความสามารถในการกำหนดเส้นทางการแชทในตัวไปยังเอเจนต์
  3. อะแดปเตอร์แบบกำหนดเองจะถ่ายทอดข้อความสนทนาขาเข้าจากฮับการมีส่วนร่วมไปยังเอเจนต์ Copilot Studio
  4. เมื่อลูกค้า เริ่มต้นการส่งต่อ Copilot Studio จะเริ่มการส่งต่อพร้อมบริบทการสนทนาที่ครบถ้วน
  5. อะแด็ปเตอร์ที่กำหนดเองจะสกัดกั้นข้อความการส่งต่อ แยกวิเคราะห์บริบทการสนทนาทั้งหมด และกำหนดเส้นทางการสนทนาที่ยกระดับไปยังตัวแทนที่มีทักษะอย่างราบรื่น ตามความพร้อมใช้งาน
  6. การแชทของลูกค้าจะถูกส่งต่อไปยังตัวแทนที่เป็นมนุษย์ซึ่งสามารถดำเนินการสนทนาต่อได้อย่างราบรื่น

ในการส่งต่อการสนทนาไปยังตัวแทนที่เป็นมนุษย์ คุณต้องสร้างอะแดปเตอร์การส่งต่อแบบกำหนดเอง

สร้างอะแดปเตอร์การส่งต่อแบบกำหนดเอง

อะแดปเตอร์เชื่อมต่อการสนทนาเข้าและออกจากฮับการมีส่วนร่วมของตัวแทนของคุณ โดยการส่งต่อและแปลงข้อความระหว่างลูกค้า เอเจนต์ และตัวแทนที่เป็นมนุษย์

ฮับการมีส่วนร่วมของตัวแทนที่ได้รับความนิยมส่วนใหญ่จัดเตรียมชุดการพัฒนาซอฟต์แวร์ (SDK) หรือจัดทำเอกสาร API ของตนต่อสาธารณะ ทำให้คุณสามารถสร้างอะแด็ปเตอร์ดังกล่าวได้

เอกสารนี้ไม่ครอบคลุมถึงสิ่งที่อะแด็ปเตอร์แบบกําหนดเองสามารถมีได้ อย่างไรก็ตาม ข้อความการส่งต่อตัวอย่างต่อไปนี้อิงจากสิ่งที่ Copilot Studio สร้างขึ้นเป็นส่วนหนึ่งของ ประสบการณ์การส่งต่อมาตรฐานของเราไปยังตัวแทนสนทนาสด สามารถช่วยให้คุณเริ่มต้นได้

ข้อมูลโค้ดและตัวอย่างเหล่านี้ช่วยให้คุณสามารถแยกบริบทจากการสนทนาเพื่อส่งต่อการสนทนาของเอเจนต์ไปยังฮับการมีส่วนร่วมทั่วไปได้อย่างราบรื่นและมีบริบท

ตัวอย่างส่วนข้อมูลข้อความการส่งต่อ

ปัจจุบัน Handoff รองรับเฉพาะ 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>
    }
}