음성 스크립트 작성을 사용하면 스트리밍 오디오 데이터를 실시간으로 스크립트 작성된 텍스트로 변환할 수 있습니다. Agent Assist는 텍스트를 기반으로 제안을 하므로 오디오 데이터를 사용하기 전에 변환해야 합니다. 또한 고객 경험 분석과 함께 스크립트 작성된 스트리밍 오디오를 사용하여 에이전트 대화에 관한 실시간 데이터 (예: 주제 모델링)를 수집할 수 있습니다.
Agent Assist에서 사용할 스트리밍 오디오를 스크립트 작성하는 방법에는 두 가지가 있습니다. SIPREC 기능을 사용하거나 오디오 데이터를 페이로드로 사용하여 gRPC 호출을 하는 것입니다. 이 페이지에서는 gRPC 호출을 사용하여 스트리밍 오디오 데이터를 스크립트 작성하는 프로세스를 설명합니다.
음성 스크립트 작성은 Speech-to-Text 스트리밍 음성 인식을 사용하여 작동합니다. Speech-to-Text는 표준 및 고급의 여러 인식 모델을 제공합니다. Agent Assist는 음성 스크립트 작성에 사용할 수 있는 모델을 제한하지 않지만 음성 스크립트 작성은 전화 통신 또는 Chirp 3 모델과 함께 사용하는 경우에 만 GA 수준에서 지원됩니다. 최적의 스크립트 작성 품질을 위해 Chirp 3 모델을 사용하는 것이 좋습니다(지역별 사용 가능 여부에 따라 다름).
기본 요건
- 프로젝트를 만듭니다 에서 Google Cloud.
- Dialogflow API를 사용 설정합니다.
- Google 담당자에게 문의하여 계정에 Speech-to-Text 고급 모델에 대한 액세스 권한이 있는지 확인합니다.
대화 프로필 만들기
대화 프로필을 만들려면
Agent Assist 콘솔을 사용하거나
ConversationProfile 리소스에서 create 메서드를 직접 호출합니다.
음성 스크립트 작성의 경우 대화에서 오디오 데이터를 전송할 때
ConversationProfile.stt_config를 기본 InputAudioConfig로 구성하는 것이 좋습니다.

대화 런타임에 스크립트 작성 가져오기
대화 런타임에 스크립트 작성을 가져오려면 대화 참여자를 만들고 각 참여자의 오디오 데이터를 전송해야 합니다.
참여자 만들기
참여자는 세 가지 유형이 있습니다
.
역할에 관한 자세한 내용은 참조
문서
를 확인하세요. participant에서 create 메서드를 호출하고 role을 지정합니다. 스크립트 작성을 가져오는 데 필요한 StreamingAnalyzeContent는 END_USER 또는 HUMAN_AGENT 참여자만 호출할 수 있습니다.
오디오 데이터 전송 및 스크립트 가져오기
StreamingAnalyzeContent
를 사용하여 참여자의 오디오를 Google에 전송하고 다음
매개변수를 사용하여 스크립트 작성을 가져올 수 있습니다.
스트림의 첫 번째 요청은
InputAudioConfig여야 합니다. (여기에서 구성된 필드는ConversationProfile.stt_config의 해당 설정을 재정의합니다.) 두 번째 요청이 있을 때까지 오디오 입력을 전송하지 마세요.audioEncoding은AUDIO_ENCODING_LINEAR_16또는AUDIO_ENCODING_MULAW로 설정해야 합니다.model: 오디오를 스크립트 작성하는 데 사용할 Speech-to-Text 모델입니다. 이 필드를chirp_3으로 설정합니다. 변형은 스크립트 작성 품질에 영향을 미치지 않으므로 음성 모델 변형 을 지정하지 않거나 사용 가능한 최적의 모델 사용 을 선택할 수 있습니다.- 최적의 스크립트 작성 품질을 위해
singleUtterance를false로 설정해야 합니다.singleUtterance가false인 경우END_OF_SINGLE_UTTERANCE를 예상해서는 안 되지만StreamingAnalyzeContentResponse.recognition_result내에서isFinal==true를 사용하여 스트림을 반쯤 닫을 수 있습니다. - 선택적 추가 매개변수: 다음 매개변수는
선택사항입니다. 이러한 매개변수에 액세스하려면 Google 담당자에게 문의하세요.
languageCode: 오디오의language_code입니다. 기본값은en-US입니다.alternativeLanguageCodes: 이 기능은 Chirp 3 모델의 GA 수준 준비 상태에만 있습니다. 오디오에서 감지될 수 있는 추가 언어입니다. Agent Assist는language_code필드를 사용하여 오디오 시작 시 언어를 자동으로 감지하고 후속 대화 차례에서 기본값으로 설정합니다.alternativeLanguageCodes필드를 사용하면 Agent Assist에서 선택할 수 있는 옵션을 더 많이 지정할 수 있습니다.phraseSets: Speech-to-Text 모델 적응phraseSet리소스 이름입니다.- Chirp 3 모델의 적응을 구성하려면 쉼표 없이 줄바꿈으로 구분된 인라인 문구를 추가합니다.
- 음성 스크립트 작성을 위해
telephony와 같은 다른 모델과 함께 모델 적응을 사용하려면 먼저 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에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참고하세요.
다음 단계에 따라 conversation_management 및 participant_management의 Python 파일을 확인합니다.
Python 문서의 GitHub 저장소로 이동합니다.
파일로 이동 을 클릭하고 파일 이름(
conversation_management또는participant_management)을 입력합니다.입력 을 클릭합니다.
권장사항
메시지 전송 시간은 발화가 시작되는 시간입니다. 메시지 전송 시간을 사용하여 고객센터에서 음성 메시지를 표시하거나 분석하는 순서를 결정합니다.