이 페이지에서는 API를 사용하여 오디오 입력을 인텐트 감지 요청으로 스트리밍하는 방법을 설명합니다. Dialogflow는 인텐트 일치를 시도하기 전에 오디오를 처리하여 텍스트로 변환합니다. 이 프로세스를 오디오 입력, 음성 인식, 음성 텍스트 변환, 또는 STT라고 합니다.
시작하기 전에
이 기능은 최종 사용자 상호작용에 API를 사용할 때만 적용됩니다. 통합을 사용 중인 경우, 이 가이드를 건너뛸 수 있습니다.
이 가이드를 읽기 전에 다음 작업을 완료하세요.
- Dialogflow 기본사항 읽기
- 설정 단계 수행
에이전트 만들기
- Dialogflow ES 콘솔로 이동합니다.
- 메시지가 표시되면 콘솔에 로그인합니다. 자세한 내용은 Dialogflow 콘솔 개요를 참조하세요.
- 사이드바 메뉴에서 에이전트 로드 를 펼칩니다.
- 새 에이전트 만들기 를 클릭합니다.
- 에이전트 이름, 기본 언어, 기본 시간대를 입력합니다.
- 기존 프로젝트를 입력합니다. Dialogflow 콘솔에서 프로젝트를 만들도록 하려면 새 Google 프로젝트 만들기를 선택합니다.
- 만들기 를 클릭합니다.
스트리밍 기본사항
Session 유형의
streamingDetectIntent 메서드는 양방향 gRPC 스트리밍 객체를 반환합니다.
이 객체에 사용할 수 있는 메서드는 언어에 따라 다르므로 자세한 내용은 클라이언트 라이브러리에 대한 참조 문서를 확인하세요.
스트리밍 객체는 데이터를 동시에 주고받는 데 사용됩니다. 이 객체를 사용하여 클라이언트가 오디오 콘텐츠를 Dialogflow로 스트리밍하는 동시에 StreamingDetectIntentResponse를 리슨합니다.
streamingDetectIntent 메서드에는 음성 인식에 영향을 주는 query_input.audio_config.single_utterance 매개변수가 있습니다.
false(기본값)면 클라이언트가 스트림을 종료할 때까지 음성 인식이 중단되지 않습니다.true이면 Dialogflow가 입력 오디오에서 단일 발화를 감지합니다. Dialogflow는 오디오의 음성이 멈추거나 일시 중지되었음을 감지하면 음성 인식을 중단하고 인식 결과END_OF_SINGLE_UTTERANCE와 함께StreamingDetectIntentResponse를 클라이언트로 보냅니다.END_OF_SINGLE_UTTERANCE를 수신한 후에 스트림에서 Dialogflow로 전송된 오디오는 Dialogflow에서 무시됩니다.
양방향 스트리밍에서 클라이언트는 더 많은 데이터를 전송하지 않을 것임을 서버에 알리기 위해 스트림 객체를 절반 종료 할 수 있습니다. 예를 들어 Java 및 Go에서 이 메서드는 closeSend라고 합니다.
다음과 같은 경우에는 스트림을 취소하지 않고 절반 종료하는 것이 중요합니다.
- 클라이언트가 데이터 전송을 완료한 경우
- 클라이언트가
single_utterance가true로 설정된 상태로 구성되고, 인식 결과END_OF_SINGLE_UTTERANCE와 함께StreamingDetectIntentResponse를 수신하는 경우
스트림을 닫은 후 클라이언트는 필요에 따라 새 스트림으로 새 요청을 시작해야 합니다.
인텐트 감지 스트리밍
다음 샘플은
Session
유형의 streamingDetectIntent 메서드를 사용하여 오디오를 스트리밍합니다.
Go
Dialogflow CX에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Java
Dialogflow CX에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
Dialogflow CX에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
Dialogflow CX에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
추가 언어
C#: 클라이언트 라이브러리 페이지의 C# 설정 안내를 따른 다음 .NET용 Dialogflow CX 참고 문서를 참조하세요.
PHP: 클라이언트 라이브러리 페이지의 PHP 설정 안내를 따른 다음 PHP용 Dialogflow CX 참고 문서를 참조하세요.
Ruby: 클라이언트 라이브러리 페이지의 Ruby 설정 안내 를 따른 다음 Ruby용 Dialogflow CX 참고 문서를 참조하세요.
샘플
브라우저 마이크에서 Dialogflow로 스트리밍하는 권장사항에 대한 자세한 내용은 샘플 페이지를 참조하세요.