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:
- Azure Kubernetes Service.
- Azure Container Instances.
- Azure Stack'e dağıtılan bir Kubernetes kümesi. Daha fazla bilgi için bkz . Kubernetes'i Azure Stack'e dağıtma.
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
- Yapılandırma ayarları için kapsayıcıları yapılandırmayı gözden geçirin.
- Kubernetes ve Helm ile Konuşma hizmeti kapsayıcılarını kullanmayı öğrenin.
- Azure Container Instance'da kapsayıcıları dağıtma ve çalıştırma
- Daha fazla Azure AI kapsayıcısı kullanın.