Oktatóanyag: A robot hangalapú engedélyezése

Az Azure AI Speech használatával hangalapú csevegési robotokat is használhat.

Ebben az oktatóanyagban a Microsoft Bot Framework használatával hoz létre egy robotot, amely válaszol a mondanivalóra. Üzembe helyezheti a robotot az Azure-ban, és regisztrálhatja a Bot Framework Direct Line Speech csatornán. Ezután konfigurálhat egy windowsos ügyfélalkalmazást, amely lehetővé teszi, hogy beszéljen a robottal, és hallja, hogy visszaszóljon Önhöz.

Az oktatóanyag elvégzéséhez nincs szükség az Azure, a Bot Framework robotok vagy a Direct Line Speech széles körű tapasztalatára vagy jártasságára.

Az oktatóanyagban létrehozott hangalapú csevegőrobot az alábbi lépéseket követi:

  1. A mintaügyfél-alkalmazás úgy van konfigurálva, hogy csatlakozzon a Direct Line Speech csatornához és az echorobothoz.
  2. Amikor a felhasználó megnyom egy gombot, hangstreamek lesznek a mikrofonból. Vagy az egyéni kulcsszó használatakor a rendszer folyamatosan rögzíti a hangokat.
  3. Ha egyéni kulcsszót használ, a kulcsszóészlelés a helyi eszközön történik, és hangstreamelést ad a felhőbe.
  4. A mintaügyfél-alkalmazás a Speech SDK használatával csatlakozik a Direct Line Speech csatornához, és hanganyagot streamel.
  5. Igény szerint nagyobb pontosságú kulcsszó-ellenőrzés történik a szolgáltatásban.
  6. A hang át lesz adva a beszédfelismerési szolgáltatásnak, és át lesz írva a szövegre.
  7. A felismert szöveg a Bot Framework-tevékenységként továbbítódik az echo robotnak.
  8. A válaszszöveget a szöveg hanggá alakítja a speech service-be, és visszaküldi az ügyfélalkalmazásba lejátszás céljából.

Diagram that illustrates the flow of the Direct Line Speech channel.

Feljegyzés

Az oktatóanyag lépései nem igényelnek fizetős szolgáltatást. Új Azure-felhasználóként az ingyenes Azure-próbaverziós előfizetésből és a Speech szolgáltatás ingyenes csomagjából származó krediteket használhatja az oktatóanyag elvégzéséhez.

Az oktatóanyag a következőket ismerteti:

  • Hozzon létre új Azure-erőforrásokat.
  • Az echorobot-minta összeállítása, tesztelése és üzembe helyezése Azure-alkalmazás Szolgáltatásban.
  • Regisztrálja a robotot egy Direct Line Speech-csatornával.
  • Hozza létre és futtassa a Windows Voice Assistant-ügyfelet az echorobottal való interakcióhoz.
  • Egyéni kulcsszóaktiválás hozzáadása.
  • Ismerje meg, hogyan módosíthatja a felismert és beszélt beszéd nyelvét.

Előfeltételek

Az oktatóanyag elvégzéséhez a következőket kell elvégeznie:

Erőforráscsoport létrehozása

Az oktatóanyagban létrehozott ügyfélalkalmazás néhány Azure-szolgáltatást használ. A robottól érkező válaszok utazási idejének csökkentése érdekében győződjön meg arról, hogy ezek a szolgáltatások ugyanabban az Azure-régióban találhatók.

Ez a szakasz végigvezeti egy erőforráscsoport létrehozásán az USA nyugati régiójában. Ezt az erőforráscsoportot akkor használja, ha egyéni erőforrásokat hoz létre a Bot Frameworkhez, a Direct Line Speech csatornához és a Speech szolgáltatáshoz.

  1. Lépjen az Azure Portal lapjára egy erőforráscsoport létrehozásához.
  2. Adja meg a következő információkat:
    • Előfizetés beállítása ingyenes próbaverzióra. (Meglévő előfizetést is használhat.)
    • Adja meg az erőforráscsoport nevét. A SpeechEchoBotTutorial-ResourceGroup használatát javasoljuk.
    • A Régió legördülő menüben válassza az USA nyugati régióját.
  3. Válassza a Véleményezés és létrehozás lehetőséget. Ekkor megjelenik egy transzparens , amely az ellenőrzés sikeresét olvassa.
  4. Válassza a Létrehozás lehetőséget. Az erőforráscsoport létrehozása eltarthat néhány percig.
  5. Az oktatóanyag későbbi részében létrehozott erőforrásokhoz hasonlóan érdemes rögzíteni ezt az erőforráscsoportot az irányítópulton a könnyű hozzáférés érdekében. Ha rögzíteni szeretné ezt az erőforráscsoportot, válassza a gombostű ikont a név mellett.

Azure-régió kiválasztása

Győződjön meg arról, hogy támogatott Azure-régiót használ. A Direct Line Speech csatorna a szöveget használja a beszédszolgáltatáshoz, amely neurális és standard hangokkal rendelkezik. Ezekben az Azure-régiókban neurális hangokat használnak, és ezeken az Azure-régiókban standard (visszavonuló) hangokat használnak.

További információ a régiókról: Azure-helyek.

Erőforrások létrehozása

Most, hogy rendelkezik egy erőforráscsoporttal egy támogatott régióban, a következő lépés az, hogy egyéni erőforrásokat hoz létre minden olyan szolgáltatáshoz, amelyet ebben az oktatóanyagban fog használni.

Speech szolgáltatás erőforrásának létrehozása

  1. Lépjen az Azure Portal lapjára a Speech-szolgáltatás erőforrásának létrehozásához.
  2. Adja meg a következő információkat:
    • Névként a SpeechEchoBotTutorial-Speech nevet javasoljuk az erőforrás neveként.
    • Előfizetés esetén győződjön meg arról, hogy az ingyenes próbaverzió ki van választva.
    • A Hely mezőben válassza az USA nyugati régióját.
    • Tarifacsomag esetén válassza az F0 lehetőséget. Ez az ingyenes szint.
    • Erőforráscsoport esetén válassza a SpeechEchoBotTutorial-ResourceGroup lehetőséget.
  3. Miután megadta az összes szükséges információt, válassza a Létrehozás lehetőséget. Az erőforrás létrehozása eltarthat néhány percig.
  4. Az oktatóanyag későbbi részében előfizetési kulcsokra lesz szüksége ehhez a szolgáltatáshoz. Ezeket a kulcsokat bármikor elérheti az erőforrás Áttekintés területén (a Kulcsok kezelése területen) vagy a Kulcsok területen.

Ezen a ponton ellenőrizze, hogy az erőforráscsoport (SpeechEchoBotTutorial-ResourceGroup) rendelkezik-e Speech service-erőforrással:

Név Típus Hely
SpeechEchoBotTutorial-Speech Beszédfelismerés USA nyugati régiója

Azure App Service-csomag létrehozása

Az App Service-csomagok határozzák meg a futtatni kívánt webalkalmazások számítási erőforrásait.

  1. Lépjen az Azure Portal lapjára egy Azure-alkalmazás szolgáltatáscsomag létrehozásához.
  2. Adja meg a következő információkat:
    • Előfizetés beállítása ingyenes próbaverzióra. (Meglévő előfizetést is használhat.)
    • Erőforráscsoport esetén válassza a SpeechEchoBotTutorial-ResourceGroup lehetőséget.
    • Névként a SpeechEchoBotTutorial-AppServicePlant javasoljuk a csomag neveként.
    • Operációs rendszer esetén válassza a Windows lehetőséget.
    • Régió esetén válassza az USA nyugati régióját.
    • Tarifacsomag esetén győződjön meg arról, hogy a Standard S1 van kiválasztva. Ennek kell lennie az alapértelmezett értéknek. Ha nem, állítsa az operációs rendszert Windowsra.
  3. Válassza a Véleményezés és létrehozás lehetőséget. Ekkor megjelenik egy transzparens , amely az ellenőrzés sikeresét olvassa.
  4. Válassza a Létrehozás lehetőséget. Az erőforrás létrehozása eltarthat néhány percig.

Ezen a ponton ellenőrizze, hogy az erőforráscsoport (SpeechEchoBotTutorial-ResourceGroup) két erőforrással rendelkezik-e:

Név Típus Hely
SpeechEchoBotTutorial-AppServicePlan App Service Plan (App Service-csomag) USA nyugati régiója
SpeechEchoBotTutorial-Speech Az Azure AI-szolgáltatásai USA nyugati régiója

Echo-robot létrehozása

Most, hogy létrehozott erőforrásokat, kezdje az echo robot mintával, amely a válaszként megadott szöveget visszhangozza. A mintakód már konfigurálva van a Direct Line Speech csatorna használatához, amelyet a robot Azure-ban való üzembe helyezése után csatlakoztat.

Feljegyzés

Az alábbi utasítások, valamint az echorobottal kapcsolatos további információk a minta GITHubon elérhető README-jében érhetők el.

A robotminta futtatása a gépen

  1. Klónozza a mintaadattárat:

    git clone https://github.com/Microsoft/botbuilder-samples.git
    
  2. Nyissa meg a Visual Studiót.

  3. Az eszköztáron válassza a Fájl>megnyitása>projekt/megoldás lehetőséget. Ezután nyissa meg a projektmegoldást:

    samples\csharp_dotnetcore\02.echo-bot\EchoBot.sln
    
  4. A projekt betöltése után válassza az F5 billentyűt a projekt létrehozásához és futtatásához.

    A megnyíló böngészőben az alábbihoz hasonló képernyő jelenik meg:

    Screenshot that shows the EchoBot page with the message that your bot is ready.

A robotminta tesztelése a Bot Framework Emulator használatával

A Bot Framework Emulator egy asztali alkalmazás, amely lehetővé teszi, hogy a robotfejlesztők helyileg (vagy távolról egy alagúton keresztül) teszteljék és hibakeresést hajthassanak létre a robotjaikban. Az emulátor bemenetként (nem hangként) fogadja el a beírt szöveget. A robot szöveggel is válaszol.

Az alábbi lépéseket követve a Bot Framework Emulator használatával tesztelheti a helyileg futó echo-robotot szövegbevitellel és szövegkimenettel. Miután üzembe helyezi a robotot az Azure-ban, hangbemenettel és hangkimenettel fogja tesztelni.

  1. Telepítse a Bot Framework Emulator 4.3.0-s vagy újabb verzióját.

  2. Nyissa meg a Bot Framework Emulatort, majd válassza a Fájl>megnyitása robotot.

  3. Adja meg a robot URL-címét. Példa:

    http://localhost:3978/api/messages
    
  4. Válassza a Kapcsolódás lehetőséget.

  5. A robotnak egy "Hello and welcome!" üzenettel kell üdvözölnie Önt. Írjon be bármilyen szöveges üzenetet, és győződjön meg arról, hogy választ kap a robottól.

    Így nézhet ki egy echorobottal folytatott kommunikáció: Screenshot shows the Bot Framework Emulator.

Robot üzembe helyezése Azure-alkalmazás Szolgáltatásban

A következő lépés az echo robot üzembe helyezése az Azure-ban. A robotok üzembe helyezésének néhány módja van, beleértve az Azure CLI-t és az üzembehelyezési sablonokat. Ez az oktatóanyag közvetlenül a Visual Studióból történő közzétételre összpontosít.

Feljegyzés

Ha a Közzététel nem jelenik meg a következő lépések végrehajtása során, a Visual Studio Installer használatával adja hozzá a ASP.NET és a webfejlesztési számítási feladatot.

  1. Nyissa meg a Visual Studióban a Direct Line Speech-csatornához konfigurált echorobotot:

    samples\csharp_dotnetcore\02.echo-bot\EchoBot.sln
    
  2. A Megoldáskezelő kattintson a jobb gombbal az EchoBot projektre, és válassza a Közzététel lehetőséget.

  3. A megnyíló Közzététel ablakban:

    1. Válassza az Azure>Next lehetőséget.
    2. Válassza Azure-alkalmazás Szolgáltatás (Windows)>Tovább lehetőséget.
    3. Válassza az Új Azure-alkalmazás szolgáltatás létrehozása zöld pluszjellel lehetőséget.
  4. Amikor megjelenik az App Service (Windows) ablaka:

    • Válassza a Fiók hozzáadása lehetőséget, és jelentkezzen be az Azure-fiók hitelesítő adataival. Ha már bejelentkezett, válassza ki a fiókját a legördülő listából.

    • A Név mezőben adjon meg egy globálisan egyedi nevet a robotnak. Ez a név egy egyedi robot URL-címének létrehozásához használatos.

      A mezőben megjelenik egy alapértelmezett név, amely tartalmazza a dátumot és az időt (például EchoBot20190805125647). Ehhez az oktatóanyaghoz használhatja az alapértelmezett nevet.

    • Előfizetés esetén válassza az Ingyenes próbaverzió lehetőséget.

    • Erőforráscsoport esetén válassza a SpeechEchoBotTutorial-ResourceGroup lehetőséget.

    • Üzemeltetési csomag esetén válassza a SpeechEchoBotTutorial-AppServicePlan lehetőséget.

  5. Válassza a Létrehozás lehetőséget. A varázsló utolsó képernyőjén válassza a Befejezés lehetőséget.

  6. Válassza a Közzététel lehetőséget. A Visual Studio üzembe helyezi a robotot az Azure-ban.

    A Visual Studio kimeneti ablakában a következőhöz hasonló sikeres üzenetnek kell megjelennie:

    Publish Succeeded.
    Web App was published successfully https://EchoBot20190805125647.azurewebsites.net/
    

    Az alapértelmezett böngészőnek meg kell nyitnia, és meg kell jelenítenie egy lapot, amely a következőhöz hasonló szöveggel jelenik meg: "A robot készen áll!"

Ezen a ponton ellenőrizze az erőforráscsoportot (SpeechEchoBotTutorial-ResourceGroup) az Azure Portalon. Győződjön meg arról, hogy a következő három erőforrást tartalmazza:

Név Típus Hely
EchoBot20190805125647 App Service USA nyugati régiója
SpeechEchoBotTutorial-AppServicePlan App Service-csomag USA nyugati régiója
SpeechEchoBotTutorial-Speech Az Azure AI-szolgáltatásai USA nyugati régiója

Webes szoftvercsatornák engedélyezése

Kis konfigurációs módosítást kell végeznie, hogy a robot webes szoftvercsatornák használatával kommunikáljon a Direct Line Speech csatornával. A webes szoftvercsatornák engedélyezéséhez kövesse az alábbi lépéseket:

  1. Nyissa meg az Azure Portalt, és válassza ki az App Service-erőforrást. Az erőforrás nevének hasonlónak kell lennie az EchoBot20190805125647-hez (az egyedi alkalmazásnévhez).
  2. A bal oldali panelen, a Gépház alatt válassza a Konfiguráció lehetőséget.
  3. Válassza az Általános beállítások lapot.
  4. Keresse meg a webes szoftvercsatornák kapcsolót, és állítsa be.
  5. Válassza a Mentés lehetőséget.

Tipp.

A szolgáltatás leállításához vagy újraindításához használhatja a Azure-alkalmazás szolgáltatáslap tetején található vezérlőket. Ez a képesség hasznos lehet a hibaelhárítás során.

Csatornaregisztráció létrehozása

Miután létrehozott egy Azure-alkalmazás service-erőforrást a robot üzemeltetéséhez, a következő lépés egy csatornaregisztráció létrehozása. A csatornaregisztráció létrehozása előfeltétele a robot Bot Framework-csatornákkal való regisztrálásának, beleértve a Direct Line Speech csatornát is. Ha többet szeretne megtudni arról, hogy a robotok hogyan használják a csatornákat, tekintse meg Csatlakozás a robotokat csatornákra.

  1. Nyissa meg az Azure Portal oldalát egy Azure-robot létrehozásához.
  2. Adja meg a következő információkat:
    • Robotfogópont esetén adja meg a SpeechEchoBotTutorial-BotRegistration-###értéket. Cserélje le #### az ön által választott lehetőségek közül.

      Feljegyzés

      A robotfogópontnak globálisan egyedinek kell lennie. Ha beír egyet, és a következő hibaüzenetet kapja: "A kért robotazonosító nem érhető el", válasszon másik számot. Az alábbi példák a 8726-ot használják.

    • Előfizetés esetén válassza az Ingyenes próbaverzió lehetőséget.

    • Erőforráscsoport esetén válassza a SpeechEchoBotTutorial-ResourceGroup lehetőséget.

    • A Hely mezőben válassza az USA nyugati régióját.

    • Tarifacsomag esetén válassza az F0 lehetőséget.

    • Hagyja figyelmen kívül az automatikus alkalmazásazonosító és -jelszó létrehozását.

  3. Az Azure Bot panel alján válassza a Létrehozás lehetőséget.
  4. Az erőforrás létrehozása után nyissa meg a SpeechEchoBotTutorial-BotRegistration-#### erőforrást az Azure Portalon.
  5. A Gépház területen válassza a Konfiguráció lehetőséget.
  6. Üzenetkezelési végpont esetén adja meg a webalkalmazás URL-címét az /api/messages elérési út hozzáfűzésével. Ha például a globálisan egyedi alkalmazás neve EchoBot20190805125647 volt, az üzenetkezelési végpont az lennehttps://EchoBot20190805125647.azurewebsites.net/api/messages/.

Ezen a ponton ellenőrizze az erőforráscsoportot (SpeechEchoBotTutorial-ResourceGroup) az Azure Portalon. Most legalább négy erőforrást kell megjelenítenie:

Név Típus Hely
EchoBot20190805125647 App Service USA nyugati régiója
SpeechEchoBotTutorial-AppServicePlan App Service-csomag USA nyugati régiója
SpeechEchoBotTutorial-BotRegistration-8726 Bot Service Globális
SpeechEchoBotTutorial-Speech Az Azure AI-szolgáltatásai USA nyugati régiója

Fontos

Az Azure AI Bot Service-erőforrás megjeleníti a globális régiót, annak ellenére, hogy az USA nyugati régióját választotta. Ez várható.

Nem kötelező: Tesztelés webes csevegésben

Az Azure Bot lap webchat teszt lehetőséggel rendelkezik a Gépház alatt. Alapértelmezés szerint nem működik a robottal, mert a webes csevegésnek hitelesítenie kell a robotot.

Ha szöveges bemenettel szeretné tesztelni az üzembe helyezett robotot, kövesse az alábbi lépéseket. Ezek a lépések nem kötelezőek, és nem szükségesek az oktatóanyag folytatásához.

  1. Az Azure Portalon keresse meg és nyissa meg az EchoBotTutorial-BotRegistration-#### erőforrást.

  2. A Gépház területen válassza a Konfiguráció lehetőséget. Másolja az értéket a Microsoft-alkalmazásazonosító alá.

  3. Nyissa meg a Visual Studio EchoBot-megoldást. A Megoldáskezelő keresse meg és válassza ki duplán a appsettings.json.

  4. Cserélje le a JSON-fájlBan a MicrosoftAppId melletti üres sztringet a másolt azonosító értékére.

  5. Lépjen vissza az Azure Portalra. A Gépház területen válassza a Konfiguráció lehetőséget. Ezután válassza a Kezelés lehetőséget a Microsoft-alkalmazásazonosító mellett.

  6. Válassza az Új titkos ügyfélkód lehetőséget. Adjon hozzá egy leírást (például webes csevegést), és válassza a Hozzáadás lehetőséget. Másolja ki az új titkos kódot.

  7. Cserélje le a JSON-fájlBan a MicrosoftAppPassword melletti üres sztringet a másolt titkos kód értékére.

  8. Mentse a JSON-fájlt. Ennek a kódhoz hasonlóan kell kinéznie:

    {
      "MicrosoftAppId": "YourAppId",
      "MicrosoftAppPassword": "YourAppPassword"
    }
    
  9. Tegye közzé újra az alkalmazást: kattintson a jobb gombbal az EchoBot projektre a Visual Studio Megoldáskezelő, válassza a Közzététel, majd a Közzététel gombot.

A Direct Line Speech csatorna regisztrálása

Itt az ideje, hogy regisztrálja a robotot a Direct Line Speech csatornán. Ez a csatorna kapcsolatot hoz létre a robot és a Speech SDK-val lefordított ügyfélalkalmazás között.

  1. Az Azure Portalon keresse meg és nyissa meg a SpeechEchoBotTutorial-BotRegistration-#### erőforrást.

  2. A Gépház területen válassza a Csatornák lehetőséget, majd hajtsa végre a következő lépéseket:

    1. A További csatornák területen válassza a Közvetlen vonalas beszéd lehetőséget.
    2. Tekintse át a Közvetlen vonalas beszéd konfigurálása lapon található szöveget, majd bontsa ki a Cognitive Service-fiók legördülő menüjét.
    3. Válassza ki a korábban létrehozott Speech service-erőforrást (például SpeechEchoBotTutorial-Speech) a menüből a robot előfizetési kulccsal való társításához.
    4. Hagyja figyelmen kívül a többi választható mezőt.
    5. Válassza a Mentés lehetőséget.
  3. A Gépház területen válassza a Konfiguráció lehetőséget, majd hajtsa végre a következő lépéseket:

    1. Jelölje be a Streamvégpont engedélyezése jelölőnégyzetet. Ez a lépés a robot és a Direct Line Speech csatorna közötti webes szoftvercsatornákra épülő kommunikációs protokoll létrehozásához szükséges.
    2. Válassza a Mentés lehetőséget.

Ha többet szeretne megtudni, tekintse meg Csatlakozás egy robotot a Direct Line Speech szolgáltatásba.

A Windows Voice Assistant-ügyfél futtatása

A Windows Voice Assistant-ügyfél egy Windows megjelenítési alaprendszer (WPF) alkalmazás C#-ban, amely a Speech SDK használatával kezeli a robottal folytatott kommunikációt a Direct Line Speech csatornán keresztül. Egyéni ügyfélalkalmazás írása előtt használhatja és tesztelheti a robotot. Ez nyílt forráskód, így letöltheti és futtathatja a végrehajtható fájlt, vagy létrehozhatja saját maga.

A Windows Voice Assistant-ügyfél egy egyszerű felhasználói felülettel rendelkezik, amellyel konfigurálhatja a robottal való kapcsolatot, megtekintheti a szöveges beszélgetést, JSON formátumban tekintheti meg a Bot Framework tevékenységeit, és adaptív kártyákat jeleníthet meg. Emellett támogatja az egyéni kulcsszavak használatát is. Ezzel az ügyféllel beszél a robottal, és hangválaszt kap.

Feljegyzés

Ezen a ponton győződjön meg arról, hogy a mikrofon és a hangszórók engedélyezve vannak és működnek.

  1. Nyissa meg a Windows Voice Assistant-ügyfél GitHub-adattárát.

  2. Kövesse a megadott utasításokat a következőkhöz:

    • Előre összeállított végrehajtható fájl letöltése egy .zip csomagban a futtatáshoz
    • Saját maga hozza létre a végrehajtható fájlt az adattár klónozásával és a projekt létrehozásával
  3. Nyissa meg a VoiceAssistantClient.exe ügyfélalkalmazást, és konfigurálja a robothoz való csatlakozáshoz a GitHub-adattár utasításait követve.

  4. Válassza az Újracsatlakozás lehetőséget, és győződjön meg arról, hogy megjelenik az "Új beszélgetés elkezdődött – írja be vagy nyomja le a mikrofon gombot" üzenet.

  5. Teszteljük ki. Válassza ki a mikrofongombot, és beszéljen néhány szót angolul. A felismert szöveg a beszéd során jelenik meg. Amikor befejezte a beszédet, a robot a saját hangjában válaszol, és "visszhangot" mond, majd a felismert szavakat.

    Szöveggel is kommunikálhat a robottal. Csak írja be a szöveget az alsó sávon.

A Windows Voice Assistant ügyfélprogram hibáinak elhárítása

Ha hibaüzenet jelenik meg a fő alkalmazásablakban, a következő táblázat segítségével azonosíthatja és elháríthatja a problémát:

Üzenet Mi a teendőm?
Hiba (AuthenticationFailure): A WebSocket frissítése hitelesítési hibával meghiúsult (401). Ellenőrizze a megfelelő erőforráskulcsot (vagy engedélyezési jogkivonatot) és a régió nevét Az alkalmazás Gépház lapján győződjön meg arról, hogy helyesen adta meg a kulcsot és annak régióját.
Hiba (Csatlakozás ionFailure): a távoli gazdagép bezárta a Csatlakozás iont. Hibakód: 1011. Hiba részletei: Nem sikerült csatlakozni a robothoz üzenet küldése előtt Győződjön meg arról, hogy bejelölte a Streamvégpont engedélyezése jelölőnégyzetet , és/vagy bekapcsolta a webes szoftvercsatornákat.
Győződjön meg arról, hogy a Azure-alkalmazás szolgáltatás fut. Ha igen, próbálkozzon újra.
Hiba (Csatlakozás ionFailure): a távoli gazdagép bezárta a Csatlakozás iont. Hibakód: 1002. Hiba részletei: A kiszolgáló "503" állapotkódot adott vissza, amikor a rendszer a "101" állapotkódot várta Győződjön meg arról, hogy bejelölte a Streamvégpont engedélyezése jelölőnégyzetet , és/vagy bekapcsolta a webes szoftvercsatornákat.
Győződjön meg arról, hogy a Azure-alkalmazás szolgáltatás fut. Ha igen, próbálkozzon újra.
Hiba (Csatlakozás ionFailure): a távoli gazdagép bezárta a Csatlakozás iont. Hibakód: 1011. Hiba részletei: A válasz állapotkódja nem jelzi a sikert: 500 (InternalServerError) A robot egy neurális hangot adott meg a kimeneti tevékenység beszéd mezőjében, de az erőforráskulcshoz társított Azure-régió nem támogatja a neurális hangokat. Lásd a neurális hangokat és a standard hangokat.

Ha a táblázatban szereplő műveletek nem oldják meg a problémát, olvassa el a Hangsegédek: Gyakori kérdések című témakört. Ha továbbra sem tudja megoldani a problémát, miután követte az oktatóanyag összes lépését, írjon be egy új problémát a Voice Assistant GitHub-oldalára.

Megjegyzés a kapcsolat időtúllépéséről

Ha egy robothoz csatlakozik, és az elmúlt öt percben nem történt tevékenység, a szolgáltatás automatikusan bezárja a webes szoftvercsatorna-kapcsolatot az ügyféllel és a robottal. Ez az elvárt működés. Az alsó sávon megjelenik egy üzenet: "Az aktív kapcsolat túllépte az időkorlátot, de készen áll az igény szerinti újracsatlakozásra."

Nem kell az Újracsatlakozás gombot választania. Nyomja le a mikrofongombot, és kezdjen el beszélni, írjon be egy szöveges üzenetet, vagy mondja ki a kulcsszót (ha engedélyezve van). A kapcsolat automatikusan újra létrejön.

Robottevékenységek megtekintése

Minden robot tevékenységüzeneteket küld és fogad. A Windows Voice Assistant-ügyfél Tevékenységnapló ablakában az időbélyegekkel ellátott naplók minden olyan tevékenységet mutatnak, amelyet az ügyfél a robottól kapott. Az ügyfél által a robotnak küldött tevékenységeket a DialogService Csatlakozás or használatával is megtekintheti. SendActivityAsync metódus. Amikor kiválaszt egy naplóelemet, az JSON-ként jeleníti meg a társított tevékenység részleteit.

Az ügyfél által kapott tevékenység JSON-mintája:

{
    "attachments":[],
    "channelData":{
        "conversationalAiData":{
             "requestInfo":{
                 "interactionId":"8d5cb416-73c3-476b-95fd-9358cbfaebfa",
                 "version":"0.2"
             }
         }
    },
    "channelId":"directlinespeech",
    "conversation":{
        "id":"129ebffe-772b-47f0-9812-7c5bfd4aca79",
        "isGroup":false
    },
    "entities":[],
    "from":{
        "id":"SpeechEchoBotTutorial-BotRegistration-8726"
    },
    "id":"89841b4d-46ce-42de-9960-4fe4070c70cc",
    "inputHint":"acceptingInput",
    "recipient":{
        "id":"129ebffe-772b-47f0-9812-7c5bfd4aca79|0000"
    },
    "replyToId":"67c823b4-4c7a-4828-9d6e-0b84fd052869",
    "serviceUrl":"urn:botframework:websocket:directlinespeech",
    "speak":"<speak version='1.0' xmlns='https://www.w3.org/2001/10/synthesis' xml:lang='en-US'><voice name='en-US-JennyNeural'>Echo: Hello and welcome.</voice></speak>",
    "text":"Echo: Hello and welcome.",
    "timestamp":"2019-07-19T20:03:51.1939097Z",
    "type":"message"
}

Ha többet szeretne megtudni a JSON-kimenetben visszaadott adatokról, tekintse meg a tevékenység mezőit. Ebben az oktatóanyagban a szövegre összpontosíthat, és fel tudja szólalni a mezőket.

Ügyfél forráskódjának megtekintése a Speech SDK-ba irányuló hívásokhoz

A Windows Voice Assistant-ügyfél a Microsoft.CognitiveServices.Speech NuGet-csomagot használja, amely tartalmazza a Speech SDK-t. A mintakód áttekintésének jó helye a VoiceAssistantClient\MainWindow.xaml.cs fájlban található módszerInitSpeechConnector(), amely létrehozza ezt a két Speech SDK-objektumot:

  • DialogServiceConfig: Az olyan konfigurációs beállításokhoz, mint az erőforráskulcs és annak régiója.
  • DialogService Csatlakozás or: A csatornakapcsolat és az ügyfél-előfizetés eseményeinek kezelése a felismert beszéd- és robotválaszok kezeléséhez.

Egyéni kulcsszóaktiválás hozzáadása

A Speech SDK támogatja az egyéni kulcsszóaktiválást. A Microsoft-asszisztensek "Hey Cortana" kifejezéséhez hasonlóan olyan alkalmazást is írhat, amely folyamatosan figyeli az Ön által választott kulcsszót. Ne feledje, hogy egy kulcsszó lehet egyetlen szó vagy többszavas kifejezés.

Feljegyzés

A kulcsszót gyakran használják felcserélve az ébresztőszó kifejezéssel. Előfordulhat, hogy mindkettőt a Microsoft dokumentációjában használja.

A kulcsszóészlelés az ügyfélalkalmazásban történik. Ha kulcsszót használ, a hang csak akkor lesz streamelve a Direct Line Speech csatornára, ha a kulcsszót észleli. A Direct Line Speech csatorna tartalmaz egy kulcsszó-ellenőrzés nevű összetevőt, amely összetettebb feldolgozást végez a felhőben annak ellenőrzéséhez, hogy a választott kulcsszó a hangstream elején van-e. Ha a kulcsszó-ellenőrzés sikeres, akkor a csatorna kommunikálni fog a robottal.

Az alábbi lépéseket követve hozzon létre egy kulcsszómodellt, konfigurálja a Windows Voice Assistant-ügyfelet a modell használatára, és tesztelje azt a robottal:

  1. Egyéni kulcsszó létrehozása a Speech szolgáltatással.
  2. Bontsa ki az előző lépésben letöltött modellfájlt. A kulcsszónak el kell neveznie. Egy kws.table nevű fájlt keres.
  3. A Windows Voice Assistant ügyfélalkalmazásban keresse meg a Gépház menüt (a fogaskerék ikont a jobb felső sarokban). Modellfájl elérési útjaként adja meg a kws.table fájl teljes elérési útját a 2. lépésben.
  4. Jelölje be az Engedélyezett jelölőnégyzetet. A következő üzenetnek a következő jelölőnégyzet mellett kell megjelennie: "Figyeli a kulcsszót a következő kapcsolat során". Ha rossz fájlt vagy érvénytelen elérési utat adott meg, hibaüzenet jelenik meg.
  5. Adja meg az Előfizetési kulcs és az Előfizetési kulcs régió értékeit, majd az OK gombra kattintva zárja be a Gépház menüt.
  6. Válassza az Újracsatlakozás lehetőséget. Ekkor megjelenik egy üzenet, amely a következőt olvassa fel: "Új beszélgetés kezdődött – írja be, nyomja le a mikrofongombot, vagy mondja ki a kulcsszót". Az alkalmazás most már folyamatosan figyel.
  7. Beszéljen a kulcsszóval kezdődő kifejezésekről. Például: "{a kulcsszó}, mennyi az idő?" A kulcsszó kimondása után nem kell szüneteltetnie. Ha végzett, két dolog történik:
    • Megjelenik egy átirat arról, amit mondott.
    • Hallani fogja a robot válaszát.
  8. Kísérletezzen tovább a robot által támogatott három bemeneti típussal:
    • Szöveg beírása az alsó sávon
    • A mikrofon ikonjának lenyomása és beszéd
    • A kulcsszóval kezdődő kifejezés kimondása

A kulcsszóészlelést lehetővé tevő forráskód megtekintése

A Windows Voice Assistant-ügyfél forráskódjában ezeket a fájlokat használva tekintse át a kulcsszóészlelést lehetővé tevő kódot:

Nem kötelező: A nyelv és a robot hangjának módosítása

A létrehozott robot angol nyelven figyeli és válaszolja meg az alapértelmezett amerikai angol szöveget a beszédhangra. Azonban nem korlátozódik az angol vagy az alapértelmezett hang használatára.

Ebben a szakaszban megtudhatja, hogyan módosíthatja a robot által figyelt nyelvet, és hogyan válaszolhat rá. Azt is megtudhatja, hogyan választhat ki egy másik hangot ehhez a nyelvhez.

A nyelv módosítása

A beszédből szövegtáblába írt nyelvek bármelyike közül választhat. Az alábbi példa német nyelvre módosítja a nyelvet.

  1. Nyissa meg a Windows Voice Assistant ügyfélalkalmazást, válassza a Gépház gombot (jobb felső fogaskerék ikon), és írja be a de-de kifejezést a Nyelv mezőbe. Ez a beszéd szövegtáblában említett területi érték.

    Ez a lépés a beszélt nyelv felismerését állítja be, felülírva az alapértelmezett en-us nyelvet. Arra is utasítja a Direct Line Speech csatornát, hogy használjon alapértelmezett német hangot a robot válaszához.

  2. Zárja be a Gépház lapot, majd az Újracsatlakozás gombra kattintva hozzon létre új kapcsolatot az echorobottal.

  3. Válassza ki a mikrofongombot, és mondjon egy kifejezést németül. Megjelenik a felismert szöveg, és az echo robot az alapértelmezett német hanggal válaszol.

Az alapértelmezett robothang módosítása

Ha a robot egyszerű szöveg helyett beszédszintézis-korrektúranyelv (SSML) formájában adja meg a választ, kiválaszthatja a beszédhangra írt szöveget, és szabályozhatja a kiejtést. Az echo robot nem használja az SSML-t, de a kódot egyszerűen módosíthatja erre.

Az alábbi példa SSML-t ad hozzá az echorobot válaszához, hogy a német hang de-DE-RalfNeural (férfi hang) legyen használva az alapértelmezett női hang helyett. Tekintse meg a szabványos hangok listáját és a nyelv által támogatott neurális hangokat .

  1. Open samples\csharp_dotnetcore\02.echo-bot\echo-bot.cs.

  2. Keresse meg a következő sorokat:

    var replyText = $"Echo: {turnContext.Activity.Text}";
    await turnContext.SendActivityAsync(MessageFactory.Text(replyText, replyText), cancellationToken);
    

    Cserélje le őket a következő kódra:

    var replyText = $"Echo: {turnContext.Activity.Text}";
    var replySpeak = @"<speak version='1.0' xmlns='https://www.w3.org/2001/10/synthesis' xml:lang='de-DE'>
                    <voice name='de-DE-RalfNeural'>" +
                    $"{replyText}" + "</voice></speak>";
    await turnContext.SendActivityAsync(MessageFactory.Text(replyText, replySpeak), cancellationToken);
    
  3. Hozza létre a megoldást a Visual Studióban, és javítsa ki a buildelési hibákat.

A metódus MessageFactory.Text második argumentuma beállítja a tevékenység beszélő mezőjét a robot válaszában. Az előző módosítással az egyszerű szövegről az SSML-re cseréljük, hogy egy nem alapértelmezett német hangot adjon meg.

Robot ismételt üzembe helyezése

Most, hogy elvégezte a szükséges módosítást a roboton, a következő lépés az, hogy újból közzéteheti Azure-alkalmazás szolgáltatásban, és próbálja ki:

  1. A Megoldáskezelő ablakban kattintson a jobb gombbal az EchoBot projektre, és válassza a Közzététel lehetőséget.

  2. A korábbi üzembehelyezési konfiguráció már be lett töltve alapértelmezettként. Válassza a Közzététel lehetőséget az EchoBot20190805125647 – Webes üzembe helyezés mellett.

    A Sikeres közzététel üzenet megjelenik a Visual Studio kimeneti ablakában, és megnyílik egy weblap a következő üzenettel: "A robot készen áll!"

  3. Nyissa meg a Windows Voice Assistant ügyfélalkalmazást. Válassza a Gépház gombot (jobb felső fogaskerék ikon), és győződjön meg arról, hogy továbbra is de-devan a Nyelv mezőben.

  4. Kövesse a Windows Voice Assistant-ügyfél futtatásával kapcsolatos utasításokat az újonnan üzembe helyezett robothoz való újracsatlakozáshoz, az új nyelven való beszédhez, valamint a robotnak az új hanggal adott válaszához.

Az erőforrások eltávolítása

Ha nem folytatja az oktatóanyagban üzembe helyezett echo robot használatát, az Azure-erőforráscsoport törlésével eltávolíthatja azt és az összes kapcsolódó Azure-erőforrást:

  1. Az Azure Portalon válassza az Erőforráscsoportok lehetőséget az Azure-szolgáltatások alatt.
  2. Keresse meg a SpeechEchoBotTutorial-ResourceGroup erőforráscsoportot. Válassza ki a három elemet (...).
  3. Válassza az Erőforráscsoport törlése elemet.

A dokumentáció megtekintése

Következő lépések