Menginstal dan menjalankan kontainer Ucapan dengan Docker
Dengan menggunakan kontainer, Anda dapat menggunakan subset fitur layanan Ucapan di lingkungan Anda sendiri. Dalam artikel ini, Anda mempelajari cara mengunduh, menginstal, dan menjalankan kontainer Ucapan.
Catatan
Harga kontainer dan tingkat komitmen yang terputus bervariasi dari kontainer standar. Untuk informasi selengkapnya, lihat Harga layanan Azure Cognitive Service untuk Ucapan.
Prasyarat
Anda harus memenuhi prasyarat berikut sebelum menggunakan kontainer layanan Ucapan. Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda memulai. Anda memerlukan:
- Docker diinstal di komputer host. Docker harus dikonfigurasi agar kontainer dapat terhubung dengan dan mengirim data tagihan ke Azure.
- Di Windows, Docker juga harus dikonfigurasi agar mendukung kontainer Linux.
- Anda harus memiliki pemahaman dasar tentang konsep Docker.
- Sumber daya layanan Ucapan dengan tingkat harga gratis (F0) atau standar (S).
Argumen penagihan
Kontainer ucapan tidak dilisensikan untuk dijalankan tanpa tersambung ke Azure untuk pengukuran. Anda harus mengonfigurasi kontainer Anda untuk selalu mengomunikasikan informasi penagihan dengan layanan pengukuran.
Tiga parameter utama untuk semua kontainer Azure AI diperlukan. Syarat Lisensi Perangkat Lunak Microsoft harus ada dengan nilai terima. Kunci URI dan API Titik akhir juga diperlukan.
Kueri ke kontainer ditagih pada tingkat harga sumber daya Azure yang digunakan untuk ApiKey
parameter.
docker run
Perintah memulai kontainer ketika ketiga opsi berikut disediakan dengan nilai yang valid:
Opsi | Deskripsi |
---|---|
ApiKey |
Kunci API sumber daya Ucapan yang digunakan untuk melacak informasi penagihan. Nilai ApiKey digunakan untuk memulai kontainer dan tersedia di halaman Kunci portal Azure dari sumber daya Ucapan yang sesuai. Buka halaman Kunci, dan pilih ikon Salin ke clipboard. |
Billing |
Titik akhir sumber daya Ucapan yang digunakan untuk melacak informasi penagihan. Titik akhir tersedia di halaman Ringkasan portal Azure sumber daya Ucapan yang sesuai. Buka halaman Gambaran Umum, arahkan mouse ke titik akhir, dan ikon Salin ke clipboard muncul. Salin dan gunakan titik akhir jika diperlukan. |
Eula |
Menunjukkan bahwa Anda menerima lisensi untuk kontainer. Nilai opsi ini harus diatur untuk menerima. |
Penting
Kunci langganan ini digunakan untuk mengakses API layanan Azure AI Anda. Jangan bagikan kunci Anda. Simpan dengan aman. Misalnya, gunakan Azure Key Vault. Sebaiknya Anda meregenerasi kunci ini secara rutin. Hanya satu kunci yang diperlukan untuk melakukan panggilan API. Saat Anda meregenerasi kunci pertama, Anda dapat menggunakan kunci kedua untuk melanjutkan akses ke layanan.
Kontainer memerlukan nilai argumen penagihan untuk berjalan. Nilai-nilai ini memungkinkan kontainer tersambung ke titik akhir penagihan. Kontainer melaporkan penggunaan sekitar setiap 10 hingga 15 menit. Jika kontainer tidak tersambung ke Azure dalam jendela waktu yang diizinkan, kontainer terus berjalan tetapi tidak melayani kueri hingga titik akhir penagihan dipulihkan. Koneksi dicoba 10 kali pada interval waktu yang sama, 10 hingga 15 menit. Jika tidak dapat tersambung ke titik akhir penagihan dalam 10 percobaan, kontainer berhenti melayani permintaan. Untuk contoh informasi yang dikirim ke Microsoft untuk penagihan, lihat FAQ kontainer Azure AI dalam dokumentasi layanan Azure AI.
Untuk informasi selengkapnya tentang opsi ini, lihat Konfigurasikan kontainer.
Persyaratan dan rekomendasi kontainer
Tabel berikut ini menjelaskan alokasi sumber daya minimum dan yang direkomendasikan untuk setiap kontainer Ucapan:
Kontainer | Minimum | Direkomendasikan | Model Ucapan |
---|---|---|---|
Ucapan ke Teks | 4 core, memori 4 GB | 8 core, memori 8 GB | Memori +4 hingga 8 GB |
Ucapan kustom ke teks | 4 core, memori 4 GB | 8 core, memori 8 GB | Memori +4 hingga 8 GB |
Identifikasi bahasa Ucapan | 1 core, memori 1 GB | 1 core, memori 1 GB | n/a |
Teks ke ucapan neural | 6 core, memori 12 GB | 8 core, memori 16 GB | n/a |
Setiap core harus setidaknya 2,6 gigahertz (GHz) atau lebih cepat.
Inti dan memori sesuai dengan pengaturan --cpus
dan --memory
, yang digunakan sebagai bagian dari perintah docker run
.
Catatan
Alokasi minimum dan direkomendasikan didasarkan pada batas Docker, bukan sumber daya komputer host. Misalnya, bagian peta memori kontainer ucapan ke teks dari model bahasa besar. Kami menyarankan agar seluruh file harus pas dalam memori. Anda perlu menambahkan tambahan 4 hingga 8 GB untuk memuat model ucapan (lihat tabel sebelumnya). Selain itu, eksekusi pertama dari salah satu kontainer mungkin memakan waktu lebih lama karena model sedang dimasukkan ke dalam memori.
Persyaratan dan rekomendasi komputer host
Host adalah komputer berbasis x64 yang menjalankan kontainer Docker. Ini bisa menjadi komputer lokal Anda atau layanan hosting Docker di Azure, seperti:
- Azure Kubernetes Service.
- Azure Container Instances.
- Kluster Kubernetes yang disebarkan ke Azure Stack. Untuk mengetahui informasi selengkapnya, lihat Menyebarkan Kube ke Azure Stack.
Catatan
Kontainer mendukung input audio terkompresi ke Speech SDK dengan menggunakan GStreamer. Untuk memasang GStreamer dalam kontainer, ikuti instruksi Linux untuk GStreamer dalamMenggunakan input audio terkompresi codec dengan Speech SDK.
Dukungan Ekstensi Vektor Tingkat Lanjut
Host adalah komputer yang menjalankan kontainer Docker. Host harus mendukung Ekstensi Vektor Tingkat Lanjut (AVX2). Anda dapat memeriksa dukungan AVX2 pada host Linux dengan perintah berikut:
grep -q avx2 /proc/cpuinfo && echo AVX2 supported || echo No AVX2 support detected
Peringatan
Komputer host diperlukan untuk mendukung AVX2. Kontainer tidak akan berfungsi dengan benar tanpa dukungan AVX2.
Jalankan kontainer
Gunakan perintah eksekusi docker untuk menjalankan kontainer. Setelah berjalan, kontainer terus berjalan sampai Anda menghentikan kontainer.
Perhatikan praktik terbaik berikut dengan docker run
perintah :
- Karakter kelanjutan baris: Perintah Docker di bagian berikut menggunakan garis miring belakang,
\
, sebagai karakter kelanjutan baris. Ganti atau hapus karakter ini berdasarkan persyaratan sistem operasi host Anda. - Urutan argumen: Jangan ubah urutan argumen kecuali Anda terbiasa dengan kontainer Docker.
Anda dapat menggunakan perintah gambar docker untuk mencantumkan gambar kontainer yang diunduh. Perintah berikut mencantumkan ID, repositori, dan tag dari setiap gambar kontainer yang diunduh, diformat sebagai tabel:
docker images --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}"
Berikut adalah contoh hasilnya:
IMAGE ID REPOSITORY TAG
<image-id> <repository-path/name> <tag-name>
Memvalidasi bahwa kontainer dapat dijalankan
Ada beberapa cara untuk memvalidasi bahwa kontainer sedang berjalan. Temukan alamat IP Eksternal dan port kontainer yang diekspos yang dimaksud, dan buka browser web favorit Anda. Gunakan berbagai URL permintaan yang mengikuti untuk memvalidasi bahwa kontainer sedang berjalan.
Contoh URL permintaan yang tercantum di sini adalah http://localhost:5000
, tetapi kontainer tertentu Anda mungkin bervariasi. Pastikan Anda mengandalkan port yang terekspos dan alamat IP Eksternal kontainer Anda.
URL Permintaan | Tujuan |
---|---|
http://localhost:5000/ |
Kontainer menyediakan halaman beranda. |
http://localhost:5000/ready |
Diminta dengan GET, URL ini memberikan verifikasi bahwa kontainer siap menerima kueri terhadap model. Permintaan ini dapat digunakan untuk penyelidikan keaktifan dan kesiapan Kubernetes. |
http://localhost:5000/status |
Juga diminta dengan GET, ini memverifikasi apakah kunci-api yang digunakan untuk memulai kontainer yang valid tanpa menyebabkan kueri titik akhir. Permintaan ini dapat digunakan untuk penyelidikan keaktifan dan kesiapan Kubernetes. |
http://localhost:5000/swagger |
Kontainer menyediakan serangkaian dokumentasi lengkap untuk titik akhir dan fitur Coba. Dengan fitur ini, Anda dapat memasukkan pengaturan Anda ke dalam formulir HTML berbasis web dan membuat kueri tanpa harus menulis kode apa pun. Setelah kueri ditampilkan, contoh perintah CURL disediakan untuk menunjukkan header dan format isi HTTP yang diperlukan. |
Menghentikan kontainer
Untuk mematikan kontainer, di lingkungan baris perintah tempat kontainer berjalan, pilih Ctrl+C.
Menjalankan beberapa kontainer pada host yang sama
Jika Anda berniat menjalankan beberapa kontainer dengan port yang terbuka, pastikan untuk menjalankan setiap kontainer dengan port terbuka yang berbeda. Misalnya, jalankan kontainer pertama pada port 5000 dan kontainer kedua pada port 5001.
Anda dapat memiliki kontainer ini dan kontainer Azure AI yang berbeda yang berjalan di HOST bersama-sama. Anda juga dapat memiliki beberapa kontainer dari kontainer Azure AI yang sama yang berjalan.
URL Host
Catatan
Gunakan nomor port unik jika Anda menjalankan beberapa kontainer.
Protokol | URL Host | Kontainer |
---|---|---|
WS | ws://localhost:5000 |
Ucapan ke Teks Ucapan kustom ke teks |
HTTP | http://localhost:5000 |
Teks neural ke ucapan Identifikasi bahasa Ucapan |
Untuk informasi selengkapnya tentang menggunakan protokol WSS dan HTTPS, lihat Keamanan kontainer dalam dokumentasi layanan Azure AI.
Pemecahan Masalah
Saat Anda memulai atau menjalankan kontainer, Anda mungkin mengalami masalah. Gunakan dudukan output dan aktifkan pengelogan. Hal tersebut memungkinkan kontainer untuk menghasilkan file log yang berguna saat Anda memecahkan masalah.
Tip
Untuk informasi dan panduan pemecahan masalah selengkapnya, lihat Tanya Jawab Umum (FAQ) kontainer Azure AI dalam dokumentasi layanan Azure AI.
Pengaturan pengelogan
Kontainer ucapan dilengkapi dengan dukungan pengelogan ASP.NET Core. Berikut adalah contoh dimulai dengan pengelogan neural-text-to-speech container
default ke konsol:
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
Untuk informasi selengkapnya tentang pengelogan, lihat Mengonfigurasi kontainer Ucapan dan rekaman penggunaan dalam dokumentasi layanan Azure AI.
Kontainer diagnostik Microsoft
Jika Anda mengalami masalah dalam menjalankan kontainer Azure AI, Anda dapat mencoba menggunakan kontainer diagnostik Microsoft. Gunakan kontainer ini untuk mendiagnosis kesalahan umum di lingkungan penyebaran Anda yang mungkin mencegah kontainer Azure AI berfungsi seperti yang diharapkan.
Untuk mendapatkan kontainer, gunakan perintah berikut docker pull
:
docker pull mcr.microsoft.com/azure-cognitive-services/diagnostic
Kemudian jalankan kontainer. Ganti {ENDPOINT_URI}
dengan titik akhir Anda, dan ganti {API_KEY}
dengan kunci Anda ke sumber daya Anda:
docker run --rm mcr.microsoft.com/azure-cognitive-services/diagnostic \
eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}
Kontainer menguji konektivitas jaringan ke titik akhir penagihan.
Jalankan kontainer yang terputus
Untuk menjalankan kontainer yang terputus (tidak tersambung ke internet), Anda harus mengirimkan formulir permintaan ini dan menunggu persetujuan. Untuk informasi selengkapnya tentang menerapkan dan membeli rencana komitmen untuk menggunakan kontainer di lingkungan yang terputus, lihat Menggunakan kontainer di lingkungan yang terputus dalam dokumentasi layanan Azure AI.
Langkah berikutnya
- Tinjau konfigurasi kontainer untuk pengaturan konfigurasi.
- Pelajari cara menggunakan kontainer layanan Ucapan dengan Kubernetes dan Helm.
- Menyebarkan dan menjalankan kontainer di Azure Container Instance
- Gunakan lebih banyak kontainer Azure AI.