Partilhar via


Contêineres de identificação de idioma com o Docker

O contêiner de identificação de idioma de fala deteta o idioma falado em arquivos de áudio. Você pode obter gravações de fala ou áudio em lote em tempo real com resultados intermediários. Neste artigo, você aprenderá a baixar, instalar e executar um contêiner de identificação de idioma.

Nota

O contêiner de identificação de idioma de fala está disponível em visualização pública. Os contêineres em visualização ainda estão em desenvolvimento e não atendem aos requisitos de estabilidade e suporte da Microsoft.

Para obter mais informações sobre pré-requisitos, validação de que um contêiner está em execução, execução de vários contêineres no mesmo host e execução de contêineres desconectados, consulte Instalar e executar contêineres de fala com o Docker.

Gorjeta

Para obter os resultados mais úteis, use o contêiner de identificação de idioma de fala com os contêineres de fala para texto ou de fala personalizada para texto .

Imagens de contentor

A imagem do contêiner de identificação de idioma de fala para todas as versões e localidades com suporte pode ser encontrada no sindicato Microsoft Container Registry (MCR). Ele reside dentro do azure-cognitive-services/speechservices/ repositório e é chamado language-detectionde .

Uma captura de tela da caixa de diálogo conectores e gatilhos de pesquisa.

O nome da imagem de contêiner totalmente qualificada é, mcr.microsoft.com/azure-cognitive-services/speechservices/language-detection. Anexe uma versão específica ou anexe :latest para obter a versão mais recente.

Versão Caminho
Mais Recente mcr.microsoft.com/azure-cognitive-services/speechservices/language-detection:latest
1.16.0 mcr.microsoft.com/azure-cognitive-services/speechservices/language-detection:1.16.0-amd64-preview

Todas as tags, exceto latest, estão no seguinte formato e diferenciam maiúsculas de minúsculas:

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

As tags também estão disponíveis no formato JSON para sua conveniência. O corpo inclui o caminho do contêiner e a lista de tags. As tags não são classificadas por versão, mas "latest" são sempre incluídas no final da lista, conforme mostrado neste trecho:

{
  "name": "azure-cognitive-services/speechservices/language-detection",
  "tags": [
    "1.1.0-amd64-preview",
    "1.11.0-amd64-preview",
    "1.12.0-amd64-preview",
    "1.13.0-amd64-preview",
    "1.14.0-amd64-preview",
    "1.15.0-amd64-preview",
    "1.16.0-amd64-preview",
    "1.3.0-amd64-preview",
    "1.5.0-amd64-preview",
    "1.6.1-amd64-preview",
    "1.7.0-amd64-preview",
    "1.8.0-amd64-preview",
    "latest"
  ]
}

Obter a imagem do contêiner com o docker pull

Você precisa dos pré-requisitos, incluindo o hardware necessário. Consulte também a alocação recomendada de recursos para cada contêiner de fala.

Use o comando docker pull para baixar uma imagem de contêiner do Microsoft Container Registry:

docker pull mcr.microsoft.com/azure-cognitive-services/speechservices/language-detection:latest

Executar o contêiner com docker run

Use o comando docker run para executar o contêiner.

A tabela a seguir representa os vários docker run parâmetros e suas descrições correspondentes:

Parâmetro Description
{ENDPOINT_URI} O ponto de extremidade é necessário para medição e faturamento. Para obter mais informações, consulte argumentos de cobrança.
{API_KEY} A chave API é necessária. Para obter mais informações, consulte argumentos de cobrança.

Ao executar o contêiner de identificação de idioma de fala, configure a porta, a memória e a CPU de acordo com os requisitos e recomendações do contêiner de identificação de idioma.

Aqui está um comando de exemplo docker run com valores de espaço reservado. Você deve especificar os ENDPOINT_URI valores e API_KEY :

docker run --rm -it -p 5000:5003 --memory 1g --cpus 1 \
mcr.microsoft.com/azure-cognitive-services/speechservices/language-detection \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}

Este comando:

  • Executa um contêiner de identificação de idioma de fala a partir da imagem do contêiner.
  • Aloca 1 núcleo de CPU e 1 GB de memória.
  • Expõe a porta TCP 5000 e aloca um pseudo-TTY para o contêiner.
  • Remove automaticamente o recipiente depois que ele sai. A imagem do contêiner ainda está disponível no computador host.

Para obter mais informações sobre docker run como contêineres de fala, consulte Instalar e executar contêineres de fala com o Docker.

Executar com o contêiner de fala para texto

Se quiser executar o contêiner de identificação de idioma com o contêiner de fala para texto , você pode usar essa imagem do docker. Depois que ambos os contêineres forem iniciados, use este docker run comando para executar speech-to-text-with-languagedetection-client:

docker run --rm -v ${HOME}:/root -ti antsu/on-prem-client:latest ./speech-to-text-with-languagedetection-client ./audio/LanguageDetection_en-us.wav --host localhost --lport 5003 --sport 5000

Aumentar o número de chamadas simultâneas pode afetar a confiabilidade e a latência. Para identificação de idioma, recomendamos um máximo de quatro chamadas simultâneas usando 1 CPU com 1 GB de memória. Para hosts com 2 CPUs e 2 GB de memória, recomendamos um máximo de seis chamadas simultâneas.

Utilize o recipiente

Os contêineres de fala fornecem APIs de ponto de extremidade de consulta baseadas em websocket que são acessadas por meio do SDK de Fala e da CLI de Fala. Por padrão, o SDK de Fala e a CLI de Fala usam o serviço de Fala público. Para usar o contêiner, você precisa alterar o método de inicialização.

Importante

Ao usar o serviço de Fala com contêineres, certifique-se de usar a autenticação de host. Se você configurar a chave e a região, as solicitações irão para o serviço de Fala pública. Os resultados do serviço de Fala podem não ser os esperados. As solicitações de contêineres desconectados falharão.

Em vez de usar esta configuração de inicialização da nuvem do Azure:

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

Use esta configuração com o host do contêiner:

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

Em vez de usar esta configuração de inicialização da nuvem do Azure:

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

Use esta configuração com o host do contêiner:

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

Em vez de usar esta configuração de inicialização da nuvem do Azure:

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

Use esta configuração com o host do contêiner:

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

Em vez de usar esta configuração de inicialização da nuvem do Azure:

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

Use esta configuração com o host do contêiner:

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

Em vez de usar esta configuração de inicialização da nuvem do Azure:

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

Use esta configuração com o host do contêiner:

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

Em vez de usar esta configuração de inicialização da nuvem do Azure:

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

Use esta configuração com o host do contêiner:

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

Em vez de usar esta configuração de inicialização da nuvem do Azure:

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

Use esta configuração com o host do contêiner:

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

Em vez de usar esta configuração de inicialização da nuvem do Azure:

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

Use esta configuração com o ponto de extremidade do contêiner:

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

Ao usar a CLI de fala em um contêiner, inclua a --host http://localhost:5000/ opção. Você também deve especificar --key none para garantir que a CLI não tente usar uma chave de fala para autenticação. Para obter informações sobre como configurar a CLI de Fala, consulte Introdução à CLI de Fala do Azure AI.

Tente identificar o idioma usando a autenticação de host em vez de chave e região. Ao executar a ID de idioma em um contêiner, use o SourceLanguageRecognizer objeto em vez de SpeechRecognizer ou TranslationRecognizer.

Próximos passos