이 가이드에서는 API를 사용하여 오디오 입력을 인텐트 감지 요청으로 보내는 방법을 설명합니다. Dialogflow는 인텐트 일치를 시도하기 전에 오디오를 처리하여 텍스트로 변환합니다.
시작하기 전에
이 기능은 최종 사용자 상호작용에 API를 사용할 때만 적용됩니다. 통합을 사용 중인 경우, 이 가이드를 건너뛸 수 있습니다.
이 가이드를 읽기 전에 다음 작업을 완료하세요.
- Dialogflow 기본사항 읽기
- 설정 단계를 완료합니다.
에이전트 만들기
- Dialogflow ES 콘솔로 이동합니다.
- 메시지가 표시되면 콘솔에 로그인합니다. 자세한 내용은 Dialogflow 콘솔 개요를 참조하세요.
- 사이드바 메뉴에서 에이전트 로드 를 펼칩니다.
- 새 에이전트 만들기 를 클릭합니다.
- 에이전트 이름, 기본 언어, 기본 시간대를 입력합니다.
- 기존 프로젝트를 입력합니다. Dialogflow 콘솔에서 프로젝트를 만들도록 하려면 새 Google 프로젝트 만들기를 선택합니다.
- 만들기 를 클릭합니다.
인텐트 감지
인텐트를 감지하려면 detectIntent 메서드를
Sessions 유형에서 호출합니다.
REST
`book a room`이라고 말하는book-a-room.wav
샘플 입력 오디오 파일을 다운로드합니다. 이 예시에서 오디오 파일은 Base64로 인코딩되어야 하므로 다음 JSON 요청으로 오디오 파일을 제공할 수 있습니다.
요청을 위해 오디오 파일을 인코딩하려면 Linux에서 다음 명령어를 사용합니다.
wget https://cloud.google.com/dialogflow/es/docs/data/book-a-room.wav base64 -w 0 book-a-room.wav > book-a-room.b64
오디오 콘텐츠 인코딩에 대한 자세한 내용은 오디오 콘텐츠를 Base64로 인코딩을 참조하세요.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_ID: Google Cloud 프로젝트 ID
- AUDIO: base64로 인코딩된 오디오 콘텐츠
HTTP 메서드 및 URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/agent/sessions/123456789:detectIntent
JSON 요청 본문:
{
"queryInput": {
"audioConfig": {
"languageCode": "en-US"
}
},
"inputAudio": "AUDIO"
}
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{
"responseId": "3c1e5a89-75b9-4c3f-b63d-4b1351dd5e32",
"queryResult": {
"queryText": "book a room",
"action": "room.reservation",
"parameters": {
"time": "",
"date": "",
"guests": "",
"duration": "",
"location": ""
},
"fulfillmentText": "I can help with that. Where would you like to reserve a room?",
"fulfillmentMessages": [
{
"text": {
"text": [
"I can help with that. Where would you like to reserve a room?"
]
}
}
],
"intent": {
"name": "projects/PROJECT_ID/agent/intents/e8f6a63e-73da-4a1a-8bfc-857183f71228",
"displayName": "room.reservation"
},
"intentDetectionConfidence": 1,
"diagnosticInfo": {},
"languageCode": "en-us"
}
}
queryResult.action 필드 값은 'room.reservation'이고, queryResult.fulfillmentMessages[0|1].text.text[0] 필드 값은 사용자에게 추가 정보를 요청합니다.
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 참고 문서를 참조하세요.