Speech-tárolók telepítése és futtatása a Dockerrel

Tárolók használatával használhatja a Speech szolgáltatás funkcióinak egy részét a saját környezetében. Ebből a cikkből megtudhatja, hogyan tölthet le, telepíthet és futtathat Speech-tárolót.

Feljegyzés

A leválasztott tároló díjszabása és kötelezettségvállalási szintjei eltérnek a standard tárolóktól. További információkért lásd a Speech service díjszabását.

Előfeltételek

A Speech service-tárolók használata előtt meg kell felelnie az alábbi előfeltételeknek. Ha még nincs Azure-előfizetése, kezdés előtt hozzon létre egy ingyenes fiókot. A következők szükségesek:

  • A Docker telepítve van egy gazdagépen. A Dockert úgy kell konfigurálni, hogy a tárolók kapcsolódhassanak és számlázási adatokat küldjenek az Azure-ba.
    • Windows rendszeren a Dockert úgy is konfigurálnia kell, hogy támogassa a Linux-tárolókat.
    • Ismernie kell a Docker alapfogalmait.
  • A Speech service-erőforrás ingyenes (F0) vagy standard (S) tarifacsomaggal.

Számlázási argumentumok

A beszédtárolók nem rendelkeznek licenceléssel anélkül, hogy az Azure-hoz csatlakozna a méréshez. A tárolót úgy kell konfigurálnia, hogy mindig a mérési szolgáltatással közölje a számlázási adatokat.

Három elsődleges paraméter szükséges az összes Azure AI-tárolóhoz. A Microsoft szoftverlicenc-feltételeinek elfogadási értékkel kell rendelkeznie. Végponti URI- és API-kulcsra is szükség van.

A tárolóba irányuló lekérdezések számlázása a paraméterhez használt Azure-erőforrás tarifacsomagján ApiKey lesz.

A docker run parancs akkor indítja el a tárolót, ha az alábbi lehetőségek közül mind a három érvényes értéket tartalmazza:

Lehetőség Leírás
ApiKey A Speech-erőforrás API-kulcsa, amely a számlázási adatok nyomon követésére szolgál.
Az ApiKey érték a tároló elindítására szolgál, és az Azure Portal megfelelő Speech-erőforrás Kulcsok lapján érhető el. Lépjen a Kulcsok lapra, és válassza a Vágólapra másolás ikont.
Billing A számlázási adatok nyomon követésére használt Speech-erőforrás végpontja.
A végpont a megfelelő Speech-erőforrás Azure Portal áttekintési oldalán érhető el. Lépjen az Áttekintés lapra, mutasson a végpont fölé, és megjelenik egy Másolás vágólapra ikon. Szükség esetén másolja és használja a végpontot.
Eula Azt jelzi, hogy elfogadta a tároló licencét.
Ennek a beállításnak az értékét el kell fogadni.

Fontos

Ezek az előfizetési kulcsok az Azure AI-szolgáltatások API-ját használják. Ne ossza meg a kulcsait. Biztonságosan tárolja őket. Használja például az Azure Key Vaultot. Azt is javasoljuk, hogy ezeket a kulcsokat rendszeresen újragenerálja. API-hívás létrehozásához csak egy kulcs szükséges. Az első kulcs újragenerálása után a második kulcsot használhatja a szolgáltatáshoz való folyamatos hozzáféréshez.

A tárolónak futtatnia kell a számlázási argumentum értékeit. Ezek az értékek lehetővé teszik, hogy a tároló csatlakozzon a számlázási végponthoz. A tároló körülbelül 10–15 percenként jelenti a használatot. Ha a tároló az engedélyezett időkereten belül nem csatlakozik az Azure-hoz, a tároló továbbra is fut, de nem szolgál ki lekérdezéseket, amíg vissza nem állítja a számlázási végpontot. A kapcsolat 10 alkalommal, 10–15 perces időintervallumban történik. Ha a 10 próbálkozáson belül nem tud csatlakozni a számlázási végponthoz, a tároló leállítja a kérések kiszolgálását. A Microsoftnak a számlázáshoz küldött információkra példaként tekintse meg az Azure AI-tárolóval kapcsolatos gyakori kérdéseket az Azure AI-szolgáltatások dokumentációjában.

Ezekről a lehetőségekről további információt a Tárolók konfigurálása című témakörben talál.

Tárolókövetelmények és javaslatok

Az alábbi táblázat az erőforrások minimális és ajánlott lefoglalását ismerteti az egyes Speech-tárolókhoz:

Tároló Minimum Ajánlott Beszédmodell
Diktálás 4 magos, 4 GB-os memória 8 magos, 8 GB-os memória +4–8 GB memória
Egyéni beszéd szöveggé 4 magos, 4 GB-os memória 8 magos, 8 GB-os memória +4–8 GB memória
Beszédnyelv-azonosítás 1 magos, 1 GB-os memória 1 magos, 1 GB-os memória n.a.
Neurális szövegfelolvasás 6 magos, 12 GB-os memória 8 magos, 16 GB-os memória n.a.

Minden magnak legalább 2,6 gigahertzesnek (GHz) vagy gyorsabbnak kell lennie.

A mag és a memória megfelel a --cpus parancs részeként használt beállításoknak és --memory beállításoknak docker run .

Feljegyzés

A minimális és javasolt foglalások a Docker korlátain alapulnak, nem a gazdagép erőforrásain. Például a beszéd a szövegtárolókban egy nagy nyelvi modell memóriatérkép-részei. Javasoljuk, hogy a teljes fájl elférjen a memóriában. A beszédmodellek betöltéséhez további 4–8 GB-ot kell hozzáadnia (lásd az előző táblázatot). A tárolók első futtatása hosszabb időt is igénybe vehet, mivel a modelleket a rendszer a memóriába lapozza.

A gazdagépre vonatkozó követelmények és javaslatok

A gazdagép egy x64-alapú számítógép, amely a Docker-tárolót futtatja. Ez lehet egy számítógép a helyszínen vagy egy Docker-üzemeltetési szolgáltatás az Azure-ban, például:

Feljegyzés

A tárolók a GStreamer használatával támogatják a Speech SDK tömörített hangbemenetét. A GStreamer tárolóba való telepítéséhez kövesse a GStreamer linuxos utasításait a Speech SDK-val való kodek-tömörített hangbemenet használatában.

Speciális vektorbővítmény támogatása

A gazdagép a Docker-tárolót futtató számítógép. A gazdagépnek támogatniakell az Advanced Vector Extensions (AVX2) bővítményeket. Az AVX2-támogatás linuxos gazdagépeken az alábbi paranccsal ellenőrizhető:

grep -q avx2 /proc/cpuinfo && echo AVX2 supported || echo No AVX2 support detected

Figyelmeztetés

Az AVX2 támogatásához a gazdaszámítógépre van szükség . A tároló nem működik megfelelően az AVX2 támogatása nélkül.

A tároló futtatása

A tároló futtatásához használja a docker-futtatási parancsot. A futtatás után a tároló addig fut, amíg le nem állítja a tárolót.

Vegye figyelembe a következő ajánlott eljárásokat a docker run paranccsal:

  • Vonal-folytatás karakter: A következő szakaszok Docker-parancsai a fordított perjelet használják, \vonal folytatási karakterként. Cserélje le vagy távolítsa el ezt a karaktert a gazdagép operációs rendszerének követelményei alapján.
  • Argumentumsorrend: Ne módosítsa az argumentumok sorrendjét, hacsak nem ismeri a Docker-tárolókat.

A docker images paranccsal listázhatja a letöltött tárolólemezképeket. Az alábbi parancs az egyes letöltött tárolólemezképek azonosítóját, adattárát és címkéjét sorolja fel táblázatként formázva:

docker images --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}"

Íme egy példa eredmény:

IMAGE ID         REPOSITORY                TAG
<image-id>       <repository-path/name>    <tag-name>

Ellenőrizze, hogy fut-e egy tároló

A tároló futásának ellenőrzésére többféleképpen is van lehetőség. Keresse meg a szóban forgó tároló külső IP-címét és közzétett portját, és nyissa meg a kedvenc webböngészőt. A tároló futásának ellenőrzéséhez használja az alábbi kérési URL-címeket.

Az itt felsorolt példakérési URL-címek eltérőek http://localhost:5000lehetnek, de az adott tároló eltérő lehet. Ügyeljen arra, hogy a tároló külső IP-címére és közzétett portjára támaszkodjon.

Kérelem URL-címe Cél
http://localhost:5000/ A tároló egy kezdőlappal rendelkezik.
http://localhost:5000/ready A GET használatával kért URL-cím ellenőrzi, hogy a tároló készen áll-e egy lekérdezés elfogadására a modellen. Ez a kérés használható a Kubernetes-beli élő- és készültségi mintavételekhez.
http://localhost:5000/status A GET szolgáltatással is kért, ez az URL-cím ellenőrzi, hogy a tároló elindításához használt API-kulcs érvényes-e végpontlekérdezés nélkül. Ez a kérés használható a Kubernetes-beli élő- és készültségi mintavételekhez.
http://localhost:5000/swagger A tároló átfogó dokumentációval is rendelkezik a végpontokhoz, valamint egy kipróbálás funkcióval is. Ezzel a funkcióval beírhatja a beállításokat egy webes HTML-űrlapba, és kódírás nélkül is elvégezheti a lekérdezést. A lekérdezés visszatérése után megjelenik egy példa CURL-parancs, amely bemutatja a szükséges HTTP-fejléceket és törzsformátumot.

A tároló leállítása

A tároló leállításához a tárolót futtató parancssori környezetben válassza a Ctrl+C billentyűkombinációt.

Több tároló futtatása ugyanazon a gazdagépen

Ha több tárolót szeretne futtatni közzétett portokkal, mindenképpen futtassa az egyes tárolókat egy másik közzétett porttal. Futtassa például az első tárolót az 5000-s porton, a másodikat pedig az 5001-s porton.

Ezt a tárolót és egy másik Azure AI-tárolót együtt futtathatja a GAZDAGÉPen. Több tároló is futtatható ugyanabból az Azure AI-tárolóból.

Gazdagép URL-címei

Feljegyzés

Használjon egyedi portszámot, ha több tárolót futtat.

Protokoll Gazdagép URL-címe Tárolók
WS ws://localhost:5000 Beszéd szöveggé

Egyéni beszéd szöveggé
HTTP http://localhost:5000 Neurális szöveg beszédre

Beszédnyelv-azonosítás

A WSS- és HTTPS-protokollok használatáról további információt az Azure AI-szolgáltatások dokumentációjában talál a tárolóbiztonságról .

Hibaelhárítás

A tároló indításakor vagy futtatásakor problémák léphetnek fel. Használjon egy kimeneti csatlakoztatást, és engedélyezze a naplózást. Ezzel lehetővé teszi a tároló számára, hogy olyan naplófájlokat hozzon létre, amelyek hasznosak a problémák elhárításakor.

Tipp.

További hibaelhárítási információkért és útmutatásért tekintse meg az Azure AI-tárolókkal kapcsolatos gyakori kérdéseket (GYIK) az Azure AI-szolgáltatások dokumentációjában.

Naplózási beállítások

A beszédtárolókhoz ASP.NET Core naplózási támogatás is jár. Íme egy példa a neural-text-to-speech container konzol alapértelmezett naplózásával indítottakra:

docker run --rm -it -p 5000:5000 --memory 12g --cpus 6 \
mcr.microsoft.com/azure-cognitive-services/speechservices/neural-text-to-speech \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY} \
Logging:Console:LogLevel:Default=Information

A naplózással kapcsolatos további információkért tekintse meg a Speech-tárolók és a használati rekordok konfigurálását az Azure AI-szolgáltatások dokumentációjában.

Microsoft diagnosztikai tároló

Ha problémái vannak egy Azure AI-tároló futtatásával, próbálja meg használni a Microsoft diagnosztikai tárolóját. Ezzel a tárolóval diagnosztizálhatja az üzembehelyezési környezetben előforduló gyakori hibákat, amelyek megakadályozhatják, hogy az Azure AI-tárolók a várt módon működjenek.

A tároló lekéréséhez használja a következő docker pull parancsot:

docker pull mcr.microsoft.com/azure-cognitive-services/diagnostic

Ezután futtassa a tárolót. Cserélje le {ENDPOINT_URI} a végpontot, és cserélje le {API_KEY} az erőforrás kulcsára:

docker run --rm mcr.microsoft.com/azure-cognitive-services/diagnostic \
eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}

A tároló teszteli a számlázási végponthoz való hálózati kapcsolatot.

Leválasztott tárolók futtatása

Ha leválasztott tárolókat szeretne futtatni (nem csatlakozik az internethez), el kell küldenie ezt a kéreleműrlapot , és meg kell várnia a jóváhagyást. A tárolók leválasztott környezetekben való használatára vonatkozó kötelezettségvállalási terv alkalmazásával és megvásárlásával kapcsolatos további információkért lásd : Tárolók használata leválasztott környezetekben az Azure AI-szolgáltatások dokumentációjában.

Következő lépések