Menggunakan kontainer Docker di lingkungan yang terputus
Kontainer memungkinkan Anda menjalankan API Azure Cognitive Services di lingkungan Anda sendiri dan sangat bagus untuk persyaratan keamanan dan pemerintahan data spesifik Anda. Kontainer yang terputus memungkinkan Anda menggunakan beberapa API ini yang terputus dari internet. Saat ini, kontainer berikut dapat dijalankan dengan cara ini:
- Ucapan ke Teks (Standar)
- Teks Neural ke ucapan
- Terjemahan Teks (Standar)
- Pemahaman Bahasa (LUIS)
- Azure Cognitive Service untuk Bahasa
- Visi Komputer - Baca
Penggunaan kontainer yang terputus juga tersedia untuk layanan AI Terapan berikut:
Sebelum mencoba menjalankan kontainer Docker di lingkungan offline, pastikan Anda mengetahui langkah-langkah untuk berhasil mengunduh dan menggunakan kontainer. Contohnya:
- Persyaratan dan rekomendasi komputer host
- Perintah Docker
pullakan Anda gunakan untuk mengunduh kontainer. - Cara memvalidasi bahwa kontainer sedang berjalan.
- Cara mengirim kueri ke titik akhir kontainer, setelah berjalan.
Meminta akses untuk menggunakan kontainer di lingkungan yang terputus
Isi dan kirimkan formulir permintaan untuk meminta persetujuan untuk menjalankan kontainer yang terputus dari internet.
Formulir meminta informasi tentang Anda, perusahaan Anda, dan skenario pengguna yang akan Anda gunakan untuk kontainer. Setelah Anda mengirimkan formulir, tim Azure Cognitive Services meninjaunya dan mengirim email kepada Anda dengan keputusan dalam waktu 10 hari kerja.
Penting
- Pada formulir, Anda harus menggunakan alamat email yang terkait dengan ID langganan Azure.
- Sumber daya Azure yang Anda gunakan untuk menjalankan kontainer harus dibuat dengan ID langganan Azure yang disetujui.
- Periksa email Anda (kotak masuk dan folder sampah) untuk pembaruan status aplikasi Anda dari Microsoft.
Setelah disetujui, Anda akan dapat menjalankan kontainer setelah mengunduhnya dari Microsoft Container Registry (MCR), yang dijelaskan kemudian dalam artikel.
Anda tidak akan dapat menjalankan kontainer jika langganan Azure Anda belum disetujui.
Akses terbatas pada pelanggan yang memenuhi persyaratan berikut:
- Organisasi Anda harus memiliki microsoft Perjanjian Enterprise atau perjanjian yang setara dan harus diidentifikasi sebagai pelanggan strategis atau mitra dengan Microsoft.
- Kontainer yang terputus diharapkan berjalan sepenuhnya secara offline, oleh karena itu kasus penggunaan Anda harus memenuhi salah satu persyaratan di bawah ini atau serupa:
- Lingkungan atau perangkat (s) dengan konektivitas nol ke internet.
- Lokasi terpencil yang terkadang memiliki akses internet.
- Organisasi di bawah peraturan ketat untuk tidak mengirim data apa pun kembali ke cloud.
- Aplikasi selesai seperti yang diinstruksikan - Harap perhatikan panduan yang diberikan di seluruh aplikasi untuk memastikan Anda memberikan semua informasi yang diperlukan untuk persetujuan.
Membeli rencana komitmen untuk menggunakan kontainer di lingkungan yang terputus
Membuat grup sumber daya baru
Masuk ke portal Azure dan pilih Buat sumber daya baru untuk salah satu Layanan Kognitif yang berlaku atau layanan AI Terapan yang tercantum di atas.
Masukkan informasi yang berlaku untuk membuat sumber daya Anda. Pastikan untuk memilih kontainer terputus tingkat Komitmen sebagai tingkat harga Anda.
Catatan
- Anda hanya akan melihat opsi untuk membeli tingkat komitmen jika Anda telah disetujui oleh Microsoft.
- Detail harga misalnya saja.
Pilih Tinjau + Buat di bagian bawah halaman. Tinjau informasi dan pilih Buat.
Kumpulkan parameter yang diperlukan
Ada tiga parameter utama untuk semua kontainer Cognitive Services yang diperlukan. Perjanjian lisensi pengguna akhir (EULA) harus ada dengan nilai terima. Selain itu, URL titik akhir dan kunci API diperlukan saat Anda pertama kali menjalankan kontainer, untuk mengonfigurasinya untuk penggunaan yang terputus.
Anda dapat menemukan kunci dan titik akhir di halaman Kunci dan titik akhir untuk sumber daya Anda.
Penting
Anda hanya akan menggunakan kunci dan titik akhir untuk mengonfigurasi kontainer yang akan dijalankan di lingkungan yang terputus. Setelah mengonfigurasi kontainer, Anda tidak memerlukannya untuk mengirim permintaan API. Simpan dengan aman, misalnya menggunakan Azure Key Vault. Hanya satu kunci yang diperlukan untuk proses ini.
Unduh kontainer Docker dengan docker pull
Setelah Anda memiliki file lisensi, unduh kontainer Docker yang harus Anda setujui untuk dijalankan di lingkungan yang terputus. Contohnya:
docker pull mcr.microsoft.com/azure-cognitive-services/form-recognizer/invoice:latest
Konfigurasikan kontainer yang akan dijalankan di lingkungan yang terputus
Sekarang setelah Anda mengunduh kontainer Anda, Anda harus menjalankan kontainer dengan parameter DownloadLicense=True di perintah docker run Anda. Parameter ini akan mengunduh file lisensi yang akan memungkinkan kontainer Docker Anda berjalan saat tidak terhubung ke internet. Ini juga berisi tanggal kedaluwarsa, setelah itu file lisensi akan tidak valid untuk menjalankan kontainer. Anda hanya dapat menggunakan file lisensi dengan kontainer yang sesuai tempat Anda disetujui. Misalnya, Anda tidak dapat menggunakan file lisensi untuk kontainer ucapan-ke-teks dengan kontainer pengenalan formulir.
Penting
- Kontainer penerjemah hanya:
- Anda harus menyertakan parameter untuk mengunduh file model untuk bahasa yang ingin Anda terjemahkan. Misalnya:
-e Languages=en,es - Kontainer akan menghasilkan templat yang
docker rundapat Anda gunakan untuk menjalankan kontainer, yang berisi parameter yang Anda perlukan untuk model dan file konfigurasi yang diunduh. Pastikan Anda menyimpan templat ini.
- Anda harus menyertakan parameter untuk mengunduh file model untuk bahasa yang ingin Anda terjemahkan. Misalnya:
Contoh berikut menunjukkan pemformatan perintah yang docker run akan Anda gunakan, dengan nilai tempat penampung. Ganti nilai tempat penampung dengan nilai Anda sendiri.
| Tempat penampung | Nilai | Format atau contoh |
|---|---|---|
{IMAGE} |
Gambar kontainer yang ingin Anda gunakan. | mcr.microsoft.com/azure-cognitive-services/form-recognizer/invoice |
{LICENSE_MOUNT} |
Jalur di mana lisensi akan diunduh, dan dipasang. | /volume/license:/path/to/license/directory |
{ENDPOINT_URI} |
Titik akhir untuk mengautentikasi permintaan layanan Anda. Anda dapat menemukannya di halaman Kunci dan titik akhir sumber daya Anda, di portal Microsoft Azure. | https://<your-custom-subdomain>.cognitiveservices.azure.com |
{API_KEY} |
Kunci untuk sumber daya Text Analytics Anda. Anda dapat menemukannya di halaman Kunci dan titik akhir sumber daya Anda, di portal Microsoft Azure. | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
docker run {IMAGE} --rm -it -p 5000:5000 \
-v {LICENSE_MOUNT} \
eula=accept \
billing={ENDPOINT_URI} \
apikey={API_KEY} \
DownloadLicense=True \
Mounts:License={LICENSE_MOUNT} \
Setelah Anda mengonfigurasi kontainer, gunakan bagian berikutnya untuk menjalankan kontainer di lingkungan Anda dengan lisensi, serta alokasi memori dan CPU yang sesuai.
Menjalankan kontainer di lingkungan yang terputus
Penting
Jika Anda menggunakan Penerjemah, teks ke ucapan neural, atau kontainer ucapan ke teks, baca bagian Parameter tambahan di bawah ini untuk informasi tentang perintah atau parameter tambahan yang perlu Anda gunakan.
Setelah file lisensi diunduh, Anda dapat menjalankan kontainer di lingkungan yang terputus. Contoh berikut menunjukkan pemformatan perintah yang docker run akan Anda gunakan, dengan nilai tempat penampung. Ganti nilai tempat penampung dengan nilai Anda sendiri.
Di mana pun kontainer dijalankan, file lisensi harus dipasang ke kontainer dan lokasi folder lisensi pada sistem file lokal kontainer harus ditentukan dengan Mounts:License=. Mount output juga harus ditentukan sehingga catatan penggunaan penagihan dapat ditulis.
| Tempat penampung | Nilai | Format atau contoh |
|---|---|---|
{IMAGE} |
Gambar kontainer yang ingin Anda gunakan. | mcr.microsoft.com/azure-cognitive-services/form-recognizer/invoice |
{MEMORY_SIZE} |
Ukuran memori yang sesuai untuk dialokasikan untuk kontainer Anda. | 4g |
{NUMBER_CPUS} |
Jumlah CPU yang sesuai untuk dialokasikan untuk kontainer Anda. | 4 |
{LICENSE_MOUNT} |
Jalur di mana lisensi akan berada dan dipasang. | /volume/license:/path/to/license/directory |
{OUTPUT_PATH} |
Jalur output untuk mencatat catatan penggunaan. | /host/output:/path/to/output/directory |
docker run {IMAGE} --rm -it -p 5000:5000 --memory {MEMORY_SIZE} --cpus {NUMBER_CPUS} \
-v {LICENSE_MOUNT} \
-v {OUTPUT_PATH} \
eula=accept \
Mounts:License={LICENSE_MOUNT}
Mounts:Output={OUTPUT_PATH}
Parameter dan perintah tambahan
Lihat bagian berikut untuk parameter dan perintah tambahan yang mungkin Anda perlukan untuk menjalankan kontainer.
Kontainer penerjemah
Jika Anda menggunakan kontainer Penerjemah, Anda harus menambahkan parameter untuk model terjemahan yang diunduh dan konfigurasi kontainer. Nilai-nilai ini dihasilkan dan ditampilkan dalam output kontainer saat Anda mengonfigurasi kontainer seperti yang dijelaskan di atas. Contohnya:
-e MODELS= /path/to/model1/, /path/to/model2/
-e TRANSLATORSYSTEMCONFIG=/path/to/model/config/translatorsystemconfig.json
Kontainer ucapan ke teks dan Neural teks ke ucapan
Kontainer ucapan ke teks dan teks ke ucapan neural menyediakan direktori default untuk menulis file lisensi dan log penagihan saat runtime. Saat Anda memasang direktori ini ke kontainer dengan perintah docker run -v, pastikan direktori mesin lokal diatur kepemilikannya ke user:group nonroot:nonroot sebelum menjalankan kontainer.
Di bawah ini adalah perintah sampel untuk mengatur kepemilikan file /direktori.
sudo chown -R nonroot:nonroot <YOUR_LOCAL_MACHINE_PATH_1> <YOUR_LOCAL_MACHINE_PATH_2> ...
Rekaman Penggunaan
Saat mengoperasikan kontainer Docker di lingkungan yang terputus, kontainer akan menulis catatan penggunaan ke volume di mana mereka dikumpulkan dari waktu ke waktu. Anda juga dapat menghubungi titik akhir REST untuk membuat laporan tentang penggunaan layanan.
Argumen untuk menyimpan log
Saat dijalankan di lingkungan yang terputus, dudukan output harus tersedia ke kontainer untuk menyimpan log penggunaan. Misalnya, Anda akan menyertakan -v /host/output:{OUTPUT_PATH} dan Mounts:Output={OUTPUT_PATH} dalam contoh di bawah ini, mengganti {OUTPUT_PATH} dengan jalur tempat log akan disimpan:
docker run -v /host/output:{OUTPUT_PATH} ... <image> ... Mounts:Output={OUTPUT_PATH}
Mendapatkan catatan menggunakan titik akhir kontainer
Kontainer menyediakan dua titik akhir untuk mengembalikan catatan tentang penggunaannya.
Dapatkan semua catatan
Titik akhir berikut akan memberikan laporan yang merangkum semua penggunaan yang dikumpulkan di direktori catatan penagihan yang dipasang.
https://<service>/records/usage-logs/
Ini akan mengembalikan JSON yang mirip dengan contoh di bawah ini.
{
"apiType": "noop",
"serviceName": "noop",
"meters": [
{
"name": "Sample.Meter",
"quantity": 253
}
]
}
Dapatkan rekaman untuk bulan tertentu
Titik akhir berikut akan memberikan laporan yang merangkum penggunaan selama bulan dan tahun tertentu.
https://<service>/records/usage-logs/{MONTH}/{YEAR}
itu akan mengembalikan respons JSON yang mirip dengan contoh di bawah ini:
{
"apiType": "string",
"serviceName": "string",
"meters": [
{
"name": "string",
"quantity": 253
}
]
}
Membeli paket komitmen yang berbeda untuk kontainer yang terputus
Rencana komitmen untuk kontainer yang terputus memiliki periode komitmen tahun kalender. Ketika Anda membeli paket, Anda akan dikenakan harga penuh segera. Selama periode komitmen, Anda tidak dapat mengubah rencana komitmen Anda, namun Anda dapat membeli unit tambahan dengan harga pro-rated untuk hari-hari yang tersisa dalam setahun. Anda memiliki hingga tengah malam (UTC) pada hari terakhir komitmen Anda, sampai menyelesaikan paket komitmen.
Anda dapat memilih paket komitmen yang berbeda dalam pengaturan harga Tingkat Komitmen sumber daya Anda.
Mengakhiri paket komitmen
Jika Anda memutuskan bahwa Anda tidak ingin terus membeli paket komitmen, Anda dapat mengatur perpanjangan otomatis sumber daya Anda ke Jangan memperpanjang secara otomatis. Paket komitmen Anda akan berakhir pada tanggal akhir komitmen yang ditampilkan. Setelah tanggal ini, Anda tidak akan dikenakan biaya untuk paket komitmen. Anda akan dapat terus menggunakan sumber daya Azure untuk melakukan panggilan API, dan Anda akan dikenakan biaya sesuai pemakaian. Anda memiliki hingga tengah malam (UTC) pada hari terakhir dalam setahun komitmen Anda, sampai menyelesaikan paket komitmen untuk kontainer terputus, dan tidak dikenakan biaya untuk tahun berikutnya.
Pemecahan Masalah
Jika Anda menjalankan kontainer dengan pemasangan output dan mengaktifkan pengelogan, kontainer menghasilkan file log yang berguna untuk memecahkan masalah yang terjadi saat Anda memulai atau menjalankan kontainer.
Tip
Untuk informasi dan panduan pemecahan masalah lainnya, lihat Kontainer terputus Pertanyaan yang sering diajukan (FAQ).
