Speech Service-containers configureren

Met spraakcontainers kunnen klanten één spraaktoepassingsarchitectuur bouwen die is geoptimaliseerd om te profiteren van zowel robuuste cloudmogelijkheden als randlocatie.

De Runtime-omgeving van de Speech-container wordt geconfigureerd met behulp van de docker run opdrachtargumenten. Deze container heeft enkele vereiste en optionele instellingen. De containerspecifieke instellingen zijn de factureringsinstellingen.

Configuratie-instellingen

De container heeft de volgende configuratie-instellingen:

Vereist Instelling Purpose
Ja ApiKey Houdt factureringsgegevens bij.
Nee ApplicationInsights Hiermee kunt u ondersteuning voor Azure-toepassing Insights-telemetrie toevoegen aan uw container.
Ja Facturering Hiermee geeft u de eindpunt-URI van de serviceresource in Azure op.
Ja Overeenkomst Geeft aan dat u de licentie voor de container hebt geaccepteerd.
Nee Fluentd Hiermee schrijft u logboekgegevens en eventueel metrische gegevens naar een Fluentd-server.
Nee HTTP-proxy Hiermee configureert u een HTTP-proxy voor het maken van uitgaande aanvragen.
Nee Logboekregistratie Biedt ondersteuning voor ASP.NET Core-logboekregistratie voor uw container.
Nee Mounts Leest en schrijft gegevens van de hostcomputer naar de container en van de container terug naar de hostcomputer.

Belangrijk

De ApiKey, Billingen Eula de instellingen worden samen gebruikt en u moet geldige waarden opgeven voor alle drie. Anders wordt de container niet gestart. Zie Facturering voor meer informatie over het gebruik van deze configuratie-instellingen om een container te instantiëren.

ApiKey-configuratie-instelling

Met ApiKey de instelling geeft u de Azure-resourcesleutel op die wordt gebruikt om factureringsgegevens voor de container bij te houden. U moet een waarde opgeven voor de ApiKey en de waarde moet een geldige sleutel zijn voor de Spraak-resource die is opgegeven voor de Billing configuratie-instelling.

Deze instelling vindt u op de volgende plaats:

  • Azure Portal: Spraakresourcebeheer , onder Sleutels

ApplicationInsights-instelling

Met de ApplicationInsights instelling kunt u Azure-toepassing insights-telemetrieondersteuning toevoegen aan uw container. Application Insights biedt uitgebreide bewaking van uw container. U kunt uw container eenvoudig controleren op beschikbaarheid, prestaties en gebruik. U kunt ook snel fouten in uw container identificeren en diagnosticeren.

In de volgende tabel worden de configuratie-instellingen beschreven die worden ondersteund in de ApplicationInsights sectie.

Vereist Naam Gegevenstype Beschrijving
Nee InstrumentationKey String De instrumentatiesleutel van het Application Insights-exemplaar waarnaar telemetriegegevens voor de container worden verzonden. Zie Application Insights voor ASP.NET Core voor meer informatie.

Voorbeeld:
InstrumentationKey=123456789

Configuratie-instelling voor facturering

De Billing instelling geeft de eindpunt-URI op van de Spraak-resource in Azure die wordt gebruikt om factureringsgegevens voor de container te meten. U moet een waarde opgeven voor deze configuratie-instelling en de waarde moet een geldige eindpunt-URI zijn voor een Spraak-resource in Azure. De container rapporteert ongeveer om de 10 tot 15 minuten het gebruik.

Deze instelling vindt u op de volgende plaats:

  • Azure Portal: Gelabeld Endpoint op de overzichtspagina van Speech
Vereist Naam Gegevenstype Beschrijving
Ja Billing String Eindpunt-URI voor facturering. Zie facturering voor meer informatie over het verkrijgen van de facturerings-URI. Zie Aangepaste subdomeinnamen voor Azure AI-services voor meer informatie en een volledige lijst met regionale eindpunten.

Eula-instelling

De Eula instelling geeft aan dat u de licentie voor de container hebt geaccepteerd. U moet een waarde opgeven voor deze configuratie-instelling en de waarde moet worden ingesteld op accept.

Vereist Naam Gegevenstype Beschrijving
Ja Eula String Licentie-acceptatie

Voorbeeld:
Eula=accept

Azure AI-servicescontainers worden in licentie gegeven onder uw overeenkomst voor uw gebruik van Azure. Als u geen bestaande overeenkomst hebt voor uw gebruik van Azure, gaat u ermee akkoord dat uw overeenkomst voor het gebruik van Azure de Microsoft Online-abonnementsovereenkomst is, die de voorwaarden voor onlineservices bevat. Voor previews gaat u ook akkoord met de aanvullende gebruiksvoorwaarden voor Microsoft Azure Previews. Door de container te gebruiken, gaat u akkoord met deze voorwaarden.

Fluentd-instellingen

Fluentd is een opensource-gegevensverzamelaar voor geïntegreerde logboekregistratie. De Fluentd instellingen beheren de verbinding van de container met een Fluentd-server . De container bevat een Fluentd-logboekregistratieprovider, waarmee uw container logboeken kan schrijven en, optioneel, metrische gegevens naar een Fluentd-server.

In de volgende tabel worden de configuratie-instellingen beschreven die worden ondersteund in de Fluentd sectie.

Naam Gegevenstype Beschrijving
Host String Het IP-adres of de DNS-hostnaam van de Fluentd-server.
Port Geheel getal De poort van de Fluentd-server.
De standaardwaarde is 24224.
HeartbeatMs Geheel getal Het heartbeatinterval, in milliseconden. Als er geen gebeurtenisverkeer is verzonden voordat dit interval verloopt, wordt een heartbeat verzonden naar de Fluentd-server. De standaardwaarde is 60000 milliseconden (1 minuut).
SendBufferSize Geheel getal De netwerkbufferruimte, in bytes, die is toegewezen voor verzendbewerkingen. De standaardwaarde is 32768 bytes (32 kilobytes).
TlsConnectionEstablishmentTimeoutMs Geheel getal De time-out, in milliseconden, om een SSL/TLS-verbinding tot stand te brengen met de Fluentd-server. De standaardwaarde is 10000 milliseconden (10 seconden).
Als UseTLS deze waarde is ingesteld op false, wordt deze waarde genegeerd.
UseTLS Booleaanse waarde Geeft aan of de container SSL/TLS moet gebruiken voor communicatie met de Fluentd-server. De standaardwaarde is false.

Instellingen voor HTTP-proxyreferenties

Als u een HTTP-proxy wilt configureren voor het maken van uitgaande aanvragen, gebruikt u deze twee argumenten:

Naam Gegevenstype Beschrijving
HTTP_PROXY tekenreeks De proxy die moet worden gebruikt, bijvoorbeeld http://proxy:8888
<proxy-url>
HTTP_PROXY_CREDS tekenreeks Referenties die nodig zijn voor verificatie bij de proxy, username:passwordbijvoorbeeld. Deze waarde moet in kleine letters staan.
<proxy-user> tekenreeks De gebruiker voor de proxy.
<proxy-password> tekenreeks Het wachtwoord dat is <proxy-user> gekoppeld aan de proxy.
docker run --rm -it -p 5000:5000 \
--memory 2g --cpus 1 \
--mount type=bind,src=/home/azureuser/output,target=/output \
<registry-location>/<image-name> \
Eula=accept \
Billing=<endpoint> \
ApiKey=<api-key> \
HTTP_PROXY=<proxy-url> \
HTTP_PROXY_CREDS=<proxy-user>:<proxy-password> \

Instellingen voor logboekregistratie

De Logging instellingen beheren ASP.NET Core-logboekregistratieondersteuning voor uw container. U kunt dezelfde configuratie-instellingen en -waarden gebruiken voor uw container die u gebruikt voor een ASP.NET Core-toepassing.

De volgende providers voor logboekregistratie worden ondersteund door de container:

Provider Doel
Console De ASP.NET Core-logboekregistratieprovider Console . Alle ASP.NET Core-configuratie-instellingen en standaardwaarden voor deze logboekregistratieprovider worden ondersteund.
Fouten opsporen De ASP.NET Core-logboekregistratieprovider Debug . Alle ASP.NET Core-configuratie-instellingen en standaardwaarden voor deze logboekregistratieprovider worden ondersteund.
schijf De JSON-logboekregistratieprovider. Deze logboekprovider schrijft logboekgegevens naar de uitvoerkoppeling.

Met deze containeropdracht worden logboekgegevens opgeslagen in de JSON-indeling naar de uitvoerkoppeling:

docker run --rm -it -p 5000:5000 \
--memory 2g --cpus 1 \
--mount type=bind,src=/home/azureuser/output,target=/output \
<registry-location>/<image-name> \
Eula=accept \
Billing=<endpoint> \
ApiKey=<api-key> \
Logging:Disk:Format=json \
Mounts:Output=/output

Deze containeropdracht bevat informatie over foutopsporing, voorafgegaan door dbug, terwijl de container wordt uitgevoerd:

docker run --rm -it -p 5000:5000 \
--memory 2g --cpus 1 \
<registry-location>/<image-name> \
Eula=accept \
Billing=<endpoint> \
ApiKey=<api-key> \
Logging:Console:LogLevel:Default=Debug

Schijflogboekregistratie

De Disk logboekregistratieprovider ondersteunt de volgende configuratie-instellingen:

Naam Gegevenstype Beschrijving
Format String De uitvoerindeling voor logboekbestanden.
Opmerking: deze waarde moet worden ingesteld om json de logboekregistratieprovider in te schakelen. Als deze waarde is opgegeven zonder ook een uitvoerkoppeling op te geven tijdens het instantiëren van een container, treedt er een fout op.
MaxFileSize Geheel getal De maximale grootte, in megabytes (MB), van een logboekbestand. Wanneer de grootte van het huidige logboekbestand aan deze waarde voldoet of overschrijdt, wordt er een nieuw logboekbestand gestart door de logboekregistratieprovider. Als -1 is opgegeven, wordt de grootte van het logboekbestand alleen beperkt door de maximale bestandsgrootte, indien aanwezig, voor de uitvoerkoppeling. De standaardwaarde is 1.

Zie Instellingen bestandsconfiguratie voor meer informatie over het configureren van ondersteuning voor ASP.NET Core-logboekregistratie.

Instellingen koppelen

Gebruik bindingskoppelingen om gegevens naar en van de container te lezen en te schrijven. U kunt een invoerkoppeling of uitvoerkoppeling opgeven door de --mount optie op te geven in de opdracht docker-run .

De Standard Speech-containers gebruiken geen invoer- of uitvoerkoppelingen om trainingsgegevens of servicegegevens op te slaan. Aangepaste spraakcontainers zijn echter afhankelijk van volumekoppelingen.

De exacte syntaxis van de locatie van de hostkoppeling varieert afhankelijk van het hostbesturingssysteem. Bovendien is de koppelingslocatie van de hostcomputer mogelijk niet toegankelijk vanwege een conflict tussen machtigingen die worden gebruikt door het docker-serviceaccount en de machtigingen voor de hostkoppelingslocatie.

Optioneel Naam Gegevenstype Beschrijving
Niet toegestaan Input String Standaard spraakcontainers gebruiken dit niet. Aangepaste spraakcontainers maken gebruik van volumekoppelingen.
Optioneel Output String Het doel van de uitvoerkoppeling. De standaardwaarde is /output. Dit is de locatie van de logboeken. Dit omvat containerlogboeken.

Voorbeeld:
--mount type=bind,src=c:\output,target=/output

Instellingen voor volumekoppeling

De aangepaste spraakcontainers maken gebruik van volumekoppelingen om aangepaste modellen te behouden. U kunt een volumekoppeling opgeven door de -v optie (of --volume) toe te voegen aan de opdracht docker run .

Notitie

De instellingen voor volumekoppeling zijn alleen van toepassing op aangepaste spraak-naar-tekstcontainers .

Aangepaste modellen worden de eerste keer gedownload dat een nieuw model wordt opgenomen als onderdeel van de opdracht voor de aangepaste spraakcontainer docker run . Sequentiële uitvoeringen van hetzelfde ModelId voor een aangepaste spraakcontainer maken gebruik van het eerder gedownloade model. Als de volumekoppeling niet is opgegeven, kunnen aangepaste modellen niet worden behouden.

De instelling voor volumekoppeling bestaat uit drie door kleur : gescheiden velden:

  1. Het eerste veld is de naam van het volume op de hostcomputer, bijvoorbeeld C:\input.
  2. Het tweede veld is de map in de container, bijvoorbeeld /usr/local/models.
  3. Het derde veld (optioneel) is een door komma's gescheiden lijst met opties. Zie voor meer informatie het gebruik van volumes.

Hier volgt een voorbeeld van een volumekoppeling waarmee de hostmachine C:\input directory wordt gekoppeld aan de map containers /usr/local/models .

-v C:\input:/usr/local/models

Volgende stappen