แชร์ผ่าน


ใช้แชทบอทแบบคลาสสิกเป็นทักษะในบอท Bot Framework

หมายเหตุ

บทความนี้ใช้กับ แชทบอทแบบคลาสสิก เท่านั้น คุณลักษณะนี้ไม่พร้อมใช้งานในประสบการณ์การใช้งาน Copilot Studio ใหม่

เมื่อคุณใช้แชทบอทแบบคลาสสิกเป็นทักษะด้วยบอท Bot Framework บอท Bot Framework จะกำหนดว่าสิ่งที่ผู้ใช้บอกตรงกันกับข้อความทริกเกอร์ของแชทบอทแบบคลาสสิก หากตรงกัน บอท Bot Framework ส่งต่อการสนทนาไปยังแชทบอทแบบคลาสสิก แชทบอทแบบคลาสสิกจะแยกเอนทิตีใดๆ และทริกเกอร์หัวข้อที่ตรงกัน

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

สำคัญ

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

ในการตั้งค่าแชทบอทแบบคลาสสิกของคุณเป็นทักษะ:

  1. เพิ่มบอท Bot Framework ในรายการที่อนุญาตสำหรับแชทบอทแบบคลาสสิก

  2. ดาวน์โหลดรายการทักษะสำหรับแชทบอทแบบคลาสสิก

  3. ใช้ไฟล์กำกับทักษะที่ดาวน์โหลดใน Bot Framework Composer เพื่อสร้างการเชื่อมต่อระหว่างบอท

  4. ใช้ Bot Framework Emulator เพื่อยืนยันว่าบอททำงานเป็นทักษะ

ข้อกำหนดเบื้องต้น

เพิ่มบอท Bot Framework ของคุณในรายการที่อนุญาตสำหรับแชทบอทแบบคลาสสิก

เพิ่มรหัสแอปของบอท Bot Framework ในรายการที่อนุญาตสำหรับแชทบอทแบบคลาสสิกที่คุณต้องการใช้เป็นทักษะ บอทต้องอยู่ในผู้เช่าเดียวกัน

  1. ใน Bot Framework Composer ให้เปิดบอทที่จะใช้ทักษะ เลือก กำหนดค่า แล้วเลือก ทรัพยากรการพัฒนา คัดลอกรหัสใน รหัสแอป Microsoft

  2. ใน Copilot Studio ให้เปิดแชทบอทแบบคลาสสิกที่คุณต้องการใช้เป็นทักษะ

  3. ในเมนูนำทาง ไปที่ การตั้งค่า และเลือก ความปลอดภัย จากนั้นเลือก รายการที่อนุญาต

  4. เลือก เพิ่มผู้โทรที่อนุญาต

  5. วาง รหัสแอป ของบอท Bot Framework และเลือก ถัดไป

    ข้อควรระวัง

    แชทบอท แบบคลาสสิกไม่สามารถทำหน้าที่เป็นทักษะสำหรับแชทบอทแบบคลาสสิกอื่นๆ ได้ หากคุณพยายามเพิ่มรหัสแอปที่เป็นของบอท Power Virtual Agent ในรายการที่อนุญาต คุณจะได้รับข้อผิดพลาด คุณเพิ่มได้เฉพาะรหัสแอปของบอท Bot Framework เท่านั้น

    Copilot Studio จะตรวจสอบรหัสแอปของบอท Bot Framework และยืนยันว่าเป็นของบอทที่อยู่ในผู้เช่าเดียวกันหรือไม่

  6. (เลือกได้) เพิ่ม ชื่อที่แสดง สำหรับบอทที่คุณเพิ่มในรายการที่อนุญาต

  7. เลือก บันทึก

บอท Bot Framework จะปรากฏพร้อมชื่อที่แสดงหากคุณป้อนหรือเป็นรหัสแอปหากคุณไม่ได้ป้อนชื่อที่แสดง หากต้องการลบหรือแก้ไข ให้เลือกไอคอนทางด้านขวาของชื่อที่แสดงหรือรหัสแอปของบอท

หมายเหตุ

บอท Bot Framework ที่เพิ่มในรายการที่อนุญาตไม่ถูก ส่งออกเป็นส่วนหนึ่งของเนื้อหาบอท

ดาวน์โหลดรายการทักษะคลาสสิก แชทบอท สำหรับ แชทบอท คลาสสิกของคุณ

บอท Bot Framework สามารถใช้ไฟล์กำกับทักษะ Copilot Studio เพื่อกำหนดค่าการเชื่อมต่อกับแชทบอทแบบคลาสสิกที่สร้างรายการ

แชทบอทแบบคลาสสิกทั้งหมดจะมีไฟล์กำกับทักษะ ไฟล์กำกับทักษะเป็นไฟล์ JSON ที่มีชื่อของทักษะ ส่วนติดต่อ และข้อความทริกเกอร์

บอท Bot Framework สามารถใช้ไฟล์กำกับทักษะเพื่อให้รู้ว่าเมื่อใดที่จะทริกเกอร์แชทบอทแบบคลาสสิก (เช่น เพื่อตอบสนองต่อบางสิ่งที่ผู้ใช้พูดกับบอท)

ไฟล์กำกับทักษะ Copilot Studio เป็นไปตาม แบบแผนไฟล์กำกับทักษะ Bot Framework เวอร์ชัน 2.2 และประกอบด้วยไฟล์ intents.lu และ manifest.json

บอท Bot Framework อาจตัดสินใจว่าแชทบอทแบบคลาสสิกควรจัดการคำขอของผู้ใช้ตามข้อมูลรายการ โดยจะส่งผ่านทุกอย่างที่ผู้ใช้พูดไปยังแชทบอทแบบคลาสสิก จากนั้นแชทบอทแบบคลาสสิกจับคู่สิ่งที่ผู้ใช้พูดกับหัวข้อ Copilot Studio แยกเอนทิตีที่จำเป็นสำหรับการเติมช่องว่าง และทริกเกอร์หัวข้อ Copilot Studio

ระบบจะสร้างและปรับปรุงไฟล์กำกับทักษะ Copilot Studio ทั้งหมดโดยอัตโนมัติ แชทบอทแบบคลาสสิก มีไฟล์กำกับทักษะสองอย่าง:

  • ไฟล์กำกับทดสอบ: อนุญาตให้บอท Bot Framework เชื่อมต่อกับเวอร์ชันทดสอบของแชทบอทแบบคลาสสิกของคุณ ใช้รายการทดสอบเพื่อตรวจสอบการเปลี่ยนแปลงทักษะของคุณก่อนที่จะเผยแพร่

    • รายการทดสอบสามารถใช้ได้ทันทีสำหรับแชทบอทแบบคลาสสิกที่เพิ่งสร้างใหม่ทั้งหมด
    • บอทจะได้รับการปรับปรุงโดยอัตโนมัติเพื่อแสดงการเปลี่ยนแปลงทุกครั้งที่คุณบันทึกแชทบอทแบบคลาสสิก
  • ไฟล์กำกับที่เผยแพร่: อนุญาตให้บอท Bot Framework เชื่อมต่อกับเวอร์ชันที่เผยแพร่ของแชทบอทแบบคลาสสิกของคุณ

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

หมายเหตุ

ไฟล์กำกับที่เผยแพร่ไม่สามารถใช้กับแชทบอทแบบคลาสสิกที่ไม่เคยเผยแพร่

หากต้องการสร้างไฟล์กำกับที่เผยแพร่ของบอท เผยแพร่แชทบอทแบบคลาสสิกของคุณ

ไฟล์กำกับทักษะทั้งคู่จะปรากฏบนแผง จัดการรายการที่อนุญาต

ไฟล์กำกับทักษะจะแสดงในหน้ารายละเอียดของ Copilot ด้วย ในเมนูนำทาง ให้เลือก การตั้งค่า แล้วเลือก รายละเอียด หน้ารายละเอียดแสดงเมตาดาต้าอื่นๆ รวมถึง รหัสสภาพแวดล้อม, รหัสผู้เช่า และ รหัสแอปของบอท

หากต้องการดาวน์โหลดรายการ ให้เลือก รายการจะดาวน์โหลดเป็นไฟล์ .zip ที่มีป้ายกำกับ _<bot name>manifest สำหรับ ไฟล์กำกับที่เผยแพร่ หรือ <bot name>test__manifest สำหรับ ไฟล์กำกับทดสอบ

หมายเหตุ

ไฟล์กำกับทักษะไม่มีหัวข้อของระบบและกล่องโต้ตอบ Composer ที่เพิ่มลงในแชทบอทแบบคลาสสิก รวมเฉพาะหัวข้อที่สร้างโดยผู้สร้าง Copilot และทริกเกอร์จุดประสงค์ของ Composer ที่ผู้สร้างเพิ่มลงในบอทเท่านั้น

เชื่อมต่อกับทักษะ Copilot Studio ใน Composer

ใช้ไฟล์กำกับทักษะ Copilot Studio เพื่อสร้างการเชื่อมต่อทักษะในบอท Bot Framework ของคุณใน Composer

  1. ในโครงการของ Bot Framework Composer เลือก เพิ่ม แล้วเลือก เชื่อมต่อกับทักษะ

  2. เรียกดูและเลือกไฟล์เก็บถาวร .zip ของ Copilot Studio จากนั้นเลือก ถัดไป

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

  4. ตรวจสอบและแก้ไขข้อความทริกเกอร์ของแชทบอทแบบคลาสสิก แล้วเลือก ถัดไป

  5. ตรวจสอบให้แน่ใจว่ามีการเลือก ใช้ระบบจัดการและควบคุมสำหรับโครงการแบบหลายบอท แล้วเลือก ดำเนินการต่อ

  6. ตรวจสอบว่าได้เพิ่มทักษะ Copilot Studio ในบอท Bot Framework ของคุณอย่างถูกต้องและทริกเกอร์ใหม่ที่มีชื่อของแชทบอทแบบคลาสิกของคุณปรากฏในโครงการใน Composer

ค้นหาหัวข้อในไฟล์กำกับทักษะ

ใช้เหตุการณ์เพื่อทริกเกอร์หัวข้อ Copilot Studio ในทักษะ หากต้องการเรียกหัวข้อเฉพาะจาก Composer ให้ดูที่หัวข้อตามชื่อของเหตุการณ์ที่เกี่ยวข้องในไฟล์กำกับทักษะ

  1. เลือกการดำเนินการ เชื่อมต่อกับทักษะ

  2. ภายใต้ ชื่อกล่องโต้ตอบทักษะ ให้เลือก แสดงไฟล์กำกับทักษะ

  3. ค้นหา กิจกรรม ในรายการ คุณสมบัตินี้มีคุณสมบัติที่ซ้อนกันซึ่งแสดงหัวข้อที่มีอยู่ในแชทบอทแบบคลาสสิกของคุณ

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

    ในตัวอย่างนี้ ชื่อกิจกรรมของเหตุการณ์คือ dispatchTo_new_topic_87609dabd86049f7bc6507c6f7263aba_33d

เรียกหัวข้อของทักษะ Copilot Studio

แทนการใช้สิ่งที่ผู้ใช้บอกให้ทริกเกอร์ คุณสามารถเรียกหัวข้อของทักษะ Copilot Studio ได้โดยตรง คุณสามารถเรียกหัวข้อของ Copilot Studio ได้โดยตรงเฉพาะส่วนที่แสดงอยู่ในไฟล์กำกับทักษะเท่านั้น

  1. ในพื้นที่ทำงานการสร้างของ Composer ให้เลือก เพิ่ม จากนั้นเลือก เข้าถึงแหล่งข้อมูลภายนอก แล้วเลือก เชื่อมต่อกับทักษะ

  2. ในรายการ ชื่อกล่องโต้ตอบทักษะ ให้เลือกแชทบอทแบบคลาสสิกของคุณ

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

  4. เลือก ปิด

  5. ในส่วน กิจกรรม ให้เลือก แสดงโค้ด

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

    [Activity
        type = event
        name = TOPIC_ACTIVITY_NAME
    ]
    

ส่งผ่านตัวแปรอินพุตไปที่หัวข้อของทักษะ Copilot Studio

Bot Framework Composer สามารถส่งผ่านตัวแปรไปยังหัวข้อของทักษะ Copilot Studio เป็นอินพุตได้ หากต้องการเรียนรู้วิธีสร้างหัวข้อ Copilot Studio ที่ยอมรับตัวแปรอินพุต ดูที่ ทำงานกับตัวแปร

หากหัวข้อ Copilot Studio ที่สามารถรับตัวแปรอินพุตแสดงในไฟล์กำกับทักษะของคุณ คุณสามารถส่งตัวแปรของ Composer ไปที่หัวข้อได้

  1. ในพื้นที่ทำงานการสร้างของ Composer ให้เลือก เพิ่ม จากนั้นเลือก เข้าถึงแหล่งข้อมูลภายนอก แล้วเลือก เชื่อมต่อกับทักษะ

  2. ในรายการ ชื่อกล่องโต้ตอบทักษะ ให้เลือกแชทบอทแบบคลาสสิกของคุณ

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

  4. ค้นหาคุณสมบัติ ค่า ของหัวข้อ คุณสมบัติ ค่า มีคุณสมบัติ $ref คัดลอกค่านั้นและบันทึกเพื่อใช้ในขั้นตอนต่อไป

    คำเตือน

    หากหัวข้อ Copilot Studio ไม่มีอินพุต ก็จะไม่มีคุณสมบัติ ค่า

  5. ค้นหาคุณสมบัติ คำจำกัดความ จากนั้นมองหาคุณสมบัติที่ซ้อนกันที่ตรงกับค่า $ref ที่คุณพบในขั้นตอนก่อนหน้า จดบันทึกชื่อและชนิดอินพุตของหัวข้อ Copilot Studio คุณจะข้อมูลดังกล่าวในขั้นตอนต่อไป

  6. เลือก ปิด

  7. ภายใต้ส่วน กิจกรรม ให้เลือก แสดงโค้ด

  8. พิมพ์หรือวางโค้ดต่อไปนี้ แทนที่ค่าเหล่านี้:

    1. แทนที่ TOPIC_ACTIVITY_NAME ด้วยชื่อกิจกรรมเหตุการณ์ของหัวข้อของคุณ
    2. แทนที่ PVA_INPUT_VARIABLE ด้วยตัวแปรอินพุตจากหัวข้อของคุณ
    3. แทนที่ COMPOSER_INPUT_VARIABLE ด้วยตัวแปรของ Composer ที่จะระบุค่า
    [Activity
        Type = event
        Name = TOPIC_ACTIVITY_NAME
        Value = ${addProperty(json("{}"), 'PVA_INPUT_VARIABLE', COMPOSER_INPUT_VARIABLE)}
    ]
    

    ในตัวอย่างนี้ ตัวแปร Composer dialog.storeLocation ระบุค่าไปยังตัวแปรอินพุต pva_StoreLocation ในหัวข้อของแชทบอทแบบคลาสสิก dispatchTo_new_topic_127cdcdbbb4a480ea113c5101f309089_21a34f16

รับตัวแปรเอาต์พุตจากหัวข้อทักษะของ Copilot Studio

คุณสามารถรับเอาต์พุตจากหัวข้อทักษะของ Copilot Studio ใน Composer หากต้องการเรียนรู้วิธีสร้างหัวข้อ Copilot Studio ที่ส่งคืนเอาต์พุต ดูที่ ทำงานกับตัวแปร

  1. ในพื้นที่ทำงานการสร้างของ Composer ให้เลือก เพิ่ม จากนั้นเลือก เข้าถึงแหล่งข้อมูลภายนอก แล้วเลือก เชื่อมต่อกับทักษะ

  2. ในรายการ ชื่อกล่องโต้ตอบทักษะ ให้เลือกแชทบอทแบบคลาสสิกของคุณ

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

  4. ค้นหาคุณสมบัติ resultValue ของหัวข้อ คุณสมบัติ resultValue มีคุณสมบัติ $ref คัดลอกค่านั้นและบันทึกเพื่อใช้ในขั้นตอนต่อไป

    คำเตือน

    หากหัวข้อ Copilot Studio ไม่มีเอาต์พุต ก็จะไม่มีคุณสมบัติ resultValue

  5. ค้นหาคุณสมบัติ คำจำกัดความ จากนั้นมองหาคุณสมบัติที่ซ้อนกันที่ตรงกับค่า $ref ที่คุณพบในขั้นตอนก่อนหน้า จดบันทึกชื่อและชนิดตัวแปรเอาต์พุตของหัวข้อ Copilot Studio คุณจะข้อมูลดังกล่าวในขั้นตอนต่อไป

    ในตัวอย่างนี้ หัวข้อ Copilot Studio จะส่งคืนเอาต์พุตชนิดสตริงสองรายการ คือ pva_State และ pva_Item

  6. เลือก ปิด

  7. ในส่วน กิจกรรม ให้เลือก แสดงโค้ด

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

    [Activity
        type = event
        name = TOPIC_ACTIVITY_NAME
    ]
    
  9. ภายใต้พื้นที่โค้ด ให้ตั้งค่า คุณสมบัติ เป็นตัวแปร Composer เพื่อรับและเก็บค่าเอาต์พุตจากหัวข้อของทักษะ Copilot Studio

  10. ในพื้นที่ทำงานการสร้างของ Composer ให้เลือก เพิ่ม จากนั้นเลือก จัดการคุณสมบัติ แล้วเลือก ตั้งค่าคุณสมบัติ

  11. ตั้งค่า คุณสมบัติ เป็นค่าของ Composer ที่ควรเก็บค่าที่แยกออกมา จากนั้นตั้งค่า ค่า เป็นตัวแปรของ Composer ที่คุณเก็บเอาต์พุตของหัวข้อไว้

    ในตัวอย่างนี้ ค่าเอาต์พุตจาก dialog.skillResult.pvaState และ dialog.skillResult.pvaItem จะถูกแยกลงในตัวแปร Composer ใหม่ dialog.State และ dialog.Item

ทดสอบแชทบอทแบบคลาสสิกของคุณในฐานะเป็นทักษะกับบอท Bot Framework

ใช้ Bot Framework Emulator เพื่อทดสอบว่าบอท Bot Framework ของคุณกำลังเรียกแชทบอทแบบคลาสสิกเป็นทักษะอย่างถูกต้อง

สำคัญ

บอท Bot Framework ของคุณต้องเพิ่มในรายการที่อนุญาตของแชทบอทแบบคลาสสิกเพื่อให้การเชื่อมต่อทักษะทำงาน

อัปเดตบอท Bot Framework แบบหลายผู้เช่าเป็นบอทแบบผู้เช่ารายเดียว

ภาพประกอบต่อไปนี้แสดงสถานการณ์ที่บอท Bot Framework ที่สร้างขึ้นบน Bot Framework SDK กำลังเรียกใช้แชทบอทแบบคลาสสิกเพื่อใช้เป็นทักษะ

ภาพประกอบแสดงการโต้ตอบระหว่างบอท Bot Framework กับแชทบอทแบบคลาสสิก

ทั้งบอท Bot Framework และแชทบอทแบบคลาสสิกมีการลงทะเบียนแอป Microsoft Entra ID ซึ่งอ้างอิงโดยอินสแตนซ์ Azure Bot การลงทะเบียนแอป Microsoft Entra ID เหล่านี้ถูกสร้างขึ้นเป็นผู้เช่าหลายราย บอท Bot Framework ขอโทเค็นจากผู้เช่า Bot Framework และใช้โทเค็นนี้เพื่อรับรองความถูกต้องกับ Copilot Studio โดยใช้บริการ Azure Bot Copilot Studio ใช้กลไกเดียวกันในการติดต่อบอท Bot Framework

การลงทะเบียนแอปพลิเคชันของแชทบอท Copilot Studio ถูกสร้างขึ้นเป็นผู้เช่ารายเดียว ดังนั้นการสื่อสารนี้ไม่สามารถทำงานได้อีก Microsoft Entra ID ปฏิเสธที่จะสร้างโทเค็นสำหรับการลงทะเบียนแอปพลิเคชันผู้เช่ารายเดียวที่ไม่ได้อยู่ในผู้เช่ารายเดียวกัน

นอกจากนี้ Copilot Studio ตรวจสอบโทเค็นขาเข้าและปฏิเสธคำขอจากผู้เช่าที่ไม่คาดคิด เช่น ID ผู้เช่าที่สร้างการลงทะเบียนแอปพลิเคชันของแชทบอทแบบคลาสสิก

เมื่อต้องการแก้ไขปัญหานี้ มีการแก้ไขที่เป็นไปได้สองประการ

แชทบอทแบบคลาสสิกในผู้เช่าเดียวกันกับบอท Bot Framework

ในสถานการณ์ที่แชทบอท Copilot Studio ถูกปรับใช้ในผู้เช่าเดียวกันกับบอท Bot Framework อยู่แล้ว และถูกใช้โดยบอทนี้เท่านั้น ให้อัปเดตบอทเป็นการกำหนดค่าผู้เช่ารายเดียว แล้วปรับใช้บอท Bot Framework ของคุณใหม่ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการกำหนดค่าบอท Bot Framework สำหรับผู้เช่ารายเดียว ให้ดูที่ จัดเตรียมและเผยแพร่บอท

แชทบอท Copilot Studio ที่ไม่สามารถอัปเดตเป็นผู้เช่ารายเดียวได้

ในสถานการณ์ที่แชทบอท Copilot Studio ถูกปรับใช้ในผู้เช่าเดียวกันกับบอท Bot Framework แล้ว แต่บอทไม่สามารถอัปเดตเป็นผู้เช่ารายเดียว คุณจำเป็นต้องอัปเดตโค้ดในบอท Bot Framework เพื่อสร้างโทเค็นที่จะสื่อสารกับแชทบอท Copilot Studio ต้องสร้างโทเค็นสำหรับผู้เช่าที่สร้างแชทบอท Copilot Studio ด้วย นอกจากนี้ ต้องยอมรับคำตอบซึ่งอาจต้องการให้คุณทำตามขั้นตอนใน แปลงทักษะที่มีอยู่จากผู้เช่าหลายรายเป็นผู้เช่ารายเดียว

เรียนรู้เพิ่มเติม