Botframework-solutions: Tidak dapat mengakhiri keterampilan dengan benar saat pengguna membatalkan saat keterampilan dimulai dari sub dialog di VA

Dibuat pada 1 Jun 2020  ·  16Komentar  ·  Sumber: microsoft/botframework-solutions

Proyek apa yang terpengaruh?

Asisten virtual

Bahasa apa ini?

TypeScript

Apa yang terjadi?

Saat Anda memulai dialog, kemudian memulai keterampilan dari dialog itu, itu tidak terdaftar dengan benar di tumpukan. Ketika pengguna menggunakan "batal" interupsi keterampilan tidak pernah menerima akhir percakapan untuk mengatur ulang.

Apa langkah-langkah untuk mereproduksi masalah ini?

Buat VA dan keterampilan. mulai skill dari dialog "on boarding VA. Coba batalkan skill menggunakan interupsi dan periksa apakah skill menerima akhir percakapan

Apa yang Anda harapkan terjadi?

Bisakah Anda membagikan log, keluaran kesalahan, dll.?

Tumpukan dialog dari keterampilan dimulai dalam sub dialog
[ { id: 'Dialog Utama',
status: { options: {}, nilai: [Object], stepIndex: 1 } },
{ id: 'TextPrompt', status: { options: [Object], state: {} } },
{ id: 'TransferDialog2',
status: { dialog: [Objek] },
versi: '-43530585' } ]

tumpukan dialog keterampilan dimulai dari dialog utama
[ { id: 'Dialog Utama',
status: { options: {}, nilai: [Object], stepIndex: 2 } },
{ id: 'dlpskill', status: {} } ]

Ada tangkapan layar atau konteks tambahan?

Needs Triage Bug

Komentar yang paling membantu

Semua 16 komentar

Terima kasih @tomSauret847 telah melaporkan masalah ini! Segera setelah kami memiliki pembaruan, kami akan menghubungi Anda kembali 😊.

Hai @tomSauret847! Kami tidak berhasil mencoba mereproduksi masalah ini.

Kami memiliki beberapa pertanyaan mengenai langkah repro Anda.

  • Apakah Anda menggunakan [email protected] ?
  • Apakah Anda memicu Keterampilan dengan mengirimkan ucapan selama Dialog orientasi VA?
  • Sudahkah Anda memperbarui VA untuk meneruskan niat ke Skill? Jika demikian, apa modifikasi yang telah Anda lakukan untuk itu?
  • Apa maksudmu dengan TransferDialog2 ? Apakah ini sinonim dengan onboardingDialog ?

Kami memperhatikan bahwa ada validasi dalam metode interruptDialog dari MainDialog VA, yang hanya beralih ke Skill lain jika dialog saat ini milik Skill.
Dalam kasus onboardingDialog ini mengembalikan false, sehingga tidak terganggu untuk memulai sampel Skill.

Ini adalah lingkungan kita:

Kami mengambil langkah-langkah berikut untuk mereproduksi masalah:

  1. Terapkan Asisten dan Keterampilan Virtual
  2. Hubungkan Asisten Virtual ke Skill
  3. Jalankan kedua bot di Bot Emulator
  4. Kirim ucapan Skill selama VA onboardingDialog
  5. Skill tidak diinisialisasi karena onboardingDialog belum selesai

image

Terima kasih!

Saat ini kami memiliki transfer agen langsung yang ditetapkan sebagai keterampilan untuk dapat meningkat menjadi agen langsung jika bot tidak dapat menyelesaikan masalah pelanggan (TransferDialog2). Kami perlu melakukan beberapa validasi untuk memastikan bahwa pelanggan ditransfer ke antrian obrolan yang benar, itulah sebabnya kami membangunnya ke dalam dialog yang mirip dengan dialog orientasi. Saya menyebut skill agenttransfer dengan kode berikut di transferDialog.

    const identifiedSkill: IEnhancedBotFrameworkSkill | undefined = this.skillsConfig.skills.get('agenttransfer');
    if (identifiedSkill !== undefined) {
        await this.activeSkillProperty.set(sc.context, identifiedSkill);
        return sc.beginDialog('agenttransfer', skillDialogArgs);

VA akan memulai keterampilan dan meneruskan semua pesan pelanggan ke keterampilan, tetapi jika pelanggan memicu interupsi "Batalkan dialog", VA tidak akan mengirim akhir percakapan ke keterampilan untuk memungkinkan kami membersihkan dan mengakhiri keterampilan. Anda memang mereproduksi langkah-langkah tetapi tidak membatalkan keterampilan dalam reproduksi Anda. Di situlah masalah kami adalah untuk dapat menerima EOC dalam keterampilan untuk membersihkan sumber daya yang digunakan dan menutupnya.

Saya menggunakan TypeScript VA
Keahlian TypeScript
Saya telah memperbarui keduanya berdasarkan perubahan yang diposting ke cabang repo "berikutnya" untuk memastikan semuanya mutakhir
Keterampilan dipicu dan berfungsi dengan baik, hanya saja tidak menerima EOC ketika pelanggan memilih untuk membatalkan semua dialog yang aktif.

Terima kasih @tomSauret847 untuk semua informasinya 😊.
Kami akan terus mereproduksi masalah ini, dan kami akan memberi tahu Anda tentang pembaruan apa pun.

@tomSauret847 , kami ingin mengonfirmasi dengan Anda bahwa kami memahami masalah ini dengan benar.

Berdasarkan apa yang Anda katakan dalam komentar terakhir Anda, kami akan berupaya menciptakan kembali skenario berikut:

  1. Buat Contoh Asisten Virtual
  2. Buat Contoh Keterampilan
  3. Ubah onboardingDialog VA sehingga memanggil Contoh Keterampilan. Kami akan mendasarkan modifikasi kami pada cuplikan yang dibagikan.
  4. Kirim batal setelah Contoh Keterampilan dimulai
  5. Pembatalan Sampel Keterampilan harus gagal

Ini adalah bagaimana memahami bahwa alur kerja Anda.
image

Terima kasih @VictorGrycuk Itu adalah alur kerja yang benar dari skenario yang kami terapkan. Kita bisa mendapatkan skill untuk bekerja dengan baik selama percakapan, tetapi ketika pelanggan membatalkan, skill tidak akan direset karena tidak pernah menerima End Of Conversation.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat