Megosztás a következőn keresztül:


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.

A Direct Line Speech csatorna folyamatát szemléltető diagram.

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 Azure AI services 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:

    Képernyőkép az EchoBot oldalról, amelyen az üzenet látható, hogy a robot készen áll.

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ó: Képernyőkép a Bot Framework Emulatorról.

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 Azure AI services 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 panel Beállítások csoportjában 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, hogyan használják a robotok a csatornákat, olvassa el a Robot csatlakoztatása csatornákhoz című témakört.

  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 Beállítások 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 Azure AI services 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 a Beállítások területen webchat teszt lehetőséggel rendelkezik. 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 Beállítások 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 Beállítások 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 Beállítások 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 Beállítások 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, olvassa el a Robot csatlakoztatása a Direct Line Speechhez című témakört.

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 Beállítások lapján győződjön meg arról, hogy helyesen adta meg a kulcsot és annak régióját.
Hiba (ConnectionFailure): A kapcsolatot a távoli gazdagép lezárta. 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 (ConnectionFailure): A kapcsolatot a távoli gazdagép lezárta. 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 (ConnectionFailure): A kapcsolatot a távoli gazdagép lezárta. 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 DialogServiceConnector.SendActivityAsync metódussal is megtekintheti. 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.
  • DialogServiceConnector: 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 Beállítások 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 a Beállítások menü bezárásához kattintson az OK gombra.
  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 Beállítások 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 Beállítások 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 Beállítások gombot (jobb felső fogaskerék ikon), és győződjön meg arról, hogy a Nyelv mezőben továbbra is de-de van.

  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