google.assistant.library 패키지에서 실행합니다.
-
클래스
google.assistant.library.
Assistant
(사용자 인증 정보, device_model_id) Google 어시스턴트 라이브러리의 클라이언트
Google 어시스턴트의 기본 제어 기능과 수명 주기 처리를 제공합니다. 어시스턴트를
ContextManager
로 사용하는 것이 좋습니다.with Assistant(credentials, device_model_id) as assistant:
이렇게 하면 기본 네이티브 구현이 메모리 관리를 올바르게 처리할 수 있습니다.
start()
가 호출되면 어시스턴트는 현재 다음과 같은 다양한 상태를 전달하는 이벤트 스트림을 생성합니다.ON_CONVERSATION_TURN_STARTED ON_END_OF_UTTERANCE ON_RECOGNIZING_SPEECH_FINISHED: {'text': 'what time is it'} ON_RESPONDING_STARTED: {'is_error_response': False} ON_RESPONDING_FINISHED ON_CONVERSATION_TURN_FINISHED: {'with_follow_on_turn': False}
모든 이벤트 및 인수에 관한 자세한 내용은
EventType
를 참고하세요.용어:
핫워드: 음소거되지 않을 때 어시스턴트가 듣는 문구
"OK Google" OR "Hey Google"
회전: 단일 사용자 요청과 어시스턴트의 응답을 차례대로 진행합니다.
대화: 한 번 이상 회전하여 어시스턴트로부터 원하는 최종 결과를 얻습니다.
"What time is it?" -> "The time is 6:24 PM" OR "Set a timer" -> "Okay, for how long?" -> "5 minutes" -> "Sure, 5 minutes, starting now!"
매개변수: - credentials (google.oauth2.credentials.Credentials): 사용자의 Google OAuth2 사용자 인증 정보입니다.
- device_model_id (str) - Google을 통해 프로젝트에 등록된 device_model_id입니다. 이 문자열은 비워 둘 수 없습니다.
발생 오류: ValueError
:device_model_id
이 None으로 표시되거나 비어 있는 경우-
device_id
개 어시스턴트가 생성한 기기 ID를 반환합니다.
이 값은 Google Device Actions와 같은 서비스를 사용할 때 서버에서 기기를 식별합니다. 이 속성은
start()
가 호출된 후에만 채워집니다.반환: 한 번 start()
가 호출되면 기기 ID, 빈 문자열반환 유형: 문자열
-
send_text_query
(쿼리) 마치 사용자가 말하는 것처럼 |query|를 어시스턴트로 전송합니다.
이는 핫워드를 말하고 쿼리를 수행하거나 후속 쿼리에 답변을 말하는 것과 같습니다.
매개변수: query (str) – 어시스턴트로 전송할 텍스트 쿼리입니다.
-
set_mic_mute
(is_muted) 어시스턴트가 핫워드를 듣지 못하게 합니다.
어시스턴트가 핫워드를 듣지 못하도록 사용 중지합니다. Google Home 뒷면에 있는 개인 정보 보호 버튼과 비슷한 기능을 제공합니다.
어시스턴트가 아직 시작되지 않은 경우 이 메서드는 작동하지 않습니다.
매개변수: is_muted (bool): True로 설정하면 어시스턴트가 듣지 못하게 하고 False로 설정하면 다시 시작할 수 있습니다.
-
start
()개 핫워드 듣기를 포함하여 어시스턴트를 시작합니다.
start()
가 호출되면 어시스턴트가 '기본' ALSA 오디오 소스의 데이터를 처리하고 핫워드를 수신 대기합니다. 이렇게 하면 어시스턴트에서 제공하는 다른 서비스(예: 타이머/알람)도 시작됩니다. 이 메서드는 한 번만 호출할 수 있습니다. 호출하면__exit__
가 호출될 때까지 어시스턴트가 계속 실행됩니다.반환: 어시스턴트 상태 변경을 알리는 이벤트 큐 반환 유형: google.assistant.event.IterableEventQueue 클래스의 생성자
-
start_conversation
()개 어시스턴트와 새 대화를 수동으로 시작합니다.
사용자의 핫워드를 들을 때처럼 사용자의 음성을 녹음하고 Google에 전송합니다.
이 메서드는 어시스턴트가 시작되지 않았거나 음소거된 경우 작동하지 않습니다.
-
stop_conversation
()개 진행 중인 어시스턴트와의 대화를 모두 중지합니다.
어시스턴트가 사용자의 검색어를 듣거나 응답할 수 있습니다. 활성 대화가 없으면 노옵스(no-ops)입니다.
-
클래스
google.assistant.library.event.
AlertEvent
(event_type, args, **_) 이벤트를 확장하여 ‘alert_type’ 파싱을 추가합니다.
-
google.assistant.library.event.
AlertType
클래스 알림 유형
ON_ALERT_STARTED
및ON_ALERT_FINISHED
이벤트와 함께 사용됩니다.-
ALARM
= 0일 '월요일 오전 3시'와 같이 절대 시간으로 설정된 일정
-
TIMER
= 1일 '지금부터 30초 후'처럼 상대적인 시간으로 설정된 이벤트입니다.
-
-
클래스
google.assistant.library.event.
DeviceActionEvent
(event_type, args, **kwargs) 이벤트를 확장하여 '작업' 속성을 추가합니다.
-
actions
개 현재 기기에서 실행할 명령어 생성기입니다.
-
-
클래스
google.assistant.library.event.
Event
(event_type, args, **_) 어시스턴트가 생성한 이벤트
-
type
개 EventType – 생성된 이벤트의 유형입니다.
-
args
개 dict – 이 이벤트와 연결된 인수 키/값 쌍입니다.
-
-
google.assistant.library.event.
EventType
클래스 이벤트 유형입니다.
-
ON_ALERT_FINISHED
= 11일 alert_type
의 알림음이 완료되었음을 나타냅니다.매개변수: alert_type (AlertType) - 방금 완료된 알림 유형을 나타내는 Enum ID입니다.
-
ON_ALERT_STARTED
= 10일 알림이 울리기 시작했음을 나타냅니다.
이 알림은
alert_type
이 동일한ON_ALERT_FINISHED
가 수신될 때까지 계속됩니다. 한 번에 하나의 알림만 활성화해야 합니다.매개변수: alert_type (AlertType) – 현재 알림 유형을 나타내는 Enum의 ID입니다.
-
ON_ASSISTANT_ERROR
= 12일 어시스턴트 라이브러리에 오류가 발생했는지 여부를 나타냅니다.
매개변수: is_치명적인 (bool): True인 경우 어시스턴트를 복구할 수 없으므로 다시 시작해야 합니다.
-
ON_CONVERSATION_TURN_FINISHED
= 9 어시스턴트가 현재 회전을 완료했습니다.
여기에는 사용자의 쿼리를 처리하고 전체 응답(있는 경우)이 모두 포함됩니다.
매개변수: with_follow_on_turn (bool) - 참인 경우 어시스턴트는 사용자의 후속 상호작용을 예상합니다. 사용자가 후속 질문에 답할 수 있도록 마이크가 다시 열립니다.
-
ON_CONVERSATION_TURN_STARTED
= 1일 새로운 회전이 시작되었음을 나타냅니다.
어시스턴트는 현재 사용자 쿼리를 기다리는 중입니다. 이는 핫워드가 들리거나 어시스턴트에서
start_conversation()
가 호출되었기 때문일 수 있습니다.
-
ON_CONVERSATION_TURN_TIMEOUT
= 2일 어시스턴트가 식별할 수 있는 쿼리를 기다리는 시간을 초과했습니다.
이는 핫워드가 잘못 트리거되었거나 어시스턴트가 사용자의 말을 이해하지 못했기 때문일 수 있습니다.
-
ON_DEVICE_ACTION
= 14일 Device Action 요청이 기기로 전달되었음을 나타냅니다.
이는 기기에서 지원하는 특성에 대해 기기 문법이 트리거되면 전달됩니다. 이 이벤트 유형에는 반복기 또는 기기 작업 명령어와 연결된 매개변수 (해당하는 경우)를 반환하는 특수한 '작업' 속성이 있습니다.
매개변수: dict – 기기 작업 요청의 디코딩된 JSON 페이로드
-
ON_END_OF_UTTERANCE
= 3일 어시스턴트가 사용자 쿼리 듣기를 중지했습니다.
어시스턴트가 사용자가 말한 내용을 파악하지 못했을 수 있지만 더 많은 오디오 데이터 수신을 중단했습니다.
-
ON_MEDIA_STATE_ERROR
= 20일 트랙 재생 중에 오류가 발생했음을 나타냅니다.
재생할 미디어가 남아 있지 않으면 내장 미디어 플레이어가 다음 트랙으로 건너뛰려고 하거나
ON_MEDIA_STATE_IDLE
로 돌아갑니다.
-
ON_MEDIA_STATE_IDLE
= 16적축 재생 중인 콘텐츠와 대기 중인 콘텐츠가 없음을 나타냅니다.
이 이벤트는 시작 시 뉴스/팟캐스트를 위해 그리고 사용자가 미디어를 중지하거나 일시중지하여 스트림이 타임아웃되어 플레이어가 유휴 상태가 될 때마다 Google 어시스턴트 라이브러리의 내장 미디어 플레이어에서 브로드캐스트됩니다.
-
ON_MEDIA_TRACK_LOAD
= 17일 트랙이 로드 중이지만 재생이 시작되지 않았음을 나타냅니다.
새 메타데이터가 비동기식으로 로드되면 이 명령어가 여러 번 전송될 수 있습니다. 일반적으로 이 이벤트 후에
ON_MEDIA_TRACK_PLAY
이벤트가 발생합니다.매개변수: - metadata (dict) –
로드된 트랙의 메타데이터 이 시간까지 모든 필드가 채워지는 것은 아닙니다. 필드를 알 수 없는 경우에는 포함되지 않습니다. 메타데이터 필드는 다음과 같습니다.
album(str): 트랙이 속한 앨범의 이름입니다. album_art(str): 앨범 아트의 URL입니다. artist(str): 이 트랙을 만든 아티스트입니다. duration_ms(double): 이 트랙의 길이(밀리초)입니다. title(str): 트랙의 제목입니다. - track_type (MediaTrackType) – 로드된 트랙의 유형입니다.
- metadata (dict) –
-
ON_MEDIA_TRACK_PLAY
= 18일 트랙에서 현재 오디오를 출력 중임을 나타냅니다.
이는
ON_MEDIA_TRACK_LOAD
또는ON_MEDIA_TRACK_STOP
와 같이 한 상태에서 다른 상태로 전환할 때만 트리거됩니다.매개변수: - metadata (dict) –
재생 중인 트랙의 메타데이터 알 수 없는 필드는 포함되지 않습니다. 메타데이터 필드는 다음과 같습니다.
album(str): 트랙이 속한 앨범의 이름입니다. album_art(str): 앨범 아트의 URL입니다. artist(str): 이 트랙을 만든 아티스트입니다. duration_ms(double): 이 트랙의 길이(밀리초)입니다. title(str): 트랙의 제목입니다. - position_ms(double) – 시작 부분부터 재생 트랙의 현재 위치(밀리초)입니다. 'metadata.duration_ms'를 알 수 없는 경우 (0으로 설정) 이 필드가 설정되지 않습니다.
- track_type (MediaTrackType) - 재생 중인 트랙의 유형입니다.
- metadata (dict) –
-
ON_MEDIA_TRACK_STOP
= 19일 이전에 재생 중인 트랙이 중지되었음을 나타냅니다.
이는 일반적으로 사용자가 일시중지한 결과입니다. 트랙이 사용자가 다시 시작하는 경우
ON_MEDIA_TRACK_PLAY
로 반환될 수 있습니다.매개변수: - metadata (dict) –
중지된 트랙의 메타데이터 알 수 없는 필드는 포함되지 않습니다. 메타데이터 필드는 다음과 같습니다.
album(str): 트랙이 속한 앨범의 이름입니다. album_art(str): 앨범 아트의 URL입니다. artist(str): 이 트랙을 만든 아티스트입니다. duration_ms(double): 이 트랙의 길이(밀리초)입니다. title(str): 트랙의 제목입니다. - position_ms(double) – 중지된 트랙의 현재 위치(시작 이후 밀리초 단위로 표시) 'metadata.duration_ms'를 알 수 없는 경우 (0으로 설정) 이 필드가 설정되지 않습니다.
- track_type (MediaTrackType) - 트랙의 유형이 중지되었습니다.
- metadata (dict) –
-
ON_MUTED_CHANGED
= 13일 어시스턴트가 현재 듣고 있는지 나타냅니다.
start()
는 항상 초깃값을 보고하는ON_MUTED_CHANGED
를 생성합니다.매개변수: is_muted (bool) – True인 경우 어시스턴트가 현재 핫워드를 듣지 않고 사용자 쿼리에 응답하지 않습니다.
-
ON_NO_RESPONSE
= 8일 어시스턴트가 차례를 완료했지만 할 말이 없습니다.
-
ON_RECOGNIZING_SPEECH_FINISHED
= 5일 어시스턴트가 마지막으로 인식된 음성을 확인했습니다.
매개변수: text (str) - 사용자 검색어를 최종적으로 해석한 텍스트
-
ON_RENDER_RESPONSE
= 15일 어시스턴트가 응답을 위해 렌더링할 텍스트 출력을 가지고 있음을 나타냅니다.
매개변수: - type (RenderResponseType) - 렌더링할 응답 유형입니다.
- text (str) – RenderResponseType.TEXT에 대해 렌더링할 문자열입니다.
-
ON_RESPONDING_FINISHED
= 7일 어시스턴트가 음성으로 응답했습니다.
-
ON_RESPONDING_STARTED
= 6일 어시스턴트가 음성으로 응답하기 시작합니다.
어시스턴트는
ON_RESPONDING_FINISHED
를 수신할 때까지 응답합니다.매개변수: is_error_response (bool) - 참은 로컬 오류 TTS가 재생되고 있음을 의미합니다. 그렇지 않으면 어시스턴트가 서버 응답으로 응답합니다.
-
ON_START_FINISHED
= 0일 어시스턴트 라이브러리 시작이 완료되었습니다.
-
-
클래스
google.assistant.library.event.
IterableEventQueue
(timeout=3600) queue.Queue를 확장하여
__iter__
인터페이스를 추가합니다.-
offer
(이벤트) 대기열에 추가할 이벤트를 제공하세요.
현재 대기열이 가득 차면 이벤트가 기록되지만 추가되지는 않습니다.
매개변수: event (Event) – 대기열에 추가하려는 이벤트입니다.
-
-
클래스
google.assistant.library.event.
MediaStateChangeEvent
(event_type, args, **_) 이벤트를 확장하여 '상태' 파싱을 추가합니다.
-
google.assistant.library.event.
MediaTrackType
클래스 ON_MEDIA_TRACK_X 이벤트에 대한 트랙 유형입니다.
ON_MEDIA_TRACK_LOAD
,ON_MEDIA_TRACK_PLAY
,ON_MEDIA_TRACK_STOP
와 함께 사용-
CONTENT
= 2일 항목의 실제 콘텐츠 (뉴스/팟캐스트).
-
TTS
= 1일 항목과 관련된 TTS 소개 또는 전면 광고 트랙입니다.
-
-
클래스
google.assistant.library.event.
RenderResponseEvent
(event_type, args, **_) 이벤트를 확장하여 ‘response_type’ 파싱을 추가합니다.
-
google.assistant.library.event.
RenderResponseType
클래스 렌더링할 콘텐츠 유형입니다.
ON_RENDER_RESPONSE
와 함께 사용됨