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, lalu 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 Ringkasan, arahkan kursor ke titik akhir, dan ikon Salin ke clipboard akan 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 Disarankan 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:

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 mendukungEkstensi 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.

Minta URL 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