Okuma OCR Docker kapsayıcılarını yapılandırma

Komut bağımsız değişkenlerini kullanarak Azure AI Vision Read OCR kapsayıcısının docker run çalışma zamanı ortamını yapılandırabilirsiniz. Bu kapsayıcının birkaç gerekli ayarı ve birkaç isteğe bağlı ayarı vardır. Komutun birkaç örneği mevcuttur. Kapsayıcıya özgü ayarlar faturalama ayarlarıdır.

Yapılandırma ayarları

Kapsayıcı aşağıdaki yapılandırma ayarlarına sahiptir:

Zorunlu Ayar Purpose
Yes ApiKey Fatura bilgilerini izler.
Hayır ApplicationInsights Kapsayıcınıza Azure Uygulaması Analizler telemetri desteği eklenmesini sağlar.
Yes Faturalandırma Azure'daki hizmet kaynağının uç nokta URI'sini belirtir.
Yes Eula Kapsayıcının lisansını kabul ettiğinizi gösterir.
Hayır Fluentd Günlük ve isteğe bağlı olarak ölçüm verilerini Fluentd sunucusuna yazar.
Hayır HTTP Ara Sunucusu Giden istekler yapmak için bir HTTP ara sunucusu yapılandırılır.
Hayır Günlüğe kaydetme Kapsayıcınız için ASP.NET Core günlük kaydı desteği sağlar.
Hayır Bağlar Konak bilgisayardan kapsayıcıya ve kapsayıcıdan ana bilgisayara verileri okur ve yazar.

Önemli

ApiKey, Billingve Eula ayarları birlikte kullanılır ve üçü için de geçerli değerler sağlamanız gerekir; aksi takdirde kapsayıcınız başlatılmaz. Kapsayıcı örneği oluşturmak için bu yapılandırma ayarlarını kullanma hakkında daha fazla bilgi için bkz . Faturalama.

Kapsayıcı ayrıca aşağıdaki kapsayıcıya özgü yapılandırma ayarlarına sahiptir:

Zorunlu Ayar Purpose
Hayır ReadEngineConfig:ResultExpirationPeriod Yalnızca v2.0 kapsayıcıları. Sonuç süre sonu saat cinsinden. Varsayılan değer 48 saattir. ayarı, sistemin tanıma sonuçlarını ne zaman temizlemesi gerektiğini belirtir. Örneğin, ise resultExpirationPeriod=1sistem işlemden 1 saat sonra tanıma sonucunu temizler. ise resultExpirationPeriod=0, sonuç alındıktan sonra sistem tanıma sonucunu temizler.
Hayır Cache:Redis Yalnızca v2.0 kapsayıcıları. Sonuçları depolamak için Redis depolamayı etkinleştirir. Birden çok okuma OCR kapsayıcısı bir yük dengeleyicinin arkasına yerleştirilirse önbellek gerekir .
Hayır Kuyruk:RabbitMQ Yalnızca v2.0 kapsayıcıları. Görevleri göndermek için RabbitMQ'yi etkinleştirir. Bu ayar, birden çok okuma OCR kapsayıcısı bir yük dengeleyicinin arkasına yerleştirildiğinde kullanışlıdır.
Hayır Kuyruk:Azure:QueueVisibilityTimeoutInMilliseconds Yalnızca v3.x kapsayıcıları. Başka bir çalışan tarafından işlenirken iletinin görünmez olması için gereken süre.
Hayır Depolama::D ocumentStore::MongoDB Yalnızca v2.0 kapsayıcıları. Kalıcı sonuç depolaması için MongoDB'ye olanak tanır.
Hayır Depolama:ObjectStore:AzureBlob:Bağlan ionString Yalnızca v3.x kapsayıcıları. Azure blob depolama bağlantı dizesi.
Hayır Depolama:TimeToLiveInDays Yalnızca v3.x kapsayıcıları. Gün cinsinden sonuç süre sonu. ayarı, sistemin tanıma sonuçlarını ne zaman temizlemesi gerektiğini belirtir. Varsayılan değer 2 gündür ve bu da herhangi bir sonucun bu süreden daha uzun süre canlı olarak alınacağı anlamına gelir. Değer tamsayıdır ve 1 gün ile 7 gün arasında olmalıdır.
Hayır Depolama TimeToLiveInMinutes v3.2-model-2021-09-30-preview ve yeni kapsayıcılar. Dakika cinsinden sonuç süre sonu. ayarı, sistemin tanıma sonuçlarını ne zaman temizlemesi gerektiğini belirtir. Varsayılan değer 2 gündür (2880 dakika), başka bir deyişle bu süreden daha uzun süre canlı sonuç alınması garanti edilmemektedir. Değer tamsayıdır ve 60 dakika ile 7 gün (10080 dakika) arasında olmalıdır.
Hayır Görev:MaxRunningTimeSpanInMinutes Yalnızca v3.x kapsayıcıları. Tek bir istek için maksimum çalışma süresi. Varsayılan değer 60 dakikadır.
Hayır EnableSyncNTPServer v3.2-model-2021-09-30-preview ve daha yeni kapsayıcılar dışında yalnızca v3.x kapsayıcıları. Sistem saati ile beklenen görev çalışma zamanı arasında eşitlemeyi sağlayan NTP sunucu eşitleme mekanizmasını etkinleştirir. Bunun için dış ağ trafiği gerektiğini unutmayın. Varsayılan değer: true.
Hayır NTPServerAddress v3.2-model-2021-09-30-preview ve daha yeni kapsayıcılar dışında yalnızca v3.x kapsayıcıları. Zaman eşitlemesi için NTP sunucusu. Varsayılan değer: time.windows.com.
Hayır Bağlamalar:Paylaşılan Yalnızca v3.x kapsayıcıları. Tanıma sonucunu depolamak için yerel klasör. Varsayılan değer: /share. Kapsayıcıyı Azure blob depolama kullanmadan çalıştırmak için, tanıma sonuçları için yeterli alana sahip olduğunuzdan emin olmak için bu klasöre bir birim bağlamanızı öneririz.

ApiKey yapılandırma ayarı

ayarı, ApiKey kapsayıcının faturalama bilgilerini izlemek için kullanılan Görüntü İşleme kaynak anahtarını belirtir. ApiKey için bir değer belirtmeniz ve değerin yapılandırma ayarı için belirtilen Görüntü İşleme kaynağı için Billing geçerli bir anahtar olması gerekir.

Bu ayar aşağıdaki yerde bulunabilir:

  • Azure portalı: Anahtarlar altında Azure AI hizmetleri Kaynak Yönetimi

Uygulama Analizler ayarı

Bu ApplicationInsights ayar, kapsayıcınıza Azure Uygulaması Analizler telemetri desteği eklemenize olanak tanır. Uygulama Analizler kapsayıcınızın derinlemesine izlenmesini sağlar. Kullanılabilirlik, performans ve kullanım için kapsayıcınızı kolayca izleyebilirsiniz. Ayrıca kapsayıcınızdaki hataları hızla belirleyebilir ve tanılayabilirsiniz.

Aşağıdaki tabloda, bölümü altında ApplicationInsights desteklenen yapılandırma ayarları açıklanmaktadır.

Zorunlu Veri Akışı Adı Veri türü Açıklama
Hayır InstrumentationKey String Kapsayıcı için telemetri verilerinin gönderildiği Uygulama Analizler örneğinin izleme anahtarı. Daha fazla bilgi için bkz. ASP.NET Core için Uygulama Analizler.

Örnek:
InstrumentationKey=123456789

Faturalama yapılandırma ayarı

ayarı, Billing kapsayıcının faturalama bilgilerini ölçerken kullanılan Azure'daki Azure AI hizmetleri kaynağının uç nokta URI'sini belirtir. Bu yapılandırma ayarı için bir değer belirtmeniz ve değerin Azure'daki bir Azure AI hizmetleri kaynağı için geçerli bir uç nokta URI'si olması gerekir. Kapsayıcı yaklaşık 10-15 dakikada bir kullanımı bildirir.

Bu ayar aşağıdaki yerde bulunabilir:

  • Azure portalı: Azure yapay zeka hizmetlerine genel bakış, etiketli Endpoint

Aşağıdaki tabloda gösterildiği gibi yönlendirmeyi uç nokta URI'sine eklemeyi vision/<version> unutmayın.

Zorunlu Veri Akışı Adı Veri türü Açıklama
Yes Billing String Faturalama uç noktası URI'si

Örnek:
Billing=https://westcentralus.api.cognitive.microsoft.com/vision/v3.2

Eula ayarı

Eula ayarı, kapsayıcının lisansını kabul ettiğinizi gösterir. Bu yapılandırma ayarı için bir değer belirtmelisiniz ve değeri olarak ayarlanmalıdır accept.

Zorunlu Veri Akışı Adı Veri türü Açıklama
Yes Eula String Lisans kabulü

Örnek:
Eula=accept

Azure yapay zeka hizmetleri kapsayıcıları, Azure kullanımınızı yöneten sözleşmeniz kapsamında lisanslandırılır. Azure kullanımınızı yöneten mevcut bir sözleşmeniz yoksa, Azure kullanımını düzenleyen sözleşmenizin, Çevrimiçi Hizmetler Koşulları'nı içeren Microsoft Çevrimiçi Abonelik Sözleşmesi olduğunu kabul edersiniz. Önizlemeler için Microsoft Azure Önizlemeleri için Ek Kullanım Koşulları'nı da kabul edersiniz. Kapsayıcıyı kullanarak bu koşulları kabul etmiş olursunuz.

Fluentd ayarları

Fluentd, birleşik günlük kaydı için açık kaynak bir veri toplayıcıdır. Ayarlar kapsayıcının Fluentd Fluentd sunucusuyla bağlantısını yönetir. Kapsayıcı, kapsayıcınızın fluentd sunucusuna günlükleri ve isteğe bağlı olarak ölçüm verilerini yazmasına olanak tanıyan bir Fluentd günlük sağlayıcısı içerir.

Aşağıdaki tabloda, bölümü altında Fluentd desteklenen yapılandırma ayarları açıklanmaktadır.

Veri Akışı Adı Veri türü Açıklama
Host String Fluentd sunucusunun IP adresi veya DNS ana bilgisayar adı.
Port Tam sayı Fluentd sunucusunun bağlantı noktası.
Varsayılan değer 24224'dür.
HeartbeatMs Tam sayı Milisaniye cinsinden sinyal aralığı. Bu süre dolmadan önce hiçbir olay trafiği gönderilmediyse Fluentd sunucusuna bir sinyal gönderilir. Varsayılan değer 60000 milisaniyedir (1 dakika).
SendBufferSize Tam sayı Gönderme işlemleri için ayrılan bayt cinsinden ağ arabelleği alanı. Varsayılan değer 32768 bayttır (32 kilobayt).
TlsConnectionEstablishmentTimeoutMs Tam sayı Fluentd sunucusuyla SSL/TLS bağlantısı kurmak için milisaniye cinsinden zaman aşımı. Varsayılan değer 10000 milisaniyedir (10 saniye).
false olarak ayarlanırsa UseTLS , bu değer yoksayılır.
UseTLS Boolean Kapsayıcının Fluentd sunucusuyla iletişim kurmak için SSL/TLS kullanıp kullanmayacağını gösterir. Varsayılan değer olarak yanlış kullanılır.

HTTP proxy kimlik bilgileri ayarları

Giden istekler yapmak için bir HTTP ara sunucusu yapılandırmanız gerekiyorsa, şu iki bağımsız değişkeni kullanın:

Veri Akışı Adı Veri türü Açıklama
HTTP_PROXY Dize Kullanılacak ara sunucu, örneğin, http://proxy:8888
<proxy-url>
HTTP_PROXY_CREDS Dize Proxy'de kimlik doğrulaması yapmak için gereken tüm kimlik bilgileri, örneğin, username:password. Bu değer küçük harfle yazılmalıdır.
<proxy-user> Dize Ara sunucu için kullanıcı.
<proxy-password> Dize Ara sunucu için ile <proxy-user> ilişkilendirilmiş parola.
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> \

Günlüğe kaydetme ayarları

Ayarlar Logging , kapsayıcınız için ASP.NET Core günlük desteğini yönetir. Kapsayıcınız için bir ASP.NET Core uygulaması için kullandığınız yapılandırma ayarlarını ve değerlerini kullanabilirsiniz.

Aşağıdaki günlük sağlayıcıları kapsayıcı tarafından desteklenir:

Provider Purpose
Konsol ASP.NET Core Console günlük sağlayıcısı. Bu günlük sağlayıcısı için tüm ASP.NET Core yapılandırma ayarları ve varsayılan değerler desteklenir.
Hata Ayıklama ASP.NET Core Debug günlük sağlayıcısı. Bu günlük sağlayıcısı için tüm ASP.NET Core yapılandırma ayarları ve varsayılan değerler desteklenir.
Disk JSON günlük sağlayıcısı. Bu günlük sağlayıcısı günlük verilerini çıkış bağlamasına yazar.

Bu kapsayıcı komutu, günlük bilgilerini JSON biçiminde çıkış bağlamasına depolar:

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

Bu kapsayıcı komutu, kapsayıcı çalışırken ile ön ekli dbughata ayıklama bilgilerini gösterir:

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

Disk günlüğü

Günlük Disk sağlayıcısı aşağıdaki yapılandırma ayarlarını destekler:

Veri Akışı Adı Veri türü Açıklama
Format String Günlük dosyalarının çıkış biçimi.
Not: Günlük sağlayıcısını json etkinleştirmek için bu değer olarak ayarlanmalıdır. Bu değer kapsayıcı örneği oluşturulurken çıkış bağlaması belirtilmeden belirtilirse bir hata oluşur.
MaxFileSize Tam sayı Günlük dosyasının megabayt (MB) cinsinden en büyük boyutu. Geçerli günlük dosyasının boyutu bu değeri karşıladığında veya aştığında, günlük sağlayıcısı tarafından yeni bir günlük dosyası başlatılır. -1 belirtilirse, günlük dosyasının boyutu yalnızca çıktı bağlaması için en büyük dosya boyutuyla (varsa) sınırlıdır. Varsayılan değer 1 şeklindedir.

ASP.NET Core günlük kaydını yapılandırma hakkında daha fazla bilgi için bkz. Ayarlar dosya yapılandırması.

Bağlama ayarları

Kapsayıcıya ve kapsayıcıdan veri okumak ve yazmak için bağlama bağlamalarını kullanın. Docker run komutunda seçeneğini belirterek --mount bir giriş bağlaması veya çıkış bağlaması belirtebilirsiniz.

Azure AI Vision kapsayıcıları, eğitim veya hizmet verilerini depolamak için giriş veya çıkış bağlamaları kullanmaz.

Konak bağlama konumunun tam söz dizimi, konak işletim sistemine bağlı olarak değişir. Ayrıca, Docker hizmet hesabı tarafından kullanılan izinlerle ana bilgisayar bağlama konumu izinleri arasındaki çakışma nedeniyle ana bilgisayarın bağlama konumuna erişilemiyor olabilir.

İsteğe bağlı Veri Akışı Adı Veri türü Açıklama
İzin verilmiyor Input String Azure AI Vision kapsayıcıları bunu kullanmaz.
İsteğe bağlı Output String Çıkış bağlamasının hedefi. Varsayılan değer şudur: /output. Bu, günlüklerin konumudur. Buna kapsayıcı günlükleri dahildir.

Örnek:
--mount type=bind,src=c:\output,target=/output

Örnek docker çalıştırma komutları

Aşağıdaki örneklerde, komutların nasıl yazılıp kullanılacağını göstermek için yapılandırma ayarları kullanılır docker run . Çalıştırıldıktan sonra, siz durdurana kadar kapsayıcı çalışmaya devam eder.

  • Satır devamlılığı karakteri: Aşağıdaki bölümlerdeki Docker komutları, \satır devamı karakteri olarak ters eğik çizgi (, ) kullanır. Bunu konak işletim sisteminizin gereksinimlerine göre değiştirin veya kaldırın.
  • Bağımsız değişken sırası: Docker kapsayıcılarına çok aşina değilseniz bağımsız değişkenlerin sırasını değiştirmeyin.

{argument_name} öğesini kendi değerlerinizle değiştirin:

Yer tutucu Değer Biçim veya örnek
{API_KEY} Kaynak anahtarları sayfasındaki Görüntü İşleme kaynağının uç nokta anahtarı. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
{ENDPOINT_URI} Faturalama uç noktası değeri kaynağa genel bakış sayfasında bulunur. Açık örnekler için bkz . gerekli parametreleri toplama.

Not

1 Temmuz 2019'da oluşturulan yeni kaynaklar özel alt etki alanı adlarını kullanacaktır. Daha fazla bilgi ve bölgesel uç noktaların tam listesi için bkz . Azure AI hizmetleri için özel alt etki alanı adları.

Önemli

Kapsayıcıyı Eulaçalıştırmak için , Billingve ApiKey seçenekleri belirtilmelidir; aksi takdirde kapsayıcı başlatılmaz. Daha fazla bilgi için bkz . Faturalama. ApiKey değeri, Görüntü İşleme kaynak anahtarları sayfasındaki Anahtar'dır.

Kapsayıcı Docker örnekleri

Read OCR kapsayıcısı için aşağıdaki Docker örnekleri verilmiştir.

Temel örnek

docker run --rm -it -p 5000:5000 --memory 16g --cpus 8 \
mcr.microsoft.com/azure-cognitive-services/vision/read:3.2-model-2022-04-30 \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}

Günlüğe kaydetme örneği

docker run --rm -it -p 5000:5000 --memory 16g --cpus 8 \
mcr.microsoft.com/azure-cognitive-services/vision/read:3.2-model-2022-04-30 \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}
Logging:Console:LogLevel:Default=Information

Sonraki adımlar