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:
- Azure Kubernetes Service.
- Azure Container Instances.
- Az Azure Stackben üzembe helyezett Kubernetes-fürt. További információ: Kubernetes üzembe helyezése az Azure Stackben.
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ámogatnia kell 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:5000
lehetnek, 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.
URL-cím kérése | 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
- Tekintse át a konfigurációs beállítások tárolóinak konfigurálását.
- Megtudhatja, hogyan használhatja a Speech service-tárolókat a Kubernetes és a Helm használatával.
- Tárolók üzembe helyezése és futtatása az Azure Container Instance-ben
- További Azure AI-tárolók használata.