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ı Lication Insights 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
, Billing
ve 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=1 sistem 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:ConnectionString | 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 | StorageTimeToLiveInMinutes | 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
ApplicationInsights ayarı
Bu ApplicationInsights
ayar kapsayıcınıza Azure Uygulaması lication Insights telemetri desteği eklemenize olanak tanır. Application Insights 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 Application Insights örneğinin izleme anahtarı. Daha fazla bilgi için bkz . ASP.NET Core için Application Insights. Ö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 |
Tamsayı | Fluentd sunucusunun bağlantı noktası. Varsayılan değer 24224'dür. |
HeartbeatMs |
Tamsayı | 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 |
Tamsayı | Gönderme işlemleri için ayrılan bayt cinsinden ağ arabelleği alanı. Varsayılan değer 32768 bayttır (32 kilobayt). |
TlsConnectionEstablishmentTimeoutMs |
Tamsayı | 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 dbug
hata 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 |
Tamsayı | 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 , Billing
ve 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
- Kapsayıcıları yükleme ve çalıştırma makalesini gözden geçirin.