CCAI 스크립트를 사용하면 스트리밍 오디오 데이터를 실시간으로 스크립트 텍스트로 변환할 수 있습니다. Agent Assist는 텍스트를 기반으로 추천을 제공하므로 오디오 데이터를 사용하려면 먼저 변환해야 합니다. CCAI Insights에서 스크립트가 생성된 스트리밍 오디오를 사용하여 상담사 대화에 관한 실시간 데이터 (예: 주제 모델링)를 수집할 수도 있습니다.
CCAI와 함께 사용할 스트리밍 오디오를 스크립트로 변환하는 방법에는 두 가지가 있습니다. SIPREC 기능을 사용하거나 오디오 데이터를 페이로드로 사용하여 gRPC를 호출하는 것입니다. 이 페이지에서는 gRPC 호출을 사용하여 스트리밍 오디오 데이터를 텍스트로 변환하는 프로세스를 설명합니다.
CCAI 스크립트는 Speech-to-Text 스트리밍 음성 인식을 사용하여 작동합니다. Speech-to-Text는 표준 및 고급 등 여러 인식 모델을 제공합니다. CCAI 스크립트는 고급 전화 통화 모델과 함께 사용되는 경우에만 GA 수준에서 지원됩니다.
기본 요건
- Google Cloud에서 프로젝트를 만듭니다.
- Dialogflow API를 사용 설정합니다.
- Google 담당자에게 문의하여 계정에 음성 텍스트 변환 향상된 모델에 대한 액세스 권한이 있는지 확인하세요.
대화 프로필 만들기
대화 프로필을 만들려면 Agent Assist 콘솔을 사용하거나 ConversationProfile
리소스에서 create
메서드를 직접 호출합니다.
CCAI 스크립트의 경우 대화에서 오디오 데이터를 전송할 때 ConversationProfile.stt_config
를 기본 InputAudioConfig
로 구성하는 것이 좋습니다.
대화 런타임에 스크립트 가져오기
대화 런타임에 스크립트를 가져오려면 대화의 참여자를 만들고 각 참여자의 오디오 데이터를 전송해야 합니다.
참여자 만들기
참여자에는 세 가지 유형이 있습니다.
역할에 관한 자세한 내용은 참조 문서를 참고하세요. participant
에서 create
메서드를 호출하고 role
를 지정합니다. END_USER
또는 HUMAN_AGENT
참여자만 스크립트를 가져오는 데 필요한 StreamingAnalyzeContent
를 호출할 수 있습니다.
오디오 데이터 전송 및 스크립트 가져오기
StreamingAnalyzeContent
를 사용하여 다음 매개변수를 사용하여 참여자의 오디오를 Google에 전송하고 스크립트를 가져올 수 있습니다.
스트림의 첫 번째 요청은
InputAudioConfig
여야 합니다. 여기에서 구성된 필드는ConversationProfile.stt_config
의 해당 설정을 재정의합니다. 두 번째 요청이 있을 때까지 오디오 입력을 전송하지 마세요.audioEncoding
를AUDIO_ENCODING_LINEAR_16
또는AUDIO_ENCODING_MULAW
로 설정해야 합니다.model
: 오디오를 텍스트로 변환하는 데 사용할 Speech-to-Text 모델입니다. 이 필드를telephony
로 설정합니다.- 최적의 스크립트 품질을 위해
singleUtterance
를false
로 설정해야 합니다.singleUtterance
이false
인 경우END_OF_SINGLE_UTTERANCE
를 기대해서는 안 되지만StreamingAnalyzeContentResponse.recognition_result
내의isFinal==true
를 사용하여 스트림을 절반으로 닫을 수 있습니다. - 선택적 추가 매개변수: 다음 매개변수는 선택사항입니다. 이러한 매개변수에 액세스하려면 Google 담당자에게 문의하세요.
languageCode
: 오디오의language_code
입니다. 기본값은en-US
입니다.alternativeLanguageCodes
: 오디오에서 감지될 수 있는 추가 언어입니다. Agent Assist는language_code
필드를 사용하여 오디오 시작 부분에서 언어를 자동으로 감지하고 이후 모든 대화에서 해당 언어를 사용합니다.alternativeLanguageCodes
필드를 사용하면 Agent Assist에서 선택할 수 있는 옵션을 더 지정할 수 있습니다.phraseSets
: Speech-to-Text 모델 적응phraseSet
리소스 이름입니다. CCAI 스크립트로 모델 적응을 사용하려면 먼저 Speech-to-Text API를 사용하여phraseSet
를 만들고 여기에 리소스 이름을 지정해야 합니다.
오디오 페이로드가 포함된 두 번째 요청을 전송한 후에는 스트림에서 일부
StreamingAnalyzeContentResponses
를 수신해야 합니다.StreamingAnalyzeContentResponse.recognition_result
에서is_final
가true
로 설정된 경우 스트림을 반쯤 닫거나 Python과 같은 일부 언어에서 전송을 중지할 수 있습니다.- 스트림을 반쯤 닫으면 서버는 최종 스크립트가 포함된 응답과 잠재적인 Dialogflow 추천 또는 Agent Assist 추천을 다시 전송합니다.
최종 스크립트는 다음 위치에서 확인할 수 있습니다.
StreamingAnalyzeContentResponse.message.content
.- Pub/Sub 알림을 사용 설정하면 Pub/Sub에서도 스크립트를 볼 수 있습니다.
이전 스트림이 닫힌 후 새 스트림을 시작합니다.
- 오디오 재전송: 새 스트림 시작 시간에 대한
is_final=true
가 포함된 응답의 마지막speech_end_offset
후에 생성된 오디오 데이터는 최상의 스크립트 품질을 위해StreamingAnalyzeContent
로 다시 전송해야 합니다.
- 오디오 재전송: 새 스트림 시작 시간에 대한
다음은 스트림의 작동 방식을 보여주는 다이어그램입니다.
스트리밍 인식 요청 코드 샘플
다음 코드 샘플은 스트리밍 텍스트 변환 요청을 보내는 방법을 보여줍니다.
Python
Agent Assist에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.