Docker ile Konuşma kapsayıcılarını yükleme ve çalıştırma

Kapsayıcıları kullanarak konuşma hizmeti özelliklerinin bir alt kümesini kendi ortamınızda kullanabilirsiniz. Bu makalede Konuşma kapsayıcısını indirmeyi, yüklemeyi ve çalıştırmayı öğreneceksiniz.

Not

Bağlantısız kapsayıcı fiyatlandırması ve taahhüt katmanları standart kapsayıcılardan farklılık gösterir. Daha fazla bilgi için bkz . Konuşma hizmeti fiyatlandırması.

Önkoşullar

Konuşma hizmeti kapsayıcılarını kullanmadan önce aşağıdaki önkoşulları karşılamanız gerekir. Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun. Şunlara sahip olmanız gerekir:

  • Docker bir ana bilgisayara yüklendi. Docker, kapsayıcıların Azure'a bağlanmasına ve faturalama verileri göndermesine izin verecek şekilde yapılandırılmalıdır.
    • Windows'da Docker,Linux kapsayıcılarını destekleyecek şekilde de yapılandırılmalıdır.
    • Docker kavramları hakkında temel bilgilere sahip olmanız gerekir.
  • Ücretsiz (F0) veya standart (S) fiyatlandırma katmanına sahip konuşma hizmeti kaynağı.

Faturalama bağımsız değişkenleri

Konuşma kapsayıcıları, ölçüm için Azure'a bağlanmadan çalıştırılma lisansına sahip değildir. Fatura bilgilerini her zaman ölçüm hizmetiyle iletişim kurmak için kapsayıcınızı yapılandırmanız gerekir.

Tüm Azure AI kapsayıcıları için üç birincil parametre gereklidir. Microsoft Yazılım Lisans Koşulları kabul değeriyle birlikte mevcut olmalıdır. Uç Nokta URI'si ve API anahtarı da gereklidir.

Kapsayıcıya yönelik sorgular, parametre için kullanılan Azure kaynağının fiyatlandırma katmanında ApiKey faturalandırılır.

Komut, docker run aşağıdaki seçeneklerin üçü de geçerli değerlerle sağlandığında kapsayıcıyı başlatır:

Seçenek Açıklama
ApiKey Faturalama bilgilerini izlemek için kullanılan Konuşma kaynağının API anahtarı.
Değer ApiKey kapsayıcıyı başlatmak için kullanılır ve ilgili Konuşma kaynağının Azure portalının Anahtarlar sayfasında kullanılabilir. Anahtarlar sayfasına gidin ve Panoya kopyala simgesini seçin.
Billing Faturalama bilgilerini izlemek için kullanılan Konuşma kaynağının uç noktası.
Uç nokta, ilgili Konuşma kaynağının Azure portalı Genel Bakış sayfasında bulunabilir. Genel Bakış sayfasına gidin, uç noktanın üzerine gelin ve Panoya kopyala simgesi görüntülenir. Gerektiğinde uç noktayı kopyalayın ve kullanın.
Eula Kapsayıcının lisansını kabul ettiğinizi gösterir.
Bu seçeneğin değeri kabul edilecek şekilde ayarlanmalıdır.

Önemli

Bu abonelik anahtarları, Azure AI hizmetleri API'nize erişmek için kullanılır. Anahtarlarınızı paylaşmayın. Bunları güvenli bir şekilde depolayın. Örneğin, Azure Key Vault kullanın. Ayrıca bu anahtarları düzenli olarak yeniden oluşturmanızı öneririz. API çağrısı yapmak için yalnızca bir anahtar gerekir. İlk anahtarı yeniden oluştururken hizmete sürekli erişim için ikinci anahtarı kullanabilirsiniz.

Kapsayıcının çalışması için faturalama bağımsız değişkeni değerleri gerekir. Bu değerler kapsayıcının faturalama uç noktasına bağlanmasına olanak sağlar. Kapsayıcı yaklaşık 10-15 dakikada bir kullanımı bildirir. Kapsayıcı izin verilen zaman penceresinde Azure'a bağlanmazsa, kapsayıcı çalışmaya devam eder ancak faturalama uç noktası geri yüklenene kadar sorgular sunmaz. Bağlantı, 10 ile 15 dakika aynı zaman aralığında 10 kez denenir. 10 denemede faturalama uç noktasına bağlanamazsa kapsayıcı isteklerin sunulmasını durdurur. Faturalama için Microsoft'a gönderilen bilgilerin bir örneği için Azure AI hizmetleri belgelerindeki Azure AI kapsayıcısı hakkında SSS bölümüne bakın.

Bu seçenekler hakkında daha fazla bilgi için bkz . Kapsayıcıları yapılandırma.

Kapsayıcı gereksinimleri ve önerileri

Aşağıdaki tabloda, her Konuşma kapsayıcısı için kaynakların en düşük ve önerilen ayırması açıklanmaktadır:

Kapsayıcı En Küçük Önerilen Konuşma Modeli
Konuşmayı metne dönüştürme 4 çekirdek, 4 GB bellek 8 çekirdek, 8 GB bellek +4 - 8 GB bellek
Özel konuşmayı metne dönüştürme 4 çekirdek, 4 GB bellek 8 çekirdek, 8 GB bellek +4 - 8 GB bellek
Konuşma dili tanımlama 1 çekirdek, 1 GB bellek 1 çekirdek, 1 GB bellek yok
Nöral metin okuma 6 çekirdek, 12 GB bellek 8 çekirdek, 16 GB bellek yok

Her çekirdek en az 2,6 gigahertz (GHz) veya daha hızlı olmalıdır.

Çekirdek ve bellek, komutun --cpus bir parçası olarak kullanılan ve --memory ayarlarına docker run karşılık gelir.

Not

En düşük ve önerilen ayırmalar konak makine kaynaklarına değil Docker sınırlarına bağlıdır. Örneğin, metin kapsayıcılarına konuşma büyük bir dil modelinin bellek eşleme bölümlerini eşler. Dosyanın tamamının belleğe sığması önerilir. Konuşma modellerini yüklemek için 4 ile 8 GB daha eklemeniz gerekir (önceki tabloya bakın). Ayrıca, modeller belleğe çağrıldığından her iki kapsayıcının ilk çalıştırması daha uzun sürebilir.

Konak bilgisayar gereksinimleri ve önerileri

Konak, Docker kapsayıcısını çalıştıran x64 tabanlı bir bilgisayardır. Şirket içi bir bilgisayar veya Azure'da Docker barındırma hizmeti olabilir, örneğin:

Not

Kapsayıcılar, GStreamer kullanarak Konuşma SDK'sına sıkıştırılmış ses girişini destekler. GStreamer'ı bir kapsayıcıya yüklemek için Konuşma SDK'sı ile codec sıkıştırılmış ses girişini kullanma başlığı altındaki GStreamer için Linux yönergelerini izleyin.

Gelişmiş Vektör Uzantısı desteği

Konak, Docker kapsayıcısını çalıştıran bilgisayardır. Ana bilgisayar Gelişmiş Vektör Uzantılarını (AVX2) desteklemelidir. Aşağıdaki komutla Linux konaklarında AVX2 desteğini de kontrol edebilirsiniz:

grep -q avx2 /proc/cpuinfo && echo AVX2 supported || echo No AVX2 support detected

Uyarı

AvX2'yi desteklemek için ana bilgisayar gereklidir . Kapsayıcı, AVX2 desteği olmadan düzgün çalışmaz.

Kapsayıcıyı çalıştırma

Kapsayıcıyı çalıştırmak için docker run komutunu kullanın. Çalıştırıldıktan sonra, siz kapsayıcıyı durdurana kadar kapsayıcı çalışmaya devam eder.

komutuyla docker run aşağıdaki en iyi yöntemleri not alın:

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

İndirdiğiniz kapsayıcı görüntülerini listelemek için docker images komutunu kullanabilirsiniz. Aşağıdaki komut, indirilen her kapsayıcı görüntüsünün kimliğini, deposunu ve etiketini tablo olarak biçimlendirilmiş olarak listeler:

docker images --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}"

Örnek bir sonuç aşağıda verilmişti:

IMAGE ID         REPOSITORY                TAG
<image-id>       <repository-path/name>    <tag-name>

Kapsayıcının çalıştığını doğrulama

Kapsayıcının çalıştığını doğrulamanın çeşitli yolları vardır. Dış IP adresini ve söz konusu kapsayıcının kullanıma sunulan bağlantı noktasını bulun ve sık kullandığınız web tarayıcısını açın. Kapsayıcının çalıştığını doğrulamak için aşağıdaki çeşitli istek URL'lerini kullanın.

Burada listelenen örnek istek URL'leri şunlardır http://localhost:5000; ancak kapsayıcınız farklılık gösterebilir. Kapsayıcınızın Dış IP adresine ve kullanıma sunulan bağlantı noktasına bağlı olduğundan emin olun.

İstek URL'si Purpose
http://localhost:5000/ Kapsayıcı bir giriş sayfası sağlar.
http://localhost:5000/ready GET ile istenen bu URL, kapsayıcının modele karşı sorgu kabul etmeye hazır olduğunu doğrulamayı sağlar. Bu istek Kubernetes canlılığı ve hazır olma yoklamaları için kullanılabilir.
http://localhost:5000/status Get ile de istenen bu URL, kapsayıcıyı başlatmak için kullanılan api anahtarının bir uç nokta sorgusuna neden olmadan geçerli olup olmadığını doğrular. Bu istek Kubernetes canlılığı ve hazır olma yoklamaları için kullanılabilir.
http://localhost:5000/swagger Kapsayıcı uç noktalar için tüm belgeleri ve bir de Deneyin özelliği sağlar. Bu özellik sayesinde, ayarlarınızı web tabanlı bir HTML formuna girebilir ve herhangi bir kod yazmak zorunda kalmadan sorguyu yapabilirsiniz. Sorgu döndürüldikten sonra, gerekli HTTP üst bilgilerini ve gövde biçimini göstermek için örnek bir CURL komutu sağlanır.

Kapsayıcıyı durdurma

Kapsayıcıyı kapatmak için, kapsayıcının çalıştığı komut satırı ortamında Ctrl+C tuşlarına basın.

Aynı konakta birden çok kapsayıcı çalıştırma

Kullanıma sunulan bağlantı noktalarıyla birden çok kapsayıcı çalıştırmayı planlıyorsanız, her kapsayıcıyı farklı bir kullanıma sunulan bağlantı noktasıyla çalıştırdığınızdan emin olun. Örneğin, ilk kapsayıcıyı 5000 numaralı bağlantı noktasında, ikinci kapsayıcıyı da 5001 numaralı bağlantı noktasında çalıştırın.

Bu kapsayıcıyı ve HOST üzerinde çalışan farklı bir Azure AI kapsayıcısını birlikte kullanabilirsiniz. Aynı Azure AI kapsayıcısının birden çok kapsayıcısını da çalıştırabilirsiniz.

Konak URL'leri

Not

Birden çok kapsayıcı çalıştırıyorsanız benzersiz bir bağlantı noktası numarası kullanın.

Protokol Konak URL'si Kapsayıcılar
WS ws://localhost:5000 Konuşmayı metne dönüştürme

Özel konuşmayı metne dönüştürme
HTTP http://localhost:5000 Nöral metinden konuşmaya

Konuşma dili tanımlama

WSS ve HTTPS protokollerini kullanma hakkında daha fazla bilgi için Azure AI hizmetleri belgelerindeki Kapsayıcı güvenliği bölümüne bakın.

Sorun giderme

Kapsayıcıyı başlattığınızda veya çalıştırdığınızda sorunlarla karşılaşabilirsiniz. Bir çıkış bağlaması kullanın ve günlüğü etkinleştirin. Bunu yapmak, kapsayıcının sorunları giderdiğinizde yararlı olan günlük dosyaları oluşturmasına olanak tanır.

İpucu

Daha fazla sorun giderme bilgisi ve kılavuzu için Azure AI hizmetleri belgelerindeki Azure AI kapsayıcıları hakkında sık sorulan sorular (SSS) bölümüne bakın.

Günlüğe kaydetme ayarları

Konuşma kapsayıcıları ASP.NET Core günlük desteğiyle birlikte gelir. Konsolda varsayılan günlük kaydıyla başlatılanlara bir örnek neural-text-to-speech container aşağıda verilmiştir:

docker run --rm -it -p 5000:5000 --memory 12g --cpus 6 \
mcr.microsoft.com/azure-cognitive-services/speechservices/neural-text-to-speech \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY} \
Logging:Console:LogLevel:Default=Information

Günlüğe kaydetme hakkında daha fazla bilgi için Azure AI hizmetleri belgelerindeki Konuşma kapsayıcılarını ve kullanım kayıtlarını yapılandırma bölümüne bakın.

Microsoft tanılama kapsayıcısı

Azure AI kapsayıcısını çalıştırırken sorun yaşıyorsanız Microsoft tanılama kapsayıcısını kullanmayı deneyebilirsiniz. Dağıtım ortamınızda Azure AI kapsayıcılarının beklendiği gibi çalışmasını engelleyebilecek yaygın hataları tanılamak için bu kapsayıcıyı kullanın.

Kapsayıcıyı almak için aşağıdaki docker pull komutu kullanın:

docker pull mcr.microsoft.com/azure-cognitive-services/diagnostic

Ardından kapsayıcıyı çalıştırın. değerini {ENDPOINT_URI} uç noktanızla değiştirin ve değerini kaynağınızın anahtarıyla değiştirin {API_KEY} :

docker run --rm mcr.microsoft.com/azure-cognitive-services/diagnostic \
eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}

Kapsayıcı, faturalama uç noktasına ağ bağlantısı için sınar.

Bağlantısı kesilmiş kapsayıcıları çalıştırma

Bağlantısı kesilmiş kapsayıcıları çalıştırmak için (İnternet'e bağlı değil), bu istek formunu göndermeniz ve onay beklemeniz gerekir. Bağlantısız ortamlarda kapsayıcıları kullanmak için taahhüt planı uygulama ve satın alma hakkında daha fazla bilgi için Azure yapay zeka hizmetleri belgelerindeki Bağlantısız ortamlarda kapsayıcıları kullanma bölümüne bakın.

Sonraki adımlar