Speech Service API용 Docker 컨테이너 설치 및 실행

컨테이너를 사용하면 사용자 고유의 환경에서 Azure Cognitive Services Speech Service API 중 일부를 실행할 수 있습니다. 컨테이너는 특정 보안 및 데이터 거버넌스 요구 사항에 적합합니다. 이 문서에서는 음성 컨테이너를 다운로드, 설치 및 실행하는 방법에 대해 알아봅니다.

음성 컨테이너를 사용하면 강력한 클라우드 기능 및 에지 지역성 모두에 최적화된 음성 애플리케이션 아키텍처를 구축할 수 있습니다. 클라우드 기반 Azure Speech Service와 동일한 가격 책정을 사용하는 여러 컨테이너를 사용할 수 있습니다.

중요

2021년 8월 31일 표준 음성 합성 음성 및 텍스트 음성 변환 컨테이너의 사용을 중지했습니다. 대신 인공신경망 텍스트 음성 변환 컨테이너를 사용하도록 애플리케이션을 마이그레이션하는 것이 좋습니다. 애플리케이션 업데이트에 대한 자세한 내용은 표준 음성에서 미리 빌드된 신경망 음성으로 마이그레이션을 참조하세요.

컨테이너 기능 최신 릴리스 상태
음성 텍스트 변환 감정을 분석하고 연속적인 실시간 음성 또는 일괄 오디오 녹음을 기록하며 중간 결과를 제공합니다. 3.8.0 일반 공급
음성 텍스트 변환 사용자 지정 Custom Speech 포털의 사용자 지정 모델을 사용하여 연속적인 실시간 음성 또는 일괄 오디오 녹음을 텍스트로 기록하고 중간 결과를 제공합니다. 3.8.0 일반 공급
음성 언어 식별 오디오 파일에서 음성 언어를 감지합니다. 1.5.0 미리 보기
인공신경망 텍스트 음성 변환 더 자연스러운 합성 음성을 허용하는 심층 신경망 기술을 사용하여 텍스트를 자연스러운 음성으로 변환합니다. 2.7.0 일반 공급

필수 구성 요소

중요

  • 음성 컨테이너를 사용하려면 온라인 요청을 제출하고 승인을 받아야 합니다. 자세한 내용은 "컨테이너 실행에 대한 승인 요청" 섹션을 참조하세요.
  • 일반 공급 컨테이너는 Microsoft의 안정성 및 지원 요구 사항을 충족합니다. 미리 보기의 컨테이너는 아직 개발 중입니다.

Speech Service 컨테이너를 사용하려면 먼저 다음 필수 구성 요소를 충족해야 합니다. Azure 구독이 아직 없는 경우 시작하기 전에 체험 계정을 만듭니다. 다음 작업을 수행해야 합니다.

  • 호스트 컴퓨터에 Docker가 설치되어 있습니다. Docker는 컨테이너에서 Azure에 연결하여 청구 데이터를 보낼 수 있도록 구성해야 합니다.
    • Windows에서 Docker는 Linux 컨테이너를 지원하도록 구성해야 합니다.
    • Docker 개념에 대한 기본 지식이 있어야 합니다.
  • 무료(F0) 또는 표준(S) 가격 책정 계층을 사용하여 Speech Service 리소스를 만듭니다.

필수 매개 변수 수집

모든 Cognitive Services 컨테이너에는 세 가지 기본 매개 변수가 필요합니다. Microsoft Software 사용 조건에는 동의 값이 있어야 합니다. 엔드포인트 URI 및 API 키도 필요합니다.

엔드포인트 URI

{ENDPOINT_URI} 값은 해당 Cognitive Service 리소스의 Azure Portal 개요 페이지에서 사용할 수 있습니다. 개요 페이지로 이동하여 엔드포인트를 마우스로 가리키면 클립보드로 복사 아이콘이 나타납니다. 필요한 경우 엔드포인트를 복사하여 사용합니다.

나중에 사용할 엔드포인트 URI 수집을 보여 주는 스크린샷.

구성

{API_KEY} 값은 컨테이너를 시작하는 데 사용되며 해당 Cognitive Service 리소스의 Azure Portal 페이지에서 사용할 수 있습니다. 페이지로 이동하고 클립보드로 복사 아이콘을 선택합니다.

나중에 사용할 두 키 중 하나를 가져오는 것을 보여 주는 스크린샷.

중요

이러한 구독 키는 Cognitive Services API에 액세스하는 데 사용됩니다. 키를 공유하지 마세요. 안전하게 저장하세요. 예를 들어 Azure Key Vault를 사용합니다. 또한 이러한 키를 정기적으로 다시 생성하는 것이 좋습니다. API 호출을 수행하는 데는 하나의 키만 필요합니다. 첫 번째 키를 다시 생성하는 경우 두 번째 키를 사용하여 서비스에 계속 액세스할 수 있습니다.

호스트 컴퓨터 요구 사항 및 권장 사항

호스트는 Docker 컨테이너를 실행하는 x64 기반 컴퓨터입니다. 다음과 같이 Azure에서 컴퓨터 온-프레미스 또는 Docker 호스팅 서비스일 수 있습니다.

컨테이너 요구 사항 및 추천

다음 표에서는 각 음성 컨테이너의 최소 및 권장 리소스 할당에 대해 설명합니다.

컨테이너 최소 권장
음성 텍스트 변환 4개 코어, 4GB 메모리 8개 코어, 6GB 메모리
음성 텍스트 변환 사용자 지정 4개 코어, 4GB 메모리 8개 코어, 6GB 메모리
음성 언어 식별 1개 코어, 1GB 메모리 1개 코어, 1GB 메모리
인공신경망 텍스트 음성 변환 6개 코어, 12GB 메모리 8개 코어, 16GB 메모리

각 코어는 속도가 2.6GHz 이상이어야 합니다.

docker run 명령의 일부로 사용되는 --cpus--memory 설정에 해당하는 코어 및 메모리.

참고

최소 및 권장 할당은 호스트 시스템 리소스가 아닌 Docker 제한을 기반으로 합니다. 예를 들어, 음성 텍스트 변환 컨테이너는 큰 언어 모델의 일부를 메모리 매핑합니다. 전체 파일이 4~6GB의 추가 메모리에 맞는 것이 좋습니다. 또한 모델이 메모리로 페이징되므로 두 컨테이너의 첫 번째 실행은 더 오래 걸릴 수 있습니다.

고급 벡터 확장 지원

호스트는 Docker 컨테이너를 실행하는 컴퓨터입니다. 호스트가 Advanced Vector Extensions(AVX2)를 지원해야 합니다. 다음 명령을 사용하여 Linux 호스트에서의 AVX2 지원을 확인할 수 있습니다.

grep -q avx2 /proc/cpuinfo && echo AVX2 supported || echo No AVX2 support detected

경고

호스트 컴퓨터는 AVX2를 지원하는 데 필요합니다. AVX2가 제대로 지원되지 않으면 컨테이너가 제대로 작동하지 않습니다.

컨테이너 실행에 대한 승인 요청

컨테이너에 대한 액세스를 요청하려면 요청 양식을 작성하여 제출하세요.

이 양식에서는 컨테이너를 사용할 사용자, 회사 및 사용자 시나리오에 대한 정보를 요청합니다. 양식이 제출되면 Azure Cognitive Services 팀에서 해당 양식을 검토하고 영업일 기준 10일 이내에 결정 사항을 이메일로 알려드립니다.

중요

  • 양식에서 Azure 구독 ID와 연결된 이메일 주소를 사용해야 합니다.
  • 컨테이너를 실행하는 데 사용하는 Azure 리소스는 승인된 Azure 구독 ID로 생성되어야 합니다.
  • Microsoft에서 애플리케이션의 상태에 대한 업데이트를 확인하려면 이메일(받은 편지함 및 스팸 메일함 모두)을 확인합니다.

승인을 받으면 문서의 뒷부분에서 설명하는 MCR(Microsoft Container Registry)에서 컨테이너를 다운로드여 실행할 수 있습니다.

Azure 구독이 승인되지 않으면 컨테이너를 실행할 수 없습니다.

docker pull로 컨테이너 이미지 가져오기

음성용 컨테이너 이미지는 다음 컨테이너 레지스트리에서 사용할 수 있습니다.

컨테이너 리포지토리
음성 텍스트 변환 mcr.microsoft.com/azure-cognitive-services/speechservices/speech-to-text:latest

docker images 명령을 사용하여 다운로드한 컨테이너 이미지를 나열할 수 있습니다. 예를 들어 다음 명령은 다운로드한 각 컨테이너 이미지의 ID, 리포지토리 및 태그를 테이블 형식으로 나열합니다.

docker images --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}"

IMAGE ID         REPOSITORY                TAG
<image-id>       <repository-path/name>    <tag-name>

음성 컨테이너용 docker pull

음성 텍스트 변환 컨테이너에 대한 docker pull

docker pull 명령을 사용하여 Microsoft Container Registry에서 컨테이너 이미지를 다운로드합니다.

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

중요

latest 태그는 en-US 로캘을 끌어옵니다. 추가 로캘은 음성 텍스트 변환 로캘을 참조하세요.

음성 텍스트 변환 로캘

latest를 제외한 모든 태그는 다음과 같은 형식이며 대/소문자를 구분합니다.

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

다음 태그는 해당 형식의 예입니다.

2.6.0-amd64-en-us

음성 텍스트 변환 컨테이너의 지원되는 모든 로캘은 음성 텍스트 변환 이미지 태그를 참조하세요.

컨테이너 사용

컨테이너가 호스트 컴퓨터에 있으면 다음 프로세스를 사용하여 컨테이너 작업을 수행합니다.

  1. 필수 청구 설정을 사용하여 컨테이너를 실행합니다. docker run 명령의 자세한 예제를 사용할 수 있습니다.
  2. 컨테이너의 예측 엔드포인트를 쿼리합니다.

docker run을 사용하여 컨테이너 실행

Docker 실행 명령을 사용하여 컨테이너를 실행합니다. {Endpoint_URI}{API_Key} 값을 가져오는 방법에 대한 자세한 내용은 필수 매개 변수 수집을 참조하세요. docker run 명령에 대한 추가 예제도 사용할 수 있습니다.

연결이 끊긴 환경에서 컨테이너 실행

인터넷에서 연결이 끊긴 컨테이너를 사용하려면 액세스를 요청해야 합니다. 자세한 내용은 연결이 끊긴 환경에서 컨테이너를 사용하기 위한 액세스 요청을 참조하세요.

참고

일반적인 컨테이너 요구 사항은 컨테이너 요구 사항 및 권장 사항을 참조하세요.

표준 음성 텍스트 변환 컨테이너를 실행하려면 다음 docker run 명령을 실행합니다.

docker run --rm -it -p 5000:5000 --memory 4g --cpus 4 \
mcr.microsoft.com/azure-cognitive-services/speechservices/speech-to-text \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}

이 명령은 다음을 수행합니다.

  • 컨테이너 이미지에서 음성 텍스트 변환 컨테이너를 실행합니다.
  • 4개 CPU 코어 및 4GB 메모리를 할당합니다.
  • TCP 포트 5000을 노출하고 컨테이너의 의사-TTY를 할당합니다.
  • 종료 후 자동으로 컨테이너를 제거합니다. 컨테이너 이미지는 호스트 컴퓨터에서 계속 사용할 수 있습니다.

참고

컨테이너는 GStreamer를 사용하여 Speech SDK에 대한 압축 오디오 입력을 지원합니다. 컨테이너에 GStreamer를 설치하려면 음성 SDK를 통해 코덱 압축 오디오 입력 사용에서 GStreamer에 대한 Linux 지침을 따릅니다.

음성 텍스트 변환 출력의 분리

분리는 기본적으로 사용됩니다. 응답에서 분리를 구현하려면 diarize_speech_config.set_service_property를 사용합니다.

  1. 구문 출력 형식을 Detailed로 설정합니다.

  2. 분리 모드를 설정합니다. 지원되는 모드는 IdentityAnonymous입니다.

    diarize_speech_config.set_service_property(
        name='speechcontext-PhraseOutput.Format',
        value='Detailed',
        channel=speechsdk.ServicePropertyChannel.UriQueryParameter
    )
    
    diarize_speech_config.set_service_property(
        name='speechcontext-phraseDetection.speakerDiarization.mode',
        value='Identity',
        channel=speechsdk.ServicePropertyChannel.UriQueryParameter
    )
    

    참고

    "ID" 모드는 "SpeakerId": "Customer" 또는 "SpeakerId": "Agent"를 반환합니다. "Anonymous" 모드는 "SpeakerId": "Speaker 1" 또는 "SpeakerId": "Speaker 2"를 반환합니다.

음성 텍스트 변환 출력의 감정 분석

음성 텍스트 변환 컨테이너의 v2.6.0부터 미리 보기 엔드포인트 대신 Language Service 3.0 API 엔드포인트를 사용해야 합니다. 예:

  • https://eastus.api.cognitive.microsoft.com/text/analytics/v3.0/sentiment
  • https://localhost:5000/text/analytics/v3.0/sentiment

참고

언어 서비스 v3.0 API는 v3.0-preview.1 이전 버전과 호환되지 않습니다. 최신 감정 기능을 지원하려면 음성 텍스트 변환 컨테이너 이미지 v2.6.0 및 Language Service v3.0을 사용합니다.

음성 텍스트 변환 컨테이너 v2.2.0부터 출력에서 감정 분석 v3 API를 호출할 수 있습니다. 감정 분석을 호출하려면 언어 서비스 API 리소스 엔드포인트가 필요합니다. 예:

  • https://eastus.api.cognitive.microsoft.com/text/analytics/v3.0-preview.1/sentiment
  • https://localhost:5000/text/analytics/v3.0-preview.1/sentiment

클라우드에서 언어 서비스 엔드포인트에 액세스하는 경우 키가 필요합니다. 언어 서비스 기능을 로컬로 실행하는 경우 이 키를 제공할 필요가 없습니다.

키와 엔드포인트는 다음 예제와 같이 음성 컨테이너에 인수로 전달됩니다.

docker run -it --rm -p 5000:5000 \
mcr.microsoft.com/azure-cognitive-services/speechservices/speech-to-text:latest \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY} \
CloudAI:SentimentAnalysisSettings:TextAnalyticsHost={TEXT_ANALYTICS_HOST} \
CloudAI:SentimentAnalysisSettings:SentimentAnalysisApiKey={SENTIMENT_APIKEY}

이 명령은 다음을 수행합니다.

  • 이전 명령과 동일한 단계를 수행합니다.
  • 감정 분석 요청을 보내기 위한 Language Service API 엔드포인트 및 키를 저장합니다.

음성 텍스트 변환 출력의 Phraselist v2

음성 텍스트 변환 컨테이너 v2.6.0부터 전체 문장 또는 중간에 있는 구문 중 하나인 고유한 구문이 포함된 출력을 얻을 수 있습니다. 예를 들어 다음 문장의 the tall man입니다.

  • "This is a sentence the tall man this is another sentence."

구문 목록을 구성하려면 호출할 때 고유한 구문을 추가해야 합니다. 예를 들면 다음과 같습니다.

    phrase="the tall man"
    recognizer = speechsdk.SpeechRecognizer(
        speech_config=dict_speech_config,
        audio_config=audio_config)
    phrase_list_grammer = speechsdk.PhraseListGrammar.from_recognizer(recognizer)
    phrase_list_grammer.addPhrase(phrase)
    
    dict_speech_config.set_service_property(
        name='setflight',
        value='xonlineinterp',
        channel=speechsdk.ServicePropertyChannel.UriQueryParameter
    )

추가할 구문이 여러 개 있는 경우 각 구문에 대해 .addPhrase()를 호출하여 구문 목록에 추가합니다.

중요

컨테이너를 실행하려면 Eula, BillingApiKey 옵션을 지정해야 합니다. 그렇지 않으면 컨테이너가 시작되지 않습니다. 자세한 내용은 Billing를 참조하세요.

컨테이너의 예측 엔드포인트 쿼리

참고

여러 컨테이너를 실행하는 경우 고유한 포트 번호를 사용합니다.

컨테이너 SDK 호스트 URL 프로토콜
표준 음성 텍스트 변환 및 사용자 지정 음성 텍스트 변환 ws://localhost:5000 WS
인공신경망 텍스트 음성 변환, 음성 언어 식별 http://localhost:5000 HTTP

WSS 및 HTTPS 프로토콜을 사용하는 방법에 대한 자세한 내용은 컨테이너 보안을 참조하세요.

음성 텍스트 변환(표준 및 사용자 지정)

컨테이너는 Speech SDK를 통해 액세스되는 Websocket 기반 쿼리 엔드포인트 API를 제공합니다. 기본적으로 Speech SDK는 온라인 음성 서비스를 사용합니다. 컨테이너를 사용하려면 초기화 메서드를 변경해야 합니다.

컨테이너에서 Speech SDK를 사용하는 경우 Azure 음성 리소스 구독 키 또는 인증 전달자 토큰을 제공할 필요가 없습니다.

다음 예를 참조하십시오.

다음 Azure 클라우드 초기화 호출을

var config = SpeechConfig.FromSubscription("YourSubscriptionKey", "YourServiceRegion");

컨테이너 호스트에서 이 호출을 사용하려면 다음을 수행합니다.

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

감정 분석

컨테이너에 Language Service API 자격 증명을 제공한 경우 Speech SDK를 사용하여 감정 분석을 통한 음성 인식 요청을 보낼 수 있습니다. 단순 또는 상세 형식을 사용하도록 API 응답을 구성할 수 있습니다.

참고

Speech Service Python SDK의 v1.13에는 감정 분석과 관련된 문제가 있습니다. Speech Service Python SDK에서 감정 분석을 사용하는 경우 v1.12.x 또는 이전 버전을 사용하세요.

단순 형식을 사용하도록 음성 클라이언트를 구성하려면 "Sentiment"Simple.Extensions를 값으로 추가합니다. 특정 언어 서비스 모델 버전을 선택하려면 speechcontext-phraseDetection.sentimentAnalysis.modelversion 속성 구성에서 'latest'를 대체합니다.

speech_config.set_service_property(
    name='speechcontext-PhraseOutput.Simple.Extensions',
    value='["Sentiment"]',
    channel=speechsdk.ServicePropertyChannel.UriQueryParameter
)
speech_config.set_service_property(
    name='speechcontext-phraseDetection.sentimentAnalysis.modelversion',
    value='latest',
    channel=speechsdk.ServicePropertyChannel.UriQueryParameter
)

Simple.Extensions는 감정 결과를 응답의 루트 계층에 제공합니다.

{
   "DisplayText":"What's the weather like?",
   "Duration":13000000,
   "Id":"6098574b79434bd4849fee7e0a50f22e",
   "Offset":4700000,
   "RecognitionStatus":"Success",
   "Sentiment":{
      "Negative":0.03,
      "Neutral":0.79,
      "Positive":0.18
   }
}

감정 분석을 완전히 사용하지 않도록 설정하려면 falsesentimentanalysis.enabled 값을 추가합니다.

speech_config.set_service_property(
    name='speechcontext-phraseDetection.sentimentanalysis.enabled',
    value='false',
    channel=speechsdk.ServicePropertyChannel.UriQueryParameter
)

인공신경망 텍스트 음성 변환

컨테이너는 REST 기반 엔드포인트 API를 제공합니다. 플랫폼, 프레임워크 및 언어 변형에 대한 많은샘플 소스 코드 프로젝트를 사용할 수 있습니다.

인공신경망 텍스트 음성 변환 컨테이너를 사용하면 다운로드한 이미지 태그의 로캘과 음성을 사용해야 합니다. 예를 들어 latest 태그를 다운로드한 경우 기본 로캘은 en-USAriaNeural 음성입니다. 그러면 {VOICE_NAME} 인수는 en-US-AriaNeural가 됩니다. 다음과 같은 SSML 예제를 참조하세요.

<speak version="1.0" xml:lang="en-US">
    <voice name="en-US-AriaNeural">
        This text will get converted into synthesized speech.
    </voice>
</speak>

동일한 호스트에서 여러 컨테이너 실행

노출된 포트로 여러 컨테이너를 실행하려는 경우, 각 컨테이너를 다른 노출된 포트로 실행해야 합니다. 예를 들어 첫 번째 컨테이너는 포트 5000에서 실행하고 두 번째 컨테이너는 포트 5001에서 실행합니다.

HOST에서 모두 실행되는 이 컨테이너 및 다른 Cognitive Services 컨테이너가 있을 수 있습니다. 또한 동일한 Cognitive Services 컨테이너의 여러 컨테이너를 실행할 수 있습니다.

컨테이너가 실행 중인지 확인

컨테이너가 실행되고 있는지 확인하는 방법은 여러 가지가 있습니다. 확인 대상인 컨테이너의 외부 IP 주소 및 노출된 포트를 찾고 즐겨 찾는 웹 브라우저를 엽니다. 아래의 다양한 요청 URL을 사용하여 컨테이너가 실행 중인지 확인합니다. 여기에 나열된 예제 요청 URL은 http://localhost:5000이지만 특정 컨테이너는 다를 수 있습니다. 컨테이너의 외부 IP 주소 및 노출된 포트를 사용해야 한다는 점에 유의하세요.

요청 URL 용도
http://localhost:5000/ 컨테이너는 홈페이지를 제공합니다.
http://localhost:5000/ready GET으로 요청된 이 URL을 통해 컨테이너가 모델에 대한 쿼리를 수락할 준비가 되었는지 확인할 수 있습니다. 이 요청은 Kubernetes 활동성 및 준비 상태 프로브에 사용될 수 있습니다.
http://localhost:5000/status 또한 GET으로 요청된 이 URL은 컨테이너를 시작하는 데 사용된 API 키가 엔드포인트 쿼리를 발생시키지 않고 유효한지 확인합니다. 이 요청은 Kubernetes 활동성 및 준비 상태 프로브에 사용될 수 있습니다.
http://localhost:5000/swagger 컨테이너는 엔드포인트에 대한 전체 설명서 세트와 사용해 보기 기능을 제공합니다. 이 기능을 사용하면 웹 기반 HTML 양식으로 설정을 입력할 수 있고 코드 작성 없이 쿼리를 만들 수 있습니다. 쿼리가 반환되면 필요한 HTTP 헤더 및 본문 형식을 보여주기 위해 예제 CURL 명령이 제공됩니다.

컨테이너의 홈페이지

컨테이너 중지

컨테이너를 종료하려면 컨테이너를 실행하는 명령줄 환경에서 Ctrl+C를 선택합니다.

문제 해결

컨테이너를 시작하거나 실행할 때 문제가 발생할 수 있습니다. 출력 탑재를 사용하고 로깅을 사용하도록 설정합니다. 이렇게 하면 문제를 해결할 때 컨테이너에서 유용한 로그 파일을 생성할 수 있습니다.

자세한 문제 해결 정보 및 지침은 Cognitive Services 컨테이너 FAQ(질문과 대답)를 참조하세요.

Cognitive Services 컨테이너를 실행하는 데 문제가 있는 경우 Microsoft 진단 컨테이너를 사용해 볼 수 있습니다. 이 컨테이너를 사용하여 Cognitive Services 컨테이너가 예상대로 작동하지 못하게 할 수 있는 배포 환경의 일반적인 오류를 진단할 수 있습니다.

컨테이너를 가져오려면 다음 docker pull 명령을 사용합니다.

docker pull mcr.microsoft.com/azure-cognitive-services/diagnostic

그런 다음, 컨테이너를 실행합니다. {ENDPOINT_URI}를 엔드포인트로 바꾸고, {API_KEY}를 리소스에 대한 키로 바꿉니다.

docker run --rm mcr.microsoft.com/azure-cognitive-services/diagnostic \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}

컨테이너는 청구 엔드포인트에 대한 네트워크 연결을 테스트 합니다.

결제

음성 컨테이너는 Azure 계정의 음성 리소스를 사용하여 청구 정보를 Azure에 보냅니다.

컨테이너에 대한 쿼리는 ApiKey 매개 변수에 사용되는 Azure 리소스의 가격 책정 계층으로 청구됩니다.

Azure Cognitive Services 컨테이너에는 측정 또는 청구 엔드포인트에 연결하지 않고 실행할 수 있는 라이선스가 없습니다. 사용자는 컨테이너가 항상 청구 엔드포인트와 청구 정보를 통신할 수 있도록 설정해야 합니다. Cognitive Services 컨테이너는 고객 데이터(예: 분석 중인 이미지 또는 텍스트)를 Microsoft에 보내지 않습니다.

Azure에 연결

컨테이너에는 실행할 청구 인수 값이 필요합니다. 이러한 값을 통해 컨테이너는 청구 엔드포인트에 연결할 수 있습니다. 컨테이너는 약 10 ~ 15분마다 사용량을 보고합니다. 컨테이너가 허용되는 시간 내에서 Azure에 연결되지 않으면 컨테이너는 계속 실행되지만 청구 엔드포인트가 복원될 때까지 쿼리를 처리하지 않습니다. 10 ~ 15분 간격으로 동시에 10회 동안 연결이 시도됩니다. 10회 시도 안에 청구 엔드포인트에 연결할 수 없는 경우 컨테이너는 요청 처리를 중지합니다. 청구를 위해 Microsoft로 전송되는 정보의 예는 Cognitive Services 컨테이너 FAQ를 참조하세요.

청구 인수

다음 세 가지 옵션 모두에 유효한 값이 제공되면 컨테이너를 시작합니다. docker run 명령이 컨테이너를 시작합니다.

옵션 Description
ApiKey 청구 정보를 추적하는 데 사용되는 Cognitive Services 리소스의 API 키입니다.
이 옵션의 값은 Billing에 지정된 프로비전된 리소스의 API 키로 설정해야 합니다.
Billing 청구 정보를 추적하는 데 사용되는 Cognitive Services 리소스의 엔드포인트입니다.
이 옵션의 값은 프로비저닝된 Azure 리소스의 엔드포인트 URI로 설정해야 합니다.
Eula 컨테이너에 대한 라이선스에 동의했음을 나타냅니다.
이 옵션의 값은 동의로 설정해야 합니다.

이러한 옵션에 대한 자세한 내용은 컨테이너 구성을 참조하세요.

요약

이 문서에서는 음성 컨테이너를 다운로드, 설치 및 실행하는 방법에 대한 개념과 워크플로에 대해 알아보았습니다. 요약하면 다음과 같습니다.

  • 음성은 다양한 기능이 있는 4개의 Docker용 Linux 컨테이너를 제공합니다.
    • 음성 텍스트 변환
    • 음성 텍스트 변환 사용자 지정
    • 인공신경망 텍스트 음성 변환
    • 음성 언어 식별
  • 컨테이너 이미지는 Azure의 컨테이너 레지스트리에서 다운로드됩니다.
  • 컨테이너 이미지는 Docker에서 실행됩니다.
  • REST API(텍스트 음성 변환만) 또는 SDK(음성 텍스트 변환 또는 텍스트 음성 변환)를 사용하는지 여부에 관계없이 컨테이너의 호스트 URI를 지정합니다.
  • 컨테이너를 인스턴스화할 때 청구 정보를 제공해야 합니다.

중요

Cognitive Services 컨테이너는 계량을 위해 Azure에 연결되지 않은 상태에서 실행할 수 있는 권한이 없습니다. 고객은 컨테이너에서 항상 계량 서비스와 청구 정보를 통신할 수 있도록 설정해야 합니다. Cognitive Services 컨테이너는 고객 데이터(예: 분석하는 이미지 또는 텍스트)를 Microsoft에 보내지 않습니다.

다음 단계