아래 각 섹션의 안내에 따라 Google 어시스턴트를 통합하세요. 가져올 수 있습니다
gRPC 바인딩
Google 어시스턴트 서비스는 고성능 애플리케이션인 gRPC를 오픈소스 RPC 프레임워크입니다 이 프레임워크는 양방향 오디오 스트리밍이 가능합니다.
Python
Python을 사용하는 경우 이 가이드를 사용하여 시작하세요.
C++
C++ 샘플 살펴보기 를 참조하세요.
Node.js
Node.js 샘플 살펴보기 를 참조하세요.
Android Things
임베디드 기기에 관심이 있으신가요? 어시스턴트 SDK 확인 샘플 Android Things
다른 언어
- googleapis 저장소 클론 Google Assistant Service API의 프로토콜 버퍼 인터페이스 정의를 가져옵니다.
- gRPC 문서에 따라 gRPC 생성 원하는 언어의 바인딩을
- 아래 섹션의 단계를 따르세요.
어시스턴트를 사용할 수 있도록 Google 계정 승인 및 인증
다음 단계는 기기가 Google 어시스턴트와 대화할 수 있도록 승인하는 것입니다. Google 계정을 사용하여 로그인
어시스턴트 SDK 범위로 OAuth 토큰 가져오기
어시스턴트 SDK는 OAuth 2.0 액세스 토큰을 사용하여 기기에서 다음을 수행할 수 있도록 승인합니다. 어시스턴트와 연결
프로토타입을 제작할 때 인증 도구를 사용하여 OAuth2.0을 쉽게 생성할 수 있습니다.
다음 시점에 생성된 client_secret_<client-id>.json
파일의 사용자 인증 정보
기기 모델 등록을 참조하세요.
사용자 인증 정보를 생성하려면 다음 단계를 따르세요.
Python 가상 환경을 사용합니다. 를 사용하여 인증 도구와 해당 종속 항목을 시스템 Python 패키지에서 격리합니다.
sudo apt-get update
sudo apt-get install python3-dev python3-venv # Use python3.4-venv if the package cannot be found.
python3 -m venv env
env/bin/python -m pip install --upgrade pip setuptools wheel
source env/bin/activate
승인 도구를 설치합니다.
python -m pip install --upgrade google-auth-oauthlib[tool]
도구를 실행합니다. SSH 세션이 아닌 기기의 터미널에서 다음을 실행하는 경우
--headless
플래그를 삭제합니다.google-oauthlib-tool --client-secrets /path/to/client_secret_client-id.json --scope https://www.googleapis.com/auth/assistant-sdk-prototype --save --headless
프로비저닝의 일부로 승인을 통합할 준비가 되면 자세히 알아보려면 OAuth 2.0을 사용하여 Google API에 액세스하기에 대한 가이드를 읽어보세요. OAuth 액세스 토큰을 받고, 유지하고, 사용하는 방법을 이해하여 사용하여 어시스턴트 API와 통신할 수 있습니다.
이 가이드를 살펴볼 때는 다음을 사용하세요.
- OAuth 범위: https://www.googleapis.com/auth/assistant-sdk-prototype
지원되는 OAuth 흐름:
- (권장) 설치된 앱
- 웹 서버 애플리케이션
개인 정보 보호 및 보안 권장사항 확인 기기를 보호하는 방법에 관한 권장사항을 확인하세요.
OAuth 토큰으로 gRPC 연결 인증
마지막으로 토큰 기반 리소스 사용 방법을 통해 Google 인증을 사용하여 Assistant API에 대한 gRPC 연결을 인증합니다.
기기 등록
기기 모델 및 인스턴스를 수동으로 등록 또는 등록 도구 (사용 가능)를 통해 입력)을 사용합니다.
어시스턴트를 사용한 기본 대화 대화상자 구현
- 양방향 스트리밍 gRPC 클라이언트 구현 (Google Assistant Service API의 경우)
- 사용자가 새 요청을 트리거할 때까지 기다립니다 (예: GPIO 인터럽트 대기). (버튼을 누르면)
AssistRequest
보내기config
필드가 설정된 메시지 (AssistConfig
참고)config
필드에 다음 내용이 포함되어 있는지 확인합니다.audio_in_config
필드: 후속 요청에 제공될audio_in
데이터AudioInConfig
를 참고하세요.audio_out_config
필드:audio_out
메시지를 반환할 때 사용할 서버입니다 (AudioOutConfig
참고).device_config
필드: 어시스턴트에 등록된 기기를 삭제할 수 있습니다 (DeviceConfig
참고).language_code
가 포함된dialog_state_in
필드 입니다 (DialogStateIn
참고).
녹화를 시작합니다.
여러 발신
AssistRequest
보내기audio_in
필드에 음성 쿼리의 오디오 데이터가 포함된 메시지수신되는
AssistResponse
처리 메시지를 보낼 수 있습니다AssistResponse
에서 대화 메타데이터 추출 메시지가 표시됩니다. 예를 들어dialog_state_out
에서conversation_state
를 가져옵니다. 및volume_percentage
(DialogStateOut
참고)AssistResponse
수신 시 녹음 중지event_type
사용 (전체END_OF_UTTERANCE
)어시스턴트 답변의 오디오를
audio_out
의 오디오 데이터로 재생합니다. 필드를 확인합니다.앞서 추출한
conversation_state
파일을 가져와서 복사합니다DialogStateIn
에 다음AssistRequest
에 관한AssistConfig
의 메시지
이제 Google Cloud에 첫 번째 요청을 할 준비가 되었습니다. 기기를 통해 어시스턴트를 사용하세요.
기기 작업으로 대화 대화상자 확장
위의 기본 대화 대화상자를 확장하여 고유한 하드웨어를 트리거합니다. 특정 기기의 성능:
- 수신
AssistResponse
에서device_action
필드(DeviceAction
)을 입력합니다. device_request_json
필드의 JSON 페이로드를 파싱합니다. 자세한 내용은 기기 특성 페이지를 사용하여 지원되는 특성의 목록입니다. 각 트레잇 스키마 페이지에 샘플 EXECUTE가 표시됨 기기 명령어 및 매개변수로 JSON 페이로드.
사용자 요청의 스크립트 가져오기
기기에 디스플레이가 연결되어 있는 경우 디스플레이를 사용하여
사용자 요청을 표시합니다 이 스크립트를 가져오려면 speech_results
필드를 파싱하세요.
(AssistResponse
)
메시지를 보낼 수 있습니다 음성 인식이 완료되면 이 목록에 하나의 항목이 포함됩니다.
1.0으로 설정된 stability
입니다.
어시스턴트 응답의 텍스트 또는 시각적 렌더링 가져오기
기기에 디스플레이가 연결되어 있는 경우 디스플레이를 사용하여
사용자 요청에 대한 어시스턴트의 일반 텍스트 응답을 표시합니다. 이 텍스트의 위치
DialogStateOut.supplemental_display_text
필드를 확인합니다.
어시스턴트는 특정 쿼리에 대해 HTML5를 통한 시각적 응답을 지원합니다 (What
'마운틴뷰 날씨는? 또는 지금 몇 시야?)입니다. 이를 사용 설정하려면
AssistConfig
의 screen_out_config
필드
ScreenOutConfig
메시지에 PLAYING
(으)로 설정해야 하는 screen_mode
필드가 있습니다.
AssistResponse
그러면 메시지에 screen_out
필드가 설정됩니다. HTML5 데이터 (있는 경우)를
data
필드
텍스트 입력을 통해 쿼리 제출
기기에 연결된 텍스트 인터페이스 (예: 키보드)가 있는 경우
config
필드에 text_query
필드를 설정합니다 (AssistConfig
참고).
audio_in_config
필드를 설정하지 마세요.
문제 해결
문제 해결을 참고하세요. 페이지를 방문하세요.