Docker ile metin kapsayıcılarına özel konuşma

Metin kapsayıcısına özel konuşma, ara sonuçlarla gerçek zamanlı konuşma veya toplu ses kayıtlarının dökümünü alır. Özel konuşma portalında oluşturduğunuz özel modeli kullanabilirsiniz. Bu makalede, metin kapsayıcısına özel konuşma indirmeyi, yüklemeyi ve çalıştırmayı öğreneceksiniz.

Önkoşullar, bir kapsayıcının çalıştığını doğrulama, aynı konakta birden çok kapsayıcı çalıştırma ve bağlantısı kesilmiş kapsayıcıları çalıştırma hakkında daha fazla bilgi için bkz . Docker ile Konuşma kapsayıcılarını yükleme ve çalıştırma.

Kapsayıcı görüntüleri

Desteklenen tüm sürümler ve yerel ayarlar için metin kapsayıcı görüntüsüne özel konuşma, Microsoft Container Registry (MCR) dağıtımında bulunabilir. Depoda azure-cognitive-services/speechservices/ bulunur ve olarak adlandırılır custom-speech-to-text.

A screenshot of the search connectors and triggers dialog.

Tam kapsayıcı görüntüsü adı: mcr.microsoft.com/azure-cognitive-services/speechservices/custom-speech-to-text. En son sürümü almak için belirli bir sürümü ekleme veya ekleme :latest .

Sürüm Yol
En geç mcr.microsoft.com/azure-cognitive-services/speechservices/custom-speech-to-text:latest
4.6.0 mcr.microsoft.com/azure-cognitive-services/speechservices/custom-speech-to-text:4.6.0-amd64

dışındaki latesttüm etiketler aşağıdaki biçimdedir ve büyük/küçük harfe duyarlıdır:

<major>.<minor>.<patch>-<platform>-<prerelease>

Not

locale metin kapsayıcılarına özel konuşma için vevoice, kapsayıcı tarafından alınan özel model tarafından belirlenir.

Etiketler, kolaylık sağlamak için JSON biçiminde de kullanılabilir. Gövde kapsayıcı yolunu ve etiket listesini içerir. Etiketler sürüme göre sıralanmamıştır, ancak "latest" bu kod parçacığında gösterildiği gibi her zaman listenin sonuna eklenir:

{
  "name": "azure-cognitive-services/speechservices/custom-speech-to-text",
  "tags": [
    "2.10.0-amd64",
    "2.11.0-amd64",
    "2.12.0-amd64",
    "2.12.1-amd64",
    <--redacted for brevity-->
    "latest"
  ]
}

Docker çekme ile kapsayıcı görüntüsünü alma

Gerekli donanım da dahil olmak üzere önkoşullara ihtiyacınız vardır. Ayrıca her Konuşma kapsayıcısı için önerilen kaynak ayırma bölümüne bakın.

Microsoft Container Registry'den kapsayıcı görüntüsü indirmek için docker pull komutunu kullanın:

docker pull mcr.microsoft.com/azure-cognitive-services/speechservices/custom-speech-to-text:latest

Not

locale özel Konuşma kapsayıcıları için vevoice, kapsayıcı tarafından alınan özel model tarafından belirlenir.

Model kimliğini alma

Kapsayıcıyı çalıştırabilmeniz için önce özel modelinizin model kimliğini veya temel model kimliğini bilmeniz gerekir. Kapsayıcıyı çalıştırdığınızda, indirilip kullanılacak model kimliklerinden birini belirtirsiniz.

Özel modelin Speech Studio kullanılarak eğitilmesi gerekir. Model kimliğini alma hakkında bilgi için bkz . özel konuşma modeli yaşam döngüsü.

Screenshot that shows the custom speech training page.

Komutun parametresine docker run bağımsız değişken ModelId olarak kullanılacak Model Kimliğini alın.

Screenshot that shows custom speech model details.

Model indirmeyi görüntüleme

Kapsayıcıyı çalıştırmadan önce, isteğe bağlı olarak kullanılabilir görüntü modelleri bilgilerini alabilir ve son derece iyileştirilmiş son ekran çıkışı elde etmek için bu modelleri konuşma kapsayıcınıza indirmeyi seçebilirsiniz. Görüntü modeli indirme özelliği, özel konuşmadan metne kapsayıcı sürüm 3.1.0 ve üzeri ile kullanılabilir.

Not

komutunu kullanmanıza docker run rağmen, kapsayıcı hizmet için başlatılmaz.

Şu görüntüleme modeli türlerinin herhangi birini veya tümünü sorgulayabilir veya indirebilirsiniz: Yeniden Puanlama (Rescore), Noktalama (Punct), ayrıştırma (Resegment) ve wfstitn (Wfstitn). Aksi takdirde, tüm görüntüleme modellerini sorgulamak veya indirmek için seçeneğini kullanabilirsiniz FullDisplay (diğer türlerle birlikte veya olmadan).

BaseModelLocale Hedef yerel ayarda en son kullanılabilir görüntü modelini sorgulamak için öğesini ayarlayın. Birden çok görüntüleme modeli türü eklerseniz, komut her tür için en son kullanılabilir görüntü modellerini döndürür. Örneğin:

docker run --rm -it \
mcr.microsoft.com/azure-cognitive-services/speechservices/custom-speech-to-text \
Punct Rescore Resegment Wfstitn \   # Specify `FullDisplay` or a space-separated subset of display models
BaseModelLocale={LOCALE} \           
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}

DisplayLocale Hedef yerel ayara en son kullanılabilir görüntü modelini indirmek için öğesini ayarlayın. ayarladığınızda DisplayLocale, görüntü modellerinin boşlukla ayrılmış bir alt kümesini de belirtmeniz FullDisplay gerekir. komutu, belirtilen her tür için en son kullanılabilir görüntü modelini indirir. Örneğin:

docker run --rm -it \
mcr.microsoft.com/azure-cognitive-services/speechservices/custom-speech-to-text \
Punct Rescore Resegment Wfstitn \   # Specify `FullDisplay` or a space-separated subset of display models
DisplayLocale={LOCALE} \           
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}

Belirli bir görüntüleme modelini indirmek için bir model kimliği parametresi ayarlayın: Yeniden Puanlama (RescoreId), Noktalama işareti (PunctId), ayrıştırma (ResegmentId) veya wfstitn (WfstitnId). Bu, parametresi aracılığıyla temel modeli indirme yönteminize ModelId benzer. Örneğin, yeniden puanlama görüntüleme modelini indirmek için parametresiyle RescoreId aşağıdaki komutu kullanabilirsiniz:

docker run --rm -it \
mcr.microsoft.com/azure-cognitive-services/speechservices/custom-speech-to-text \
RescoreId={RESCORE_MODEL_ID} \         
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}

Not

Birden fazla sorgu veya indirme parametresi ayarlarsanız, komut şu sırada öncelik sırasına göre öncelik verir: BaseModelLocale, model kimliği ve ardından DisplayLocale (yalnızca görüntüleme modelleri için geçerlidir).

Kapsayıcıyı docker run ile çalıştırma

Hizmet için kapsayıcıyı çalıştırmak için docker run komutunu kullanın.

Aşağıdaki tablo çeşitli docker run parametreleri ve bunların karşılık gelen açıklamalarını temsil eder:

Parametre Açıklama
{VOLUME_MOUNT} Docker'ın özel modeli kalıcı hale getirmek için kullandığı ana bilgisayar birimi bağlama. Bir örnek, c:\CustomSpeech sürücünün konak makinede bulunduğu yerdir c:\ .
{MODEL_ID} Özel konuşma veya temel model kimliği. Daha fazla bilgi için bkz . Model kimliğini alma.
{ENDPOINT_URI} Uç nokta, ölçüm ve faturalama için gereklidir. Daha fazla bilgi için bkz . faturalama bağımsız değişkenleri.
{API_KEY} API anahtarı gereklidir. Daha fazla bilgi için bkz . faturalama bağımsız değişkenleri.

Metin kapsayıcısına özel konuşmayı çalıştırdığınızda, bağlantı noktasını, belleği ve CPU'sunu metin kapsayıcısı gereksinimlerine ve önerilerine göre yapılandırın.

Aşağıda yer tutucu değerleri içeren bir örnek docker run komut verilmiştir. , , MODEL_IDENDPOINT_URIve API_KEY değerlerini belirtmelisinizVOLUME_MOUNT:

docker run --rm -it -p 5000:5000 --memory 8g --cpus 4 \
-v {VOLUME_MOUNT}:/usr/local/models \
mcr.microsoft.com/azure-cognitive-services/speechservices/custom-speech-to-text \
ModelId={MODEL_ID} \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}

Şu komut:

  • Kapsayıcı görüntüsünden metin kapsayıcısına özel bir konuşma çalıştırır.
  • 4 CPU çekirdeği ve 8 GB bellek ayırır.
  • Birim girişi bağlamasından metin modeline özel konuşmayı yükler; örneğin, C:\CustomSpeech.
  • TCP bağlantı noktası 5000'i kullanıma sunar ve kapsayıcı için bir sahte TTY ayırır.
  • verilen ModelId modeli indirir (birim bağlamada bulunamazsa).
  • Özel model daha önce indirildiyse, ModelId yok sayılır.
  • Kapsayıcı çıktıktan sonra otomatik olarak kaldırılır. Kapsayıcı görüntüsü ana bilgisayarda hala kullanılabilir.

Konuşma kapsayıcıları hakkında docker run daha fazla bilgi için bkz . Docker ile Konuşma kapsayıcılarını yükleme ve çalıştırma.

Kapsayıcıyı kullanma

Konuşma kapsayıcıları, Konuşma SDK'sı ve Konuşma CLI'sı aracılığıyla erişilen websocket tabanlı sorgu uç noktası API'leri sağlar. Varsayılan olarak, Konuşma SDK'sı ve Konuşma CLI'sı genel Konuşma hizmetini kullanır. Kapsayıcıyı kullanmak için başlatma yöntemini değiştirmeniz gerekir.

Önemli

Konuşma hizmetini kapsayıcılarla kullanırken konak kimlik doğrulamasını kullandığınızdan emin olun. Anahtarı ve bölgeyi yapılandırdığınızda istekler genel Konuşma hizmetine gider. Konuşma hizmetinin sonuçları beklediğiniz gibi olmayabilir. Bağlantısı kesilmiş kapsayıcılardan gelen istekler başarısız olur.

Bu Azure bulut başlatma yapılandırmasını kullanmak yerine:

var config = SpeechConfig.FromSubscription(...);

Kapsayıcı konağıyla bu yapılandırmayı kullanın:

var config = SpeechConfig.FromHost(
    new Uri("ws://localhost:5000"));

Bu Azure bulut başlatma yapılandırmasını kullanmak yerine:

auto speechConfig = SpeechConfig::FromSubscription(...);

Kapsayıcı konağıyla bu yapılandırmayı kullanın:

auto speechConfig = SpeechConfig::FromHost("ws://localhost:5000");

Bu Azure bulut başlatma yapılandırmasını kullanmak yerine:

speechConfig, err := speech.NewSpeechConfigFromSubscription(...)

Kapsayıcı konağıyla bu yapılandırmayı kullanın:

speechConfig, err := speech.NewSpeechConfigFromHost("ws://localhost:5000")

Bu Azure bulut başlatma yapılandırmasını kullanmak yerine:

SpeechConfig speechConfig = SpeechConfig.fromSubscription(...);

Kapsayıcı konağıyla bu yapılandırmayı kullanın:

SpeechConfig speechConfig = SpeechConfig.fromHost("ws://localhost:5000");

Bu Azure bulut başlatma yapılandırmasını kullanmak yerine:

const speechConfig = sdk.SpeechConfig.fromSubscription(...);

Kapsayıcı konağıyla bu yapılandırmayı kullanın:

const speechConfig = sdk.SpeechConfig.fromHost("ws://localhost:5000");

Bu Azure bulut başlatma yapılandırmasını kullanmak yerine:

SPXSpeechConfiguration *speechConfig = [[SPXSpeechConfiguration alloc] initWithSubscription:...];

Kapsayıcı konağıyla bu yapılandırmayı kullanın:

SPXSpeechConfiguration *speechConfig = [[SPXSpeechConfiguration alloc] initWithHost:"ws://localhost:5000"];

Bu Azure bulut başlatma yapılandırmasını kullanmak yerine:

let speechConfig = SPXSpeechConfiguration(subscription: "", region: "");

Kapsayıcı konağıyla bu yapılandırmayı kullanın:

let speechConfig = SPXSpeechConfiguration(host: "ws://localhost:5000");

Bu Azure bulut başlatma yapılandırmasını kullanmak yerine:

speech_config = speechsdk.SpeechConfig(
    subscription=speech_key, region=service_region)

Kapsayıcı uç noktasıyla bu yapılandırmayı kullanın:

speech_config = speechsdk.SpeechConfig(
    host="ws://localhost:5000")

Konuşma CLI'sini bir kapsayıcıda kullanırken seçeneğini ekleyin --host ws://localhost:5000/ . CLI'nın kimlik doğrulaması için Konuşma anahtarı kullanmadığından emin olmak için de belirtmelisiniz --key none . Konuşma CLI'sını yapılandırma hakkında bilgi için bkz . Azure AI Konuşma CLI'sını kullanmaya başlama.

Anahtar ve bölge yerine konak kimlik doğrulamasını kullanarak konuşmayı kısa metne dönüştürme hızlı başlangıcını deneyin.

Sonraki adımlar