Bagikan melalui


Mengonfigurasi kontainer Kecerdasan Dokumen

Dukungan untuk kontainer saat ini tersedia dengan versi 2022-08-31 (GA) Kecerdasan Dokumen untuk semua model dan 2023-07-31 (GA) untuk model Dokumen Baca, Tata Letak, Faktur, Tanda Terima, dan ID:

✔️ Lihat Mengonfigurasi kontainer Kecerdasan Dokumen v3.0 untuk dokumentasi kontainer yang didukung.

Konten ini berlaku untuk:tanda centangv3.0 (GA)tanda centangv3.1 (GA)

Dengan kontainer Kecerdasan Dokumen, Anda dapat membangun arsitektur aplikasi yang dioptimalkan untuk memanfaatkan kemampuan cloud yang kuat dan lokalitas tepi. Kontainer menyediakan lingkungan minimalis dan terisolasi yang dapat disebarkan dengan mudah secara lokal dan di cloud. Dalam artikel ini, kami menunjukkan kepada Anda cara mengonfigurasi lingkungan run-time kontainer Kecerdasan Dokumen dengan menggunakan docker compose argumen perintah. Fitur Kecerdasan Dokumen didukung oleh tujuh kontainer fitur Kecerdasan Dokumen—Baca, Tata Letak, Kartu Nama, Dokumen ID, Tanda Terima, Faktur, Kustom. Kontainer ini memiliki pengaturan wajib dan opsional. Untuk beberapa contoh, lihat bagian Contoh docker-file compose.yml.

Pengaturan konfigurasi

Kontainer memiliki pengaturan konfigurasi berikut:

Wajib Pengaturan Tujuan
Ya Kunci Melacak informasi penagihan.
Ya Billing Menentukan URI titik akhir sumber daya layanan di Azure. Untuk informasi selengkapnya, lihatTagihan. Untuk informasi selengkapnya dan daftar lengkap titik akhir regional, lihatNama subdomain kustom untuk layanan Azure AI.
Ya Eula Menunjukkan bahwa Anda menerima lisensi untuk kontainer.
No ApplicationInsights Memungkinkan penambahan dukungan pelanggan Azure Application Insights untuk kontainer Anda.
No Fluentd Menulis log dan, secara opsional, data metrik ke server Fluentd.
No Proksi HTTP Mengonfigurasi proksi HTTP untuk membuat permintaan keluar.
No Pembuatan Log Memberikan dukungan pengelogan ASP.NET Core untuk kontainer Anda.

Penting

Pengaturan Key, Billing, dan Eula digunakan bersama. Anda harus memberikan nilai yang valid untuk ketiga pengaturan; jika tidak, kontainer Anda tidak akan mulai. Untuk informasi selengkapnya tentang menggunakan pengaturan konfigurasi ini untuk membuat instans kontainer, lihat Tagihan.

Pengaturan konfigurasi Kunci dan Penagihan

Key Pengaturan menentukan kunci sumber daya Azure yang digunakan untuk melacak informasi penagihan untuk kontainer. Nilai untuk Kunci harus menjadi kunci yang valid untuk sumber daya yang ditentukan di Billing bagian "Pengaturan konfigurasi penagihan".

Pengaturan Billing menentukan URI titik akhir sumber daya di Azure yang digunakan untuk mengukur informasi penagihan untuk kontainer. Nilai untuk setelan konfigurasi ini harus berupa URI titik akhir yang valid untuk sumber daya di Azure. Kontainer melaporkan penggunaan sekitar setiap 10 hingga 15 menit.

Anda dapat menemukan pengaturan ini di halaman Kunci dan Titik Akhir portal Microsoft Azure.

Cuplikan layar kunci portal Azure dan halaman titik akhir.

Pengaturan EULA

Pengaturan Eula menunjukkan bahwa Anda telah menerima lisensi untuk kontainer. Anda harus menentukan nilai untuk pengaturan konfigurasi ini, dan nilainya harus diatur ke accept.

Wajib Nama Jenis data Deskripsi
Ya Eula String Penerimaan lisensi

Contoh:
Eula=accept

Kontainer layanan Azure AI dilisensikan berdasarkan perjanjian Anda yang mengatur penggunaan Azure. Jika Anda tidak memiliki perjanjian yang sudah ada yang mengatur penggunaan Azure oleh Anda, Anda setuju bahwa perjanjian yang mengatur penggunaan Azure adalah Perjanjian Langganan Microsoft Online, yang menggabungkan Ketentuan Layanan Online. Untuk pratinjau, Anda juga menyetujui Ketentuan Penggunaan Tambahan untuk Pratinjau Microsoft Azure. Dengan menggunakan kontainer, Anda menyetujui persyaratan ini.

Pengaturan ApplicationInsights

Pengaturan ApplicationInsights memungkinkan Anda menambahkan dukungan telemetri Azure Application Insights ke kontainer Anda. Application Insights menyediakan pemantauan mendalam kontainer Anda. Anda dapat dengan mudah memantau kontainer Anda untuk mengetahui ketersediaan, performa, dan penggunaan. Anda juga dapat dengan cepat mengidentifikasi dan mendiagnosis kesalahan dalam kontainer Anda.

Tabel berikut menjelaskan pengaturan konfigurasi yang didukung di bawah bagian ApplicationInsights.

Wajib Nama Jenis data Deskripsi
No InstrumentationKey String Kunci instrumentasi instans Application Insights tempat data telemetri untuk kontainer dikirim. Untuk mengetahui informasi selengkapnya, lihat Application Insights untuk ASP.NET Core.

Contoh:
InstrumentationKey=123456789

Pengaturan Fluentd

Fluentd adalah kolektor data sumber terbuka untuk pengelogan terpadu. Pengaturan Fluentd mengelola koneksi kontainer ke server Fluentd. Kontainer ini mencakup penyedia pembuatan log Fluentd, yang memungkinkan kontainer Anda menulis log dan, secara opsional, data metrik ke server Fluentd.

Tabel berikut menjelaskan pengaturan konfigurasi yang didukung di bawah bagian Fluentd.

Nama Jenis data Deskripsi
Host String Alamat IP atau nama host DNS server Fluentd.
Port Bilangan bulat Port server Fluentd.
Nilai defaultnya adalah 24224.
HeartbeatMs Bilangan bulat Interval heartbeat, dalam milidetik. Jika tidak ada lalu lintas peristiwa yang dikirim sebelum interval ini berakhir, heartbeat dikirim ke server Fluentd. Nilai defaultnya adalah 60000 milidetik (1 menit).
SendBufferSize Bilangan bulat Ruang buffer jaringan, dalam byte, dialokasikan untuk operasi pengiriman. Nilai default adalah 32768 byte (32 kilobyte).
TlsConnectionEstablishmentTimeoutMs Bilangan bulat Waktu habis, dalam hitungan milidetik, untuk membangun sambungan SSL/TLS dengan server Fluentd. Nilai defaultnya adalah 10000 milidetik (10 detik).
Jika UseTLS diatur ke false, nilai ini diabaikan.
UseTLS Boolean Menunjukkan apakah kontainer harus menggunakan SSL/TLS untuk berkomunikasi dengan server Fluentd. Nilai defaultnya adalah false.

Pengaturan info masuk proksi HTTP

Jika Anda perlu mengonfigurasi proxy HTTP untuk membuat permintaan keluar, gunakan dua argumen berikut:

Nama Jenis data Deskripsi
HTTP_PROXY string Proksi yang akan digunakan, misalnya, http://proxy:8888
<proxy-url>
HTTP_PROXY_CREDS string Kredensial apa pun yang diperlukan untuk mengautentikasi terhadap proxy, misalnya, username:password. Nilai ini harus dalam huruf kecil.
<proxy-user> string Pengguna untuk proksi.
<proxy-password> string Kata sandi yang terkait dengan <proxy-user> untuk proksi.
docker run --rm -it -p 5000:5000 \
--memory 2g --cpus 1 \
--mount type=bind,src=/home/azureuser/output,target=/output \
<registry-location>/<image-name> \
Eula=accept \
Billing=<endpoint> \
ApiKey=<api-key> \
HTTP_PROXY=<proxy-url> \
HTTP_PROXY_CREDS=<proxy-user>:<proxy-password> \

Pengaturan pengelogan

Pengaturan Logging mengelola ASP.NET Core log support untuk kontainer Anda. Anda dapat menggunakan pengaturan konfigurasi dan nilai yang sama untuk kontainer yang Anda gunakan untuk ASP.NET Core.

Penyedia pembuatan log berikut didukung oleh kontainer:

Penyedia Tujuan
Konsol Penyedia log ASP.NET Console Core. Semua pengaturan konfigurasi ASP.NET dan nilai default untuk penyedia pembuatan log ini didukung.
Debug Penyedia log ASP.NET Debug Core. Semua pengaturan konfigurasi ASP.NET dan nilai default untuk penyedia pembuatan log ini didukung.
Hard Penyedia pencatatan log JSON. Penyedia pencatatan log ini menulis data log ke tempat output.

Perintah kontainer ini menyimpan informasi pencatatan dalam format JSON ke tempat output:

docker run --rm -it -p 5000:5000 \
--memory 2g --cpus 1 \
--mount type=bind,src=/home/azureuser/output,target=/output \
<registry-location>/<image-name> \
Eula=accept \
Billing=<endpoint> \
ApiKey=<api-key> \
Logging:Disk:Format=json \
Mounts:Output=/output

Perintah kontainer ini menunjukkan informasi debugging, dia awali dengan dbug, saat kontainer sedang berjalan:

docker run --rm -it -p 5000:5000 \
--memory 2g --cpus 1 \
<registry-location>/<image-name> \
Eula=accept \
Billing=<endpoint> \
ApiKey=<api-key> \
Logging:Console:LogLevel:Default=Debug

Pencatatan log disk

Penyedia pencatatan log Disk mendukung setelan konfigurasi berikut ini:

Nama Jenis data Deskripsi
Format String Format output untuk file log.
Catatan: Nilai ini harus disetel json untuk mengaktifkan penyedia pembuatan log. Jika nilai ini ditentukan tanpa juga menentukan dudukan output saat instantiating kontainer, kesalahan terjadi.
MaxFileSize Bilangan bulat Ukuran maksimum, dalam megabyte (MB), dari file log. Ketika ukuran file log saat ini memenuhi atau melebihi nilai ini, file log baru dimulai oleh penyedia pembuatan log. Jika -1 dispesifikasikan, ukuran berkas log hanya dibatasi oleh ukuran berkas maksimum, jika ada, untuk keluaran mount. Nilai default adalah 1.

Untuk informasi selengkapnya tentang mengonfigurasi ASP.NET log Core, lihat Pengaturan konfigurasi file.

Pengaturan volume

Gunakan volume untuk membaca dan menulis data ke dan dari kontainer. Volume adalah yang lebih disukai untuk bertahan data yang dihasilkan dan digunakan oleh kontainer Docker. Anda dapat menentukan pemasangan input atau output dengan menyertakan opsi volumes dan menentukan type (bind), source (jalur ke folder) dan target (parameter jalur file).

Kontainer Kecerdasan Dokumen memerlukan volume input dan volume output. Volume input dapat bersifat baca-saja (ro), dan diperlukan untuk akses ke data yang digunakan untuk pelatihan dan penilaian. Volume output harus dapat ditulis, dan Anda menggunakannya untuk menyimpan model dan data sementara.

Sintaks yang tepat untuk lokasi volume host bervariasi tergantung sistem operasi host. Selain itu, lokasi volume komputer host mungkin tidak dapat diakses karena konflik antara izin akun layanan Docker dan izin lokasi pemasangan host.

Contoh file docker-compose.yml

Metode docker compose terdiri dari tiga langkah:

  1. Buat Dockerfile.
  2. Tentukan layanan dalam docker-compose.yml agar dapat dijalankan bersamaan dalam lingkungan yang terisolasi.
  3. Jalankan docker-compose up untuk memulai dan menjalankan layanan Anda.

Contoh kontainer tunggal

Dalam contoh ini, masukkan nilai {FORM_RECOGNIZER_ENDPOINT_URI} dan {FORM_RECOGNIZER_KEY} untuk instans kontainer Tata Letak Anda.

Kontainer tata letak

version: "3.9"
services:
  azure-cognitive-service-layout:
    container_name: azure-cognitive-service-layout
    image: mcr.microsoft.com/azure-cognitive-services/form-recognizer/layout
    environment:
      - EULA=accept
      - billing={FORM_RECOGNIZER_ENDPOINT_URI}
      - key={FORM_RECOGNIZER_KEY}

    ports:
      - "5000"
    networks:
      - ocrvnet
networks:
  ocrvnet:
    driver: bridge

Contoh beberapa kontainer

Kontainer Tanda Terima dan OCR Baca

Dalam contoh ini, masukkan nilai {FORM_RECOGNIZER_ENDPOINT_URI} dan {FORM_RECOGNIZER_KEY} untuk kontainer Tanda Terima Anda dan nilai {COMPUTER_VISION_ENDPOINT_URI} dan {COMPUTER_VISION_KEY} untuk kontainer Baca Visi Azure AI Anda.

version: "3"
services:
  azure-cognitive-service-receipt:
    container_name: azure-cognitive-service-receipt
    image: cognitiveservicespreview.azurecr.io/microsoft/cognitive-services-form-recognizer-receipt:2.1
    environment:
      - EULA=accept
      - billing={FORM_RECOGNIZER_ENDPOINT_URI}
      - key={FORM_RECOGNIZER_KEY}
      - AzureCognitiveServiceReadHost=http://azure-cognitive-service-read:5000
    ports:
      - "5000:5050"
    networks:
      - ocrvnet
  azure-cognitive-service-read:
    container_name: azure-cognitive-service-read
    image: mcr.microsoft.com/azure-cognitive-services/vision/read:3.2
    environment:
      - EULA=accept
      - billing={COMPUTER_VISION_ENDPOINT_URI}
      - key={COMPUTER_VISION_KEY}
    networks:
      - ocrvnet

networks:
  ocrvnet:
    driver: bridge

Langkah berikutnya