Språkidentifieringscontainrar med Docker

Containern för talspråksidentifiering identifierar språket som talas i ljudfiler. Du kan få tal- eller batchljudinspelningar i realtid med mellanliggande resultat. I den här artikeln får du lära dig hur du laddar ned, installerar och kör en container för språkidentifiering.

Kommentar

Containern för talspråksidentifiering är tillgänglig i offentlig förhandsversion. Containrar i förhandsversionen är fortfarande under utveckling och uppfyller inte Microsofts stabilitets- och supportkrav.

Mer information om förutsättningar, verifiering av att en container körs, körning av flera containrar på samma värd och körning av frånkopplade containrar finns i Installera och köra Speech-containrar med Docker.

Dricks

För att få de mest användbara resultaten använder du containern för talspråksidentifiering med tal till text eller anpassade tal till textcontainrar .

Containeravbildningar

Containeravbildningen för talspråksidentifiering för alla versioner och nationella inställningar som stöds finns i MCR-syndikatet (Microsoft Container Registry). Den finns på lagringsplatsen azure-cognitive-services/speechservices/ och heter language-detection.

A screenshot of the search connectors and triggers dialog.

Det fullständigt kvalificerade containeravbildningsnamnet är , mcr.microsoft.com/azure-cognitive-services/speechservices/language-detection. Lägg antingen till en viss version eller lägg till :latest för att hämta den senaste versionen.

Version Sökväg
Senast mcr.microsoft.com/azure-cognitive-services/speechservices/language-detection:latest
1.12.0 mcr.microsoft.com/azure-cognitive-services/speechservices/language-detection:1.12.0-amd64-preview

Alla taggar, förutom latest, är i följande format och är skiftlägeskänsliga:

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

Taggarna är också tillgängliga i JSON-format för din bekvämlighet. Brödtexten innehåller containersökvägen och listan med taggar. Taggarna sorteras inte efter version, men "latest" ingår alltid i slutet av listan enligt följande kodfragment:

{
  "name": "azure-cognitive-services/speechservices/language-detection",
  "tags": [
    "1.1.0-amd64-preview",
    "1.11.0-amd64-preview",
    "1.12.0-amd64-preview",
    "1.3.0-amd64-preview",
    "1.5.0-amd64-preview",
    <--redacted for brevity-->
    "1.8.0-amd64-preview",
    "latest"
  ]
}

Hämta containeravbildningen med docker pull

Du behöver kraven, inklusive nödvändig maskinvara. Se även den rekommenderade allokeringen av resurser för varje Speech-container.

Använd docker pull-kommandot för att ladda ned en containeravbildning från Microsoft Container Registry:

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

Kör containern med docker-körning

Använd kommandot docker run för att köra containern.

Följande tabell representerar de olika docker run parametrarna och deras motsvarande beskrivningar:

Parameter Description
{ENDPOINT_URI} Slutpunkten krävs för mätning och fakturering. Mer information finns i faktureringsargument.
{API_KEY} API-nyckeln krävs. Mer information finns i faktureringsargument.

När du kör containern för talspråksidentifiering konfigurerar du porten, minnet och processorn enligt kraven och rekommendationerna för språkidentifieringscontainern.

Här är ett exempelkommando docker run med platshållarvärden. Du måste ange ENDPOINT_URI värdena och 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}

Det här kommandot:

  • Kör en container för talspråksidentifiering från containeravbildningen.
  • Allokerar 1 CPU-kärna och 1 GB minne.
  • Exponerar TCP-port 5000 och allokerar en pseudo-TTY för containern.
  • Tar automatiskt bort containern när den har avslutats. Containeravbildningen är fortfarande tillgänglig på värddatorn.

Mer information om docker run med Speech-containrar finns i Installera och köra Speech-containrar med Docker.

Kör med containern speech to text

Om du vill köra containern för språkidentifiering med containern speech to text kan du använda den här docker-avbildningen. När båda containrarna har startats använder du det här docker run kommandot för att köra 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

Att öka antalet samtidiga anrop kan påverka tillförlitligheten och svarstiden. För språkidentifiering rekommenderar vi högst fyra samtidiga anrop med 1 CPU med 1 GB minne. För värdar med 2 processorer och 2 GB minne rekommenderar vi högst sex samtidiga anrop.

Använda containern

Talcontainrar tillhandahåller websocketbaserade frågeslutpunkts-API:er som nås via Speech SDK och Speech CLI. Som standard använder Speech SDK och Speech CLI den offentliga Speech-tjänsten. Om du vill använda containern måste du ändra initieringsmetoden.

Viktigt!

När du använder Speech-tjänsten med containrar måste du använda värdautentisering. Om du konfigurerar nyckeln och regionen går begäranden till den offentliga Speech-tjänsten. Resultat från Speech-tjänsten kanske inte är vad du förväntar dig. Begäranden från frånkopplade containrar misslyckas.

I stället för att använda den här initieringskonfigurationen för Azure-molnet:

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

Använd den här konfigurationen med containervärden:

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

I stället för att använda den här initieringskonfigurationen för Azure-molnet:

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

Använd den här konfigurationen med containervärden:

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

I stället för att använda den här initieringskonfigurationen för Azure-molnet:

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

Använd den här konfigurationen med containervärden:

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

I stället för att använda den här initieringskonfigurationen för Azure-molnet:

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

Använd den här konfigurationen med containervärden:

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

I stället för att använda den här initieringskonfigurationen för Azure-molnet:

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

Använd den här konfigurationen med containervärden:

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

I stället för att använda den här initieringskonfigurationen för Azure-molnet:

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

Använd den här konfigurationen med containervärden:

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

I stället för att använda den här initieringskonfigurationen för Azure-molnet:

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

Använd den här konfigurationen med containervärden:

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

I stället för att använda den här initieringskonfigurationen för Azure-molnet:

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

Använd den här konfigurationen med containerslutpunkten:

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

När du använder Speech CLI i en container inkluderar du alternativet --host http://localhost:5000/ . Du måste också ange --key none för att säkerställa att CLI inte försöker använda en Talnyckel för autentisering. Information om hur du konfigurerar Speech CLI finns i Komma igång med Azure AI Speech CLI.

Prova språkidentifiering med värdautentisering i stället för nyckel och region. När du kör språk-ID i en container använder du SourceLanguageRecognizer objektet i stället för SpeechRecognizer eller TranslationRecognizer.

Nästa steg