색인
EmbeddedAssistant
(인터페이스)AssistConfig
(메시지)AssistRequest
(메시지)AssistResponse
(메시지)AssistResponse.EventType
(열거형)AudioInConfig
(메시지)AudioInConfig.Encoding
(열거형)AudioOut
(메시지)AudioOutConfig
(메시지)AudioOutConfig.Encoding
(열거형)DebugConfig
(메시지)DebugInfo
(메시지)DeviceAction
(메시지)DeviceConfig
(메시지)DeviceLocation
(메시지)DialogStateIn
(메시지)DialogStateOut
(메시지)DialogStateOut.MicrophoneMode
(열거형)ScreenOut
(메시지)ScreenOut.Format
(열거형)ScreenOutConfig
(메시지)ScreenOutConfig.ScreenMode
(열거형)SpeechRecognitionResult
(메시지)
EmbeddedAssistant
Google Assistant API를 구현하는 서비스입니다.
어시스트 | |
---|---|
삽입된 어시스턴트 서비스와 대화를 시작하거나 계속합니다. 각 호출은 1회 왕복을 수행하여 서비스에 오디오 요청을 보내고 오디오 응답을 받습니다. 오디오를 전송하는 동안 양방향 스트리밍을 사용하여 대화는 하나 이상의 gRPC 연결이며, 각각 여러 스트리밍 요청 및 응답으로 구성됩니다. 예를 들어 사용자가 내 쇼핑 목록에 추가라고 말하면 어시스턴트가 무엇을 추가하고 싶으신가요?라고 응답합니다. 첫 번째 gRPC 메시지의 스트리밍된 요청 및 응답 순서는 다음과 같습니다.
사용자가 베이글이라고 말하면 어시스턴트가 네, 쇼핑 목록에 베이글을 추가했습니다라고 응답합니다. 이는 또 다른 gRPC 연결 호출로
응답의 정확한 순서가 보장되지는 않지만, 순차적
|
AssistConfig
AssistRequest
메시지를 처리하는 방법을 지정합니다.
필드 | ||
---|---|---|
audio_out_config |
필수: 반환될 오디오의 형식을 지정하는 방법을 지정합니다. |
|
screen_out_config |
선택사항 서버가 시각적 화면 응답을 반환할 때 사용할 형식을 지정합니다. |
|
dialog_state_in |
필수: 현재 대화상자 상태를 나타냅니다. |
|
device_config |
특정 기기를 고유하게 식별하는 기기 설정입니다. |
|
debug_config |
선택사항 전체 |
|
통합 필드
|
||
audio_in_config |
이후 수신 오디오를 처리하는 방법을 지정합니다. 후속 요청에 |
|
text_query |
어시스턴트로 전송될 텍스트 입력입니다. 오디오 입력을 사용할 수 없는 경우 텍스트 인터페이스에서 채울 수 있습니다. |
AssistRequest
클라이언트에서 보낸 최상위 메시지입니다. 클라이언트는 일반적으로 AssistRequest
메시지를 2개 이상 보내야 합니다. 첫 번째 메시지는 config
메시지를 포함해야 하며 audio_in
데이터를 포함해서는 안 됩니다. 이후의 모든 메시지는 audio_in
데이터를 포함해야 하며 config
메시지를 포함해서는 안 됩니다.
필드 | ||
---|---|---|
통합 필드 type . 각 AssistRequest 에는 이러한 필드 중 하나만 지정해야 합니다. type 은 다음 중 하나여야 합니다. |
||
config |
|
|
audio_in |
인식할 오디오 데이터입니다. 오디오 데이터의 순차적인 청크가 순차적 |
AssistResponse
클라이언트가 수신한 최상위 메시지입니다. 하나 이상의 AssistResponse
메시지가 클라이언트로 다시 스트리밍됩니다.
필드 | |
---|---|
event_type |
출력 전용: 이벤트 유형을 나타냅니다. |
audio_out |
출력 전용: 쿼리에 대한 어시스턴트의 응답이 포함된 오디오입니다. |
screen_out |
출력 전용: 쿼리에 대한 어시스턴트의 시각적 응답을 포함합니다. |
device_action |
출력 전용: 적절한 페이로드 및 시맨틱 파싱을 통해 쿼리에 의해 트리거된 작업이 포함됩니다. |
speech_results[] |
출력 전용 이 반복되는 목록에는 현재 처리 중인 오디오의 연속 부분에 해당하는 0개 이상의 음성 인식 결과가 포함되며, 가장 오래된 오디오부터 가장 안정적인 부분부터 가장 최근 오디오에 해당하는 부분부터 시작됩니다. 문자열을 연결하여 진행 중인 전체 응답을 볼 수 있습니다. 음성 인식이 완료되면 이 목록에 |
dialog_state_out |
출력 전용: 사용자의 검색어와 관련된 출력이 포함됩니다. |
debug_info |
출력 전용 개발자를 위한 디버깅 정보입니다. 요청이 |
EventType
이벤트 유형을 나타냅니다.
열거형 | |
---|---|
EVENT_TYPE_UNSPECIFIED |
지정된 이벤트가 없습니다. |
END_OF_UTTERANCE |
이 이벤트는 서버가 사용자 발화의 끝을 감지했으며 추가 발언을 기대하지 않음을 나타냅니다. 따라서 서버는 추가 오디오를 처리하지 않습니다. 하지만 나중에 추가 결과가 반환될 수 있습니다. 클라이언트는 추가 오디오 데이터 전송을 중단하고 gRPC 연결을 반쯤 닫은 후 서버가 gRPC 연결을 닫을 때까지 추가 결과를 기다려야 합니다. |
AudioInConfig
후속 요청에 제공될 audio_in
데이터를 처리하는 방법을 지정합니다. 권장 설정은 Google 어시스턴트 SDK 권장사항을 참고하세요.
필드 | |
---|---|
encoding |
필수 모든 |
sample_rate_hertz |
필수 모든 |
인코딩
음성 메시지에서 전송된 데이터의 오디오 인코딩입니다. 오디오는 1채널 (모노)이어야 합니다.
열거형 | |
---|---|
ENCODING_UNSPECIFIED |
지정되지 않음 결과 google.rpc.Code.INVALID_ARGUMENT 을 반환합니다. |
LINEAR16 |
압축되지 않은 16비트 부호 Little Endian 샘플(리니어 PCM)입니다. 이 인코딩에는 헤더가 없고 원시 오디오 바이트만 포함됩니다. |
FLAC |
FLAC (무료 무손실 오디오 코덱)은 손실이 발생하지 않아 인식 성능이 저하되지 않고 필요한 대역폭이 LINEAR16 의 약 절반에 불과하므로 권장되는 인코딩입니다. 이 인코딩에는 FLAC 스트림 헤더 다음에 오디오 데이터가 포함됩니다. 16비트와 24비트 샘플을 지원하지만 STREAMINFO 의 모든 필드가 지원되지는 않습니다. |
AudioOut
쿼리에 대한 어시스턴트의 응답이 포함된 오디오입니다. 오디오 데이터의 순차적인 청크가 순차적 AssistResponse
메시지로 수신됩니다.
필드 | |
---|---|
audio_data |
출력 전용: 쿼리에 대한 어시스턴트의 응답이 포함된 오디오 데이터입니다. 오디오 데이터의 순차적인 청크가 순차적 |
AudioOutConfig
서버가 audio_out
메시지를 반환할 때 사용할 원하는 서버 형식을 지정합니다.
필드 | |
---|---|
encoding |
필수 모든 |
sample_rate_hertz |
필수 |
volume_percentage |
필수 기기 오디오 출력의 현재 볼륨 설정입니다. 유효한 값은 1~100입니다 (1~100%에 해당). |
인코딩
오디오 메시지에서 반환된 데이터의 오디오 인코딩입니다. 아래 명시된 경우를 제외하고 모든 인코딩은 헤더가 없는 원시 오디오 바이트입니다.
열거형 | |
---|---|
ENCODING_UNSPECIFIED |
지정되지 않음 결과 google.rpc.Code.INVALID_ARGUMENT 을 반환합니다. |
LINEAR16 |
압축되지 않은 16비트 부호 Little Endian 샘플(리니어 PCM)입니다. |
MP3 |
MP3 오디오 인코딩입니다. 샘플링 레이트는 페이로드에 인코딩됩니다. |
OPUS_IN_OGG |
ogg 컨테이너에 래핑된 Opus 인코딩 오디오입니다. 이렇게 하면 기본적으로 Android 및 Chrome과 같은 일부 브라우저에서 재생할 수 있는 파일이 생성됩니다. 동일한 비트 전송률을 사용하지만 인코딩 품질은 MP3보다 상당히 높습니다. 샘플링 레이트는 페이로드에 인코딩됩니다. |
DebugConfig
현재 요청의 디버깅 매개변수입니다.
필드 | |
---|---|
return_debug_info |
이 필드를 true로 설정하면 |
DebugInfo
개발자를 위한 디버그 정보 요청이 return_debug_info
를 true로 설정한 경우에만 반환됩니다.
필드 | |
---|---|
aog_agent_to_assistant_json |
Action-on-Google 에이전트에서 Google 서버에 보낸 원본 JSON 응답입니다. AppResponse를 참조하세요. 요청 제조업체가 AoG 프로젝트를 소유하고 AoG 프로젝트가 미리보기 모드인 경우에만 채워집니다. |
DeviceAction
사용자가 기기 작업을 트리거한 경우 기기에 반환되는 응답입니다. 예를 들어 조명 켜기 쿼리를 지원하는 기기는 요청의 시맨틱스를 포함하는 JSON 페이로드와 함께 DeviceAction
를 수신합니다.
필드 | |
---|---|
device_request_json |
트리거된 기기 작업 문법에서 생성된 기기 명령어 응답이 포함된 JSON입니다. 형식은 지정된 트레잇과 관련된 |
DeviceConfig
필수 어시스턴트가 기기를 식별하는 데 사용하는 필드입니다.
참고 항목
필드 | |
---|---|
device_id |
필수 기기의 고유 식별자입니다. ID 길이는 128자(영문 기준) 이하여야 합니다. 예: DBCDW098234. 기기 등록에서 반환된 device_id와 일치해야 합니다(MUST). 이 device_id는 사용자의 등록된 기기와 비교하여 이 기기의 지원되는 특성과 기능을 조회하는 데 사용됩니다. 이 정보는 기기를 재부팅해도 변경되지 않습니다. 하지만 초기화 시에는 저장해서는 안 됩니다. |
device_model_id |
필수 기기 모델의 고유 식별자입니다. device_model_id와 device_id의 조합은 이전에 기기 등록을 통해 연결되었어야 합니다. |
DeviceLocation
위치 소스는 세 가지입니다. 이 우선순위는 다음 우선순위로 사용됩니다.
- 이
DeviceLocation
은 주로 GPS 기능이 있는 휴대기기에 사용됩니다 . - 기기 설정 시 사용자가 지정한 위치로, 사용자 및 기기별로 지정됩니다.
DeviceLocation
가 지정되지 않은 경우 이 위치가 사용됩니다. - IP 주소를 기반으로 추론한 위치 위의 두 가지 중 어느 것도 지정되지 않은 경우에만 사용됩니다.
필드 | |
---|---|
coordinates |
기기의 위도 및 경도입니다. |
DialogStateIn
현재 대화상자 상태에 관한 정보를 제공합니다.
필드 | |
---|---|
conversation_state |
필수 이 필드는 항상 이전 |
language_code |
필수 IETF BCP 47 구문으로 된 요청 언어입니다 (예: 'en-US'). 자세한 내용은 언어 지원을 참조하세요. 휴대전화의 Google 어시스턴트 앱의 설정 메뉴를 사용하여 |
device_location |
선택사항 쿼리가 시작된 기기의 위치입니다. |
is_new_conversation |
선택사항 true인 경우 서버에서 요청을 새 대화로 취급하고 이전 요청의 상태를 사용하지 않습니다. 기기 재부팅 후 또는 이전 쿼리 이후 상당한 시간이 지난 후 대화를 다시 시작해야 하는 경우 이 필드를 true로 설정합니다. |
DialogStateOut
사용자 쿼리에서 발생한 대화상자 상태입니다. 이러한 메시지가 여러 개 전송될 수 있습니다.
필드 | |
---|---|
supplemental_display_text |
출력 전용 어시스턴트의 추가 표시 텍스트입니다. 이는 |
conversation_state |
출력 전용 후속 |
microphone_mode |
출력 전용 이 |
volume_percentage |
출력 전용 볼륨 수준을 업데이트했습니다. 볼륨 높여 줘 또는 볼륨 4로 설정과 같은 음성 명령이 인식되지 않는 한 이 값은 0이거나 생략 (변경되지 않음을 나타냄)합니다. 이 경우 값은 1에서 100 사이가 됩니다 (1% ~100%의 새로운 볼륨 수준에 해당). 일반적으로 클라이언트는 |
MicrophoneMode
Assist
RPC가 완료된 후 가능한 마이크 상태입니다.
열거형 | |
---|---|
MICROPHONE_MODE_UNSPECIFIED |
지정된 모드가 없습니다. |
CLOSE_MICROPHONE |
서비스는 사용자의 후속 질문을 기대하지 않습니다. 사용자가 마이크를 다시 활성화할 때까지 마이크가 꺼진 상태를 유지해야 합니다. |
DIALOG_FOLLOW_ON |
서비스에서 사용자의 후속 질문을 예상합니다. AudioOut 재생이 완료되면 (새 오디오를 전송하는 새로운 Assist RPC 호출을 시작하여) 마이크를 다시 열어야 합니다. |
ScreenOut
쿼리에 대한 어시스턴트의 시각적 출력 응답입니다. screen_out_config
님이 사용 설정했습니다.
필드 | |
---|---|
format |
출력 전용 제공된 화면 데이터의 형식입니다. |
data |
출력 전용 어시스턴트 쿼리의 결과로 표시될 원시 화면 데이터입니다. |
형식
가능한 화면 데이터 형식입니다.
열거형 | |
---|---|
FORMAT_UNSPECIFIED |
지정된 형식이 없습니다. |
HTML |
데이터에는 UTF-8로 인코딩된 완전한 형식의 HTML5 레이아웃이 포함됩니다(예: <html><body><div>...</div></body></html> ). 오디오 응답과 함께 렌더링되도록 만들어졌습니다. HTML5 doctype은 실제 HTML 데이터에 포함되어야 합니다. |
ScreenOutConfig
서버가 screen_out
응답을 반환할 때 사용할 원하는 서버 형식을 지정합니다.
필드 | |
---|---|
screen_mode |
쿼리를 실행하는 동안 기기의 현재 시각적 화면 모드입니다. |
ScreenMode
기기의 시각적 화면 출력을 위해 가능한 모드입니다.
열거형 | |
---|---|
SCREEN_MODE_UNSPECIFIED |
지정된 동영상 모드가 없습니다. 어시스턴트가 OFF 모드와 같이 응답할 수 있습니다. |
OFF |
화면이 꺼져 있음 (또는 밝기 또는 기타 설정이 너무 낮게 설정되어 있어 보이지 않음) 이 모드에서는 일반적으로 어시스턴트가 화면 응답을 반환하지 않습니다. |
PLAYING |
이 모드에서는 일반적으로 어시스턴트는 부분 화면 응답을 반환합니다. |
SpeechRecognitionResult
사용자가 말한 문구의 예상 스크립트입니다. 단일 세그먼트이거나 사용자가 말한 검색어를 완전히 추측한 결과일 수 있습니다.
필드 | |
---|---|
transcript |
출력 전용 사용자가 말한 단어를 나타내는 스크립트 텍스트입니다. |
stability |
출력 전용 어시스턴트가 결과에 관한 추측을 변경하지 않을 가능성의 추정치입니다. 값의 범위는 0.0 (완전히 불안정함)~1.0 (완전히 안정된 최종 버전)입니다. 기본값 0.0은 |