Botframework-solutions: Koneksi botskill tidak berfungsi dengan baik baik pengembang lokal atau host publik

Dibuat pada 28 Jan 2020  ·  22Komentar  ·  Sumber: microsoft/botframework-solutions

Proyek apa yang terpengaruh?

Asisten virtual mengimpor keterampilan dalam kalender (perintah CLI dari botskills terhubung) remoteManifest

Ini dalam bahasa apa?

C#

Apa yang terjadi?

Koneksi botskill tidak berfungsi seperti yang diharapkan

Apa langkah-langkah untuk mereproduksi masalah ini?

  • Buat asisten virtual proyek VA
  • Buat solusi kosong (saya hanya menyalin keterampilan kalender premade Anda dan mengimpor solusi kosong)
  • Bangun dan kompilasi kedua proyek
  • temukan tag apa pun di cognitve.json, manifest.json, dan folder LU dari en ke en-us di templat keterampilan
  • saya pergi ke direktori root VA dan membuka Powershell V6
  • saya menjalankan perintah ini 'botskills connect --remoteManifest " http://localhost :3980/api/skill/manifest" --cs '
    maka terjadi kesalahan
there was an error while connecting the Skill to the Assistant:
Error: An error ocurred while updating the Dispatch model:
Error: Path to the Email.lu file leads to a nonexistent file.
Make sure your Skill's .lu file's name matches your Skill's manifest id

Apa yang Anda harapkan terjadi?

Itu harus menambahkan keterampilan ke VA saya, memperbarui pengiriman di VA, memperbarui skills.json, dll

Bisakah Anda membagikan log, keluaran kesalahan, dll.?

Ada tangkapan layar atau konteks tambahan?

Ini adalah kesalahan yang terjadi pada koneksi bot
image

Keterampilan lari lokal saya
image

Manifes.json dari keterampilan
image

sehingga Anda dapat melihat id sama di .lu di keterampilan kalender. di sini adalah tangkapan layar terlampir (saya baru saja mengganti appid dan token di tangkapan layar ini ke xxx untuk tujuan keamanan: D)
image

ini adalah direktori VA saya
image

saya bahkan mencoba menambahkan Skill nama folder di VA tetapi masih tidak berfungsi

saya memeriksa blog dan VLog, ini yang saya temukan di msignite Anda 2019
https://www.youtube.com/watch?v=u7Gql-ClcVA
saya melihat ada skrip yang menggunakan (dia tidak menggunakan botconnnect)

saran apa pun akan dilakukan

Terima kasih banyak

Bot Services Bug customer-replied-to customer-reported

Komentar yang paling membantu

Kami melacak pembaruan untuk botskills yang akan pindah ke BF CLI yang menggabungkan fungsionalitas luisgen tetapi melalui modul javascript bukan alat .net yang akan menghapus masalah ini ke depan.

Semua 22 komentar

Hai @cocoytech , terima kasih telah melaporkan masalah ini!

Kesalahan: Jalur ke file Email.lu mengarah ke file yang tidak ada.

Bisakah Anda memeriksa apakah Anda memiliki utteranceSources dengan sumber Email di manifest.json ?

Alat ini mencoba mengakses Email.lu dari folder LU (di mana Anda memiliki Calendar.lu dan General.lu ) dan gagal karena tidak ada.

Alat ini membaca setiap utteranceSource yang berisi struktur <LU_FILENAME>#<INTENT> sebagai properti source dari manifes.

Saya sarankan untuk selalu menjalankan alat dengan argumen --verbose sehingga Anda dapat memeriksa langkah-langkah yang menjalankan alat.

Semoga ini bisa membantu Anda 😊!

Ya, saya memiliki UtteranceSources di manifest.json saya

di sini adalah seluruh

{
  "id": "calendar",
  "name": "Calendar Skill",
  "description": "The Calendar skill provides calendaring related capabilities and supports Office and Google calendars.",
  "iconUrl": "calendarSkill.png",
  "authenticationConnections": [
    {
      "id": "Outlook",
      "serviceProviderId": "Azure Active Directory v2",
      "scopes": "Calendars.ReadWrite, People.Read, Contacts.Read, User.Read.All"
    },
    {
      "id": "Google",
      "serviceProviderId": "Google",
      "scopes": "https://www.googleapis.com/auth/calendar, https://www.googleapis.com/auth/contacts"
    }
  ],
  "actions": [
    {
      "id": "calendarskill_createEvent",
      "definition": {
        "description": "Create a new event",
        "slots": [
          {
            "name": "title",
            "types": [ "string" ]
          },
          {
            "name": "content",
            "types": [ "string" ]
          },
          {
            "name": "attendees",
            "types": [ "string" ]
          },
          {
            "name": "startdate",
            "types": [ "string" ]
          },
          {
            "name": "starttime",
            "types": [ "string" ]
          },
          {
            "name": "duration",
            "types": [ "string" ]
          },
                    {
                        "name": "location",
                        "types": [ "string" ]
                    },
                    {
                        "name": "timezone",
                        "types": [ "string" ]
                    }
        ],
        "triggers": {
          "utteranceSources": [
            {
              "locale": "en-us",
              "source": [
                "Calendar#CreateCalendarEntry",
                "Calendar#FindMeetingRoom"
              ]
            }
          ]
        }
      }
    },
    {
      "id": "calendar_changeEventStatus",
      "definition": {
        "description": "Change the status of an event (accept/decline).",
                "slots": [
                    {
                        "name": "startdate",
                        "types": [ "string" ]
                    },
                    {
                        "name": "starttime",
                        "types": [ "string" ]
                    },
                    {
                        "name": "timezone",
                        "types": [ "string" ]
                    }
                ],
        "triggers": {
          "utteranceSources": [
            {
              "locale": "en-us",
              "source": [
                "Calendar#AcceptEventEntry",
                "Calendar#DeleteCalendarEntry"
              ]
            }
          ]
        }
      }
    },
    {
      "id": "calendar_joinEvent",
      "definition": {
        "description": "Join the upcoming meeting",
                "slots": [
                    {
                        "name": "timezone",
                        "types": [ "string" ]
                    }
                ],
        "triggers": {
          "utteranceSources": [
            {
              "locale": "en-us",
              "source": [
                "Calendar#ConnectToMeeting"
              ]
            }
          ]
        }
      }
    },
    {
      "id": "calendar_summary",
      "definition": {
        "description": "Retrieve a summary of meetings through an event invocation.",
                "slots": [
                    {
                        "name": "timezone",
                        "types": [ "string" ]
                    }
                ],
        "triggers": {
          "events": [
            {
              "Name": "summaryEvent"
            }
          ]
        }
      }
    },
    {
      "id": "calendar_timeRemaining",
      "definition": {
        "description": "Find out how long until the next event",
                "slots": [
                    {
                        "name": "timezone",
                        "types": [ "string" ]
                    }
                ],
        "triggers": {
          "utteranceSources": [
            {
              "locale": "en-us",
              "source": [
                "Calendar#TimeRemaining"
              ]
            }
          ]
        }
      }
    },
    {
      "id": "calendar_summary",
      "definition": {
        "description": "Find an upcoming event",
                "slots": [
                    {
                        "name": "startdate",
                        "types": [ "string" ]
                    },
                    {
                        "name": "starttime",
                        "types": [ "string" ]
                    },
                    {
                        "name": "enddate",
                        "types": [ "string" ]
                    },
                    {
                        "name": "endtime",
                        "types": [ "string" ]
                    },
                    {
                        "name": "timezone",
                        "types": [ "string" ]
                    }
                ],
        "triggers": {
          "utteranceSources": [
            {
              "locale": "en-us",
              "source": [
                "Calendar#FindCalendarDetail",
                "Calendar#FindCalendarEntry",
                "Calendar#FindCalendarWhen",
                "Calendar#FindCalendarWhere",
                "Calendar#FindCalendarWho",
                "Calendar#FindDuration"
              ]
            }
          ]
        }
      }
    },
    {
      "id": "calendar_updateEvent",
      "definition": {
        "description": "Update an existing event.",
                "slots": [
                    {
                        "name": "startdate",
                        "types": [ "string" ]
                    },
                    {
                        "name": "starttime",
                        "types": [ "string" ]
                    },
                    {
                        "name": "enddate",
                        "types": [ "string" ]
                    },
                    {
                        "name": "endtime",
                        "types": [ "string" ]
                    },
                    {
                        "name": "newstartdate",
                        "types": [ "string" ]
                    },
                    {
                        "name": "newstarttime",
                        "types": [ "string" ]
                    },
                    {
                        "name": "timezone",
                        "types": [ "string" ]
                    }
                ],
        "triggers": {
          "utteranceSources": [
            {
              "locale": "en-us",
              "source": [
                "Calendar#ChangeCalendarEntry"
              ]
            }
          ]
        }
      }
    }
  ]
}

saya menambahkan --verbose dalam skrip, masih sama

image

Terima kasih @cocoytech. Membandingkan tangkapan layar yang Anda kirim, kami melihat bahwa Anda memiliki Keterampilan Email yang berjalan tetapi dengan manifes Keterampilan Kalender. Bisakah Anda memeriksa apakah manifes sesuai dengan keterampilan yang tepat?

Saya berhasil mereplikasi skenario Anda yang menghubungkan Asisten Virtual [C#] ke Keterampilan Kalender [C#].

Konteks

Langkah Koneksi

  1. Buka dan jalankan solusi Keterampilan Kalender (mendapatkan http://localhost:3980 titik akhir)
  2. Hubungkan Skill Kalender ke Asisten Virtual yang ada di folder root Asisten Virtual
    > botskills connect --remoteManifest " http://localhost :3980/api/skill/manifest" --luisFolder "" --cs --verbose --languages ​​"en-us"
  3. Periksa apakah koneksi berhasil diselesaikan

Untuk informasi lebih lanjut, silakan baca dokumen-dokumen berikut:

Tolong, jangan ragu untuk membandingkan kedua konteks dan ikuti langkah-langkah koneksi yang disebutkan di atas 😊.

Konteks Tambahan

_Struktur folder Keterampilan Kalender dan Contoh Asisten Virtual_
image

_Kalender Keterampilan berjalan_
image

_Manifest Skill Kalender yang berisi file LUIS Kalender (dengan maksud CreateCalendarEntry dan FindMeetingRoom) di properti utteranceSources_
image

_Koneksi Keterampilan Kalender dan Contoh Asisten Virtual_
image

Seperti yang Anda lihat, luis gen sudah terinstal
image

Tapi tampilan kesalahan ini
image

ketika saya mencoba menginstal luisgen kesalahan ini terjadi
image

sepertinya saya sudah menginstal luisgen, tetapi ketika saya mencoba luisgen -v itu menyatakan kesalahan
image

saya mencoba localManifest dan remoteManifest masih belum berhasil

@cocoytech , ini tampaknya menjadi masalah yang terkait dengan instalasi luisgen karena ini adalah alat dotnet yang mengikuti README .

Bisakah Anda mengonfirmasi jika Anda memiliki Enviroments Variables ? Jika tidak, dapatkah Anda menambahkannya dan mencoba lagi menjalankan luisgen -v ?

Juga, Anda dapat memeriksa apakah luisgen Anda telah terinstal dengan benar di C:\Users\<YOUR_USER>\.dotnet\tools .

image

image

Inilah yang terjadi pada luisgen -v , ini memberi saya kesalahan
image

setelah memeriksa direktori, saya sudah menginstal
image

Ini adalah variabel lingkungan, sudah diinstal juga
image

saya bahkan mencoba menginstal ulang npm npm ini saya bot-cli -g dan npm i -g chatdown msbot ludown luis-apis qnamaker botdispatch luisgen
image

Saya bahkan mencoba npm install luisgen -global

image

katanya sudah saya instal,
saya mencoba luisgen -v di powershell tetapi mengalami kesalahan
image

Tetapi saya melihat sesuatu, ketika saya berada di dalam folder luisgen.exe, luisgen -v bekerja dengan sempurna berdasarkan saran saat dijalankan di dalam folder luisgen
image
Seperti yang Anda lihat ketika saya mencoba melakukan luisgen -v itu masih memberi saya kesalahan, tetapi ketika saya mengikuti saran oleh .luisgen -v itu dengan jelas dapat memberikan versi hasil luisgen

jadi saya membuat peretasan bodoh di barang cli dan dll. saya menyalin semua nama folder * alat * (penyimpanan nama folder dan luisgen.exe) dan file dan dokumen yang sesuai di dalam folder root VA dan berfungsi sempurna untuk keterampilan apa pun

image

saya percaya masalah ini terkait dengan CLI atau PowerShell, cerita yang sama dari tiket ini https://github.com/microsoft/botframework-solutions/issues/2075
image
tetapi pada kasus ini alih-alih mac os, masalahnya ada di windows 10 pro build 18362

@cocoytech Dengan pemindahan luisgen ke bf-cli (dan dengan demikian bukan alat .net) ini harus diselesaikan. Sesuai masalah yang diketahui (walaupun kali ini di Windows) dapatkah Anda mencoba menambahkan jalur users/YOUR_USER_NAME/.dotnet/tools ke jalur Anda (mis. PATH=%PATH%;) dan lihat apakah itu membantu? Sebaiknya lakukan itu dalam instance PowerShell.

Oke saya repro di akhir saya dan ikuti pembaruan tetapi masih ada kesalahan baru yang muncul

image

saya sudah memiliki manifes di unggahan
image

hanya pembaruan

masih kesalahan masih berlanjut, saya perlu melakukan peretasan meskipun saya sudah npm install npm install -g @microsoft/botframework-cli

image

mohon saran

Hai @cocoytech , versi Botskills apa yang Anda gunakan? Saya pikir kesalahan yang Anda hadapi mungkin karena pembaruan untuk menggunakan Manifes Keterampilan baru, yang memerlukan Botskill versi terbaru ( v1.0.12 )

Ya saya menggunakan versi terbaru dari keterampilan bot, masih terjadi kesalahan

image

Ahh - pastikan Anda memiliki klon repo yang lebih baru. Maka manifes harus menjadi manifest-1.1.json bukan manifest.json yang telah dihapus untuk mengurangi kebingungan. Kemudian sesuai dengan dokumen perlu memperbarui manifest-1.1.json dengan titik akhir dan aplikasi penerapan Anda.

Sesuai saran, saya mencoba menggunakan manifes-1.1 tetapi masih tidak berhasil

tanpa hal-hal Hacky di luisgen di dalam folder akar Virtual Assistant, Botskills terhubung tidak akan bekerja seperti yang diharapkan

Sepertinya ini semua kembali ke masalah seputar alat dotnet pada beberapa mesin, yang sebelumnya hanya mac. Menjelang menjalankan botskills, apakah hal berikut membantu? Dengan asumsi bahwa jalur tambahan ini memiliki luisgen di dalamnya (menginstal melalui npm install -g diperlukan)

PATH=%PATH%;c:usersYOUR_USER\.dotnettools

saya sudah melakukan npm install di global in , jika Anda memeriksa balasan sebelumnya https://github.com/microsoft/botframework-solutions/issues/2927#issuecomment -580198453

itu sudah menginstal secara global dan jalurnya juga benar https://github.com/microsoft/botframework-solutions/issues/2927#issuecomment -580063421

Untuk solusi alternatif, saya cukup menyalin file luisgen.exe dan .store di dalam ke VA saya
image
hanya untuk membiarkan botskill bekerja

@Batta32 - dapatkah kita meninjau bagaimana luisgen dipanggil oleh botskills dan melihat apakah ada opsi tambahan, terasa seperti jalur sistem diabaikan dalam situasi ini?

Kami melacak pembaruan untuk botskills yang akan pindah ke BF CLI yang menggabungkan fungsionalitas luisgen tetapi melalui modul javascript bukan alat .net yang akan menghapus masalah ini ke depan.

Jadi juga langkah-langkah dokumentasi (situs web github docs) dalam pemasangan VA harus diperbarui juga? Terima kasih

Ya @cocoytech! Kami akan pindah ke BF CLI (seperti yang disebutkan Darren) memperbarui dokumentasi Botskills 😊.

Kami akan mengerjakan perubahan bf cli yang seharusnya mengatasi masalah jalur alat .net ini di osx (kadang-kadang) dan sekarang tampaknya Windows

Apakah halaman ini membantu?
0 / 5 - 0 peringkat