Konuşma hizmeti kapsayıcılarını yapılandırma

Konuşma kapsayıcıları, müşterilerin hem güçlü bulut özelliklerinden hem de uç yerelliğinden yararlanmak için iyileştirilmiş tek bir konuşma uygulaması mimarisi oluşturmasına olanak tanır.

Konuşma kapsayıcısı çalışma zamanı ortamı, komut bağımsız değişkenleri kullanılarak docker run yapılandırılır. Bu kapsayıcının bazı gerekli ve isteğe bağlı ayarları vardır. 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.

ApiKey yapılandırma ayarı

ayarı, ApiKey kapsayıcının faturalama bilgilerini izlemek için kullanılan Azure kaynak anahtarını belirtir. ApiKey için bir değer belirtmeniz ve değerin yapılandırma ayarı için belirtilen Konuşma kaynağı için Billing geçerli bir anahtar olması gerekir.

Bu ayar aşağıdaki yerde bulunabilir:

  • Azure portalı: Konuşma Kaynağı Yönetimi, Anahtarlar altında

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 Konuşma kaynağının uç nokta URI'sini belirtir. Bu yapılandırma ayarı için bir değer belirtmeniz ve değerin Azure'daki konuşma 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ı: Konuşmaya genel bakış sayfasında etiketlenmiştir Endpoint
Zorunlu Veri Akışı Adı Veri türü Açıklama
Yes Billing String Faturalama uç noktası URI'si. Faturalama URI'sini alma hakkında daha fazla bilgi için bkz . faturalama. Daha fazla bilgi ve bölgesel uç noktaların tam listesi için bkz . Azure AI hizmetleri için özel alt etki alanı adları.

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.

Standart Konuşma kapsayıcıları, eğitim veya hizmet verilerini depolamak için giriş veya çıkış bağlamaları kullanmaz. Ancak, özel konuşma kapsayıcıları birim bağlamalarına dayanır.

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 Standart Konuşma kapsayıcıları bunu kullanmaz. Özel konuşma kapsayıcıları birim bağlamalarını kullanır.
İ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

Birim bağlama ayarları

Özel konuşma kapsayıcıları, özel modelleri kalıcı hale getirmek için birim bağlamalarını kullanır. Docker run komutuna -v (veya --volume) seçeneğini ekleyerek bir birim bağlaması belirtebilirsiniz.

Not

Birim bağlama ayarları yalnızca metin kapsayıcılarına özel konuşma için geçerlidir.

Özel modeller, özel konuşma kapsayıcısı docker run komutunun bir parçası olarak yeni bir model ilk kez alınışında indirilir. Özel konuşma kapsayıcısı için aynı ModelId sıralı çalıştırmalar, daha önce indirilen modeli kullanır. Birim bağlaması sağlanmamışsa, özel modeller kalıcı olamaz.

Birim bağlama ayarı üç renkle : ayrılmış alandan oluşur:

  1. İlk alan, konak makinedeki birimin adıdır, örneğin C:\input.
  2. İkinci alan kapsayıcıdaki dizindir, örneğin /usr/local/models.
  3. Üçüncü alan (isteğe bağlı) virgülle ayrılmış bir seçenek listesidir. Daha fazla bilgi için bkz . birimleri kullanma.

C:\input dizinini kapsayıcılar /usr/local/models dizinine bağlayan bir birim bağlama örneği aşağıda verilmiştir.

-v C:\input:/usr/local/models

Sonraki adımlar

  • Kapsayıcıları yükleme ve çalıştırma makalesini gözden geçirin