Contenedores de identificación de lenguaje con Docker
El contenedor de identificación del idioma de voz detecta el idioma hablado en archivos de audio. Puedes obtener grabaciones de audio por lotes o voz en tiempo real con resultados intermedios. En este artículo, aprenderá a descargar, instalar y ejecutar un contenedor de identificación de idioma.
Nota:
El contenedor de identificación del idioma de voz está disponible en versión preliminar pública. Los contenedores en versión preliminar siguen en desarrollo y no cumplen los requisitos de estabilidad y soporte técnico de Microsoft.
Para obtener más información sobre los requisitos previos, validar que el contenedor se esté ejecutando, ejecutar varios contenedores en el mismo host y ejecutar contenedores desconectados, consulta Instalar y ejecutar contenedores de voz con Docker.
Sugerencia
Para obtener los resultados más útiles, utiliza el contenedor de identificación de idioma de voz con los contenedores de conversión de voz en texto o de conversión de voz en texto personalizada.
Imágenes del contenedor
La imagen del contenedor de identificación de idioma de voz para todas las versiones y configuraciones regionales compatibles se puede encontrar en el sindicato de Microsoft Container Registry (MCR). Reside en el repositorio azure-cognitive-services/speechservices/
y se denomina language-detection
.
El nombre completo de la imagen de contenedor es mcr.microsoft.com/azure-cognitive-services/speechservices/language-detection
. Anexa una versión específica o :latest
para obtener la versión más reciente.
Versión | Path |
---|---|
Más reciente | 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 las etiquetas, salvo latest
, tienen el formato siguiente y distinguen mayúsculas de minúsculas:
<major>.<minor>.<patch>-<platform>-<prerelease>
Las etiquetas también están disponibles en formato JSON para tu comodidad. El cuerpo incluye la ruta de acceso del contenedor y la lista de etiquetas. Las etiquetas no están ordenadas por versión, pero "latest"
siempre se incluye al final de la lista, como se muestra en este fragmento de código:
{
"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"
]
}
Obtención de la imagen de contenedor con el comando docker pull
Son necesarios los requisitos previos, incluido el hardware necesario. Consulte también la asignación recomendada de recursos para cada contenedor de voz.
Use el comando docker pull para descargar una imagen de contenedor de Microsoft Container Registry:
docker pull mcr.microsoft.com/azure-cognitive-services/speechservices/language-detection:latest
Ejecute el contenedor con docker run
Utilice el comando docker run para ejecutar el contenedor.
En la tabla siguiente se representan los diversos parámetros de docker run
y las descripciones correspondientes:
Parámetro | Descripción |
---|---|
{ENDPOINT_URI} |
El punto de conexión es necesario para la medición y la facturación. Para más información, consulte los argumentos de facturación. |
{API_KEY} |
Se necesita la clave de API. Para más información, consulta los argumentos de facturación. |
Al ejecutar el contenedor de identificación del idioma de voz, configura el puerto, la memoria y la CPU según los requisitos y recomendaciones del contenedor de identificación de idioma.
Este es un ejemplo del comando docker run
con valores de marcador de posición. Debes especificar los valores ENDPOINT_URI
y 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:
- Ejecuta un contenedor de identificación de idioma de voz desde la imagen del contenedor.
- Asigna 1 núcleo de CPU y 1 GB de memoria.
- Expone el puerto TCP 5000 y asigna un seudo-TTY para el contenedor.
- Una vez que se produce la salida, quita automáticamente el contenedor. La imagen del contenedor sigue estando disponible en el equipo host.
Para obtener más información sobre docker run
con los contenedores de voz, consulta Instalar y ejecutar contenedores de voz con Docker.
Ejecutar con el contenedor de conversión de voz en texto
Si quieres ejecutar el contenedor de identificación de idioma con el contenedor de conversión de voz en texto, puedes usar esta imagen acoplable. Una vez iniciados ambos contenedores, use este docker run
comando para ejecutar 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
El aumento del número de llamadas simultáneas puede afectar tanto a la confiabilidad como a la latencia. Para la identificación del idioma, se recomienda un máximo de cuatro llamadas simultáneas mediante 1 CPU con 1 GB de memoria. En el caso de hosts con 2 CPU y 2 GB de memoria, se recomienda un máximo de seis llamadas simultáneas.
Uso del contenedor
Los contenedores de voz proporcionan las API de punto de conexión de consulta basadas en websocket a las que se accede a través del SDK de voz y la CLI de voz. De forma predeterminada, el SDK de Voz y la CLI de Voz usan el servicio de Voz público. Para usar el contenedor, deberá cambiar el método de inicialización.
Importante
Cuando uses el servicio de voz con contenedores, asegúrate de usar la autenticación de host. Si configuras la clave y la región, las solicitudes irán al servicio de voz público. Es posible que los resultados del servicio de voz no sean los esperados. Se producirá un error en las solicitudes de contenedores desconectados.
En lugar de usar esta configuración de inicialización en la nube de Azure:
var config = SpeechConfig.FromSubscription(...);
Usa esta configuración con el host del contenedor:
var config = SpeechConfig.FromHost(
new Uri("http://localhost:5000"));
En lugar de usar esta configuración de inicialización en la nube de Azure:
auto speechConfig = SpeechConfig::FromSubscription(...);
Usa esta configuración con el host del contenedor:
auto speechConfig = SpeechConfig::FromHost("http://localhost:5000");
En lugar de usar esta configuración de inicialización en la nube de Azure:
speechConfig, err := speech.NewSpeechConfigFromSubscription(...)
Usa esta configuración con el host del contenedor:
speechConfig, err := speech.NewSpeechConfigFromHost("http://localhost:5000")
En lugar de usar esta configuración de inicialización en la nube de Azure:
SpeechConfig speechConfig = SpeechConfig.fromSubscription(...);
Usa esta configuración con el host del contenedor:
SpeechConfig speechConfig = SpeechConfig.fromHost("http://localhost:5000");
En lugar de usar esta configuración de inicialización en la nube de Azure:
const speechConfig = sdk.SpeechConfig.fromSubscription(...);
Usa esta configuración con el host del contenedor:
const speechConfig = sdk.SpeechConfig.fromHost("http://localhost:5000");
En lugar de usar esta configuración de inicialización en la nube de Azure:
SPXSpeechConfiguration *speechConfig = [[SPXSpeechConfiguration alloc] initWithSubscription:...];
Usa esta configuración con el host del contenedor:
SPXSpeechConfiguration *speechConfig = [[SPXSpeechConfiguration alloc] initWithHost:"http://localhost:5000"];
En lugar de usar esta configuración de inicialización en la nube de Azure:
let speechConfig = SPXSpeechConfiguration(subscription: "", region: "");
Usa esta configuración con el host del contenedor:
let speechConfig = SPXSpeechConfiguration(host: "http://localhost:5000");
En lugar de usar esta configuración de inicialización en la nube de Azure:
speech_config = speechsdk.SpeechConfig(
subscription=speech_key, region=service_region)
Usa esta configuración con el punto de conexión del contenedor:
speech_config = speechsdk.SpeechConfig(
host="http://localhost:5000")
Al usar la CLI de Voz en un contenedor, incluya la opción --host http://localhost:5000/
. También debes especificar --key none
para garantizar que la CLI no intenta usar una clave de Azure Cognitive Service para voz para la autenticación. Para más información sobre cómo configurar la CLI de voz, consulta Introducción a la CLI de voz de Azure AI.
Prueba la identificación del idioma mediante la autenticación de host en lugar de la clave y la región. Al ejecutar el id. de idioma en un contenedor, usa el objeto SourceLanguageRecognizer
en lugar de SpeechRecognizer
o TranslationRecognizer
.
Pasos siguientes
- Consulta la Información general de los contenedores de voz
- Revise Configuración de contenedores para ver las opciones de configuración.
- Uso de más contenedores de Azure AI