Google Assistant Library

пакет google.assistant.library.

класс google.assistant.library. Assistant ( учетные данные , device_model_id )

Клиент для библиотеки Google Assistant.

Предоставляет базовые функции управления и управление жизненным циклом для Google Assistant. Лучше всего использовать Assistant как 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 .

Глоссарий:

  • Hotword : фраза, которую Ассистент слушает, когда звук не отключен:

    "OK Google" OR "Hey Google"
    
  • Turn : один запрос пользователя, за которым следует ответ от помощника.

  • Разговор : один или несколько ходов, которые приводят к желаемому конечному результату от помощника:

    "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!"
    
Параметры:
  • учетные данные ( google.oauth2.credentials.Credentials ) — учетные данные пользователя Google OAuth2.
  • device_model_id ( str ) — device_model_id, зарегистрированный для вашего проекта в Google. Это не должна быть пустая строка.
Поднимает:

ValueError — если device_model_id было оставлено равным None или пустым.

device_id

Возвращает идентификатор устройства, сгенерированный Помощником.

Это значение идентифицирует ваше устройство на сервере при использовании таких служб, как Google Device Actions. Это свойство заполняется только ПОСЛЕ вызова start() .

Возвращает: Идентификатор устройства после вызова start() , иначе пустая строка.
Тип возврата: ул
send_text_query ( запрос )

Отправляет |запрос| помощнику, как если бы это было произнесено пользователем.

Это будет вести себя так же, как пользователь, произносящий горячее слово и делающий запрос ИЛИ говорящий ответ на последующий запрос.

Параметры: query ( str ) — текстовый запрос для отправки помощнику.
set_mic_mute ( is_muted )

Запрещает помощнику прослушивать горячее слово.

Позволяет отключить помощника от прослушивания горячего слова. Это обеспечивает функциональность, аналогичную кнопке конфиденциальности на задней панели Google Home.

Этот метод не работает, если Помощник еще не запущен.

Параметры: is_muted ( bool ) — True останавливает прослушивание Assistant, а False позволяет ему начать заново.
start ( )

Запускает Помощник, который включает в себя прослушивание горячего слова.

После вызова start() Помощник начнет обработку данных из аудиоисточника ALSA «по умолчанию», прослушивая горячее слово. Это также запустит другие службы, предоставляемые помощником, такие как таймеры/будильники. Этот метод можно вызвать только один раз. После вызова Помощник будет продолжать работать до тех пор, пока не будет вызван __exit__ .

Возвращает: Очередь событий, уведомляющих об изменениях состояния помощника.
Тип возврата: google.assistant.event.IterableEventQueue
start_conversation ( )

Вручную начинает новый разговор с Ассистентом.

Запускает как запись речи пользователя, так и отправку ее в Google, аналогично тому, что происходит, когда Ассистент слышит горячее слово.

Этот метод не работает, если Помощник не запущен или его звук отключен.

stop_conversation ( )

Останавливает любой активный разговор с Ассистентом.

Помощник может прослушивать запрос пользователя ИЛИ отвечать на него. Если нет активного разговора, это не операция.

класс google.assistant.library.event. AlertEvent ( тип_события , аргументы , **_ )

Расширяет событие, добавляя синтаксический анализ 'alert_type'.

класс google.assistant.library.event. AlertType

Типы предупреждений.

Используется с событиями ON_ALERT_STARTED и ON_ALERT_FINISHED .

ALARM = 0

Событие, установленное на абсолютное время, например «3 часа ночи в понедельник».

TIMER = 1

Событие, установленное на относительное время, например «через 30 секунд».

класс google.assistant.library.event. DeviceActionEvent ( тип_события , аргументы , **kwargs )

Расширяет событие, чтобы добавить свойство «действия».

actions

Генератор команд для выполнения для текущего устройства.

класс google.assistant.library.event. Event ( тип_события , аргументы , **_ )

Событие, созданное Ассистентом.

type

EventType — тип созданного события.

args

dict — пары ключ/значение аргумента, связанные с этим событием.

статический New ( тип_события , аргументы , **kwargs )

При необходимости создайте новое событие, используя специализированный класс Event.

Параметры:
  • event_type ( int ) — числовой идентификатор, соответствующий событию в google.assistant.event.EventType.
  • args ( dict ) — пары ключ/значение аргумента, связанные с этим событием.
  • kwargs ( dict ) — необязательные пары ключ/значение аргумента, относящиеся к специализации класса Event для EventType.
класс google.assistant.library.event. EventType

Типы событий.

ON_ALERT_FINISHED = 11

Указывает, что оповещение alert_type закончило звучать.

Параметры: alert_type ( AlertType ) — идентификатор Enum, представляющий тип только что завершенного оповещения.
ON_ALERT_STARTED = 10

Указывает, что начал звучать сигнал тревоги.

Это оповещение будет продолжаться до тех пор, пока не будет получено ON_ALERT_FINISHED с тем же alert_type . Только одно оповещение должно быть активным в любой момент времени.

Параметры: alert_type ( AlertType ) — идентификатор Enum, представляющий текущий тип оповещения.
ON_ASSISTANT_ERROR = 12

Указывает, обнаружила ли библиотека Assistant ошибку.

Параметры: is_fatal ( bool ) — если True, то помощник не сможет восстановиться и должен быть перезапущен.
ON_CONVERSATION_TURN_FINISHED = 9

Помощник завершил текущий ход.

Это включает в себя как обработку запроса пользователя, так и произнесение полного ответа, если таковой имеется.

Параметры: with_follow_on_turn ( bool ) — если значение равно True, помощник ожидает от пользователя дальнейшего взаимодействия. Микрофон снова откроется, чтобы пользователь мог ответить на дополнительный вопрос.
ON_CONVERSATION_TURN_STARTED = 1

Указывает, что начался новый ход.

Помощник в настоящее время слушает, ожидая запроса пользователя. Это может быть результатом того, что помощник услышал горячее слово или start_conversation() .

ON_CONVERSATION_TURN_TIMEOUT = 2

Тайм-аут помощника ожидания различимого запроса истек.

Это может быть вызвано ошибочным срабатыванием Hotword или помощником, который не может понять, что сказал пользователь.

ON_DEVICE_ACTION = 14

Указывает, что запрос действия устройства был отправлен на устройство.

Это отправляется, если срабатывает какая-либо грамматика устройства для признаков, поддерживаемых устройством. Этот тип события имеет специальное свойство «действия», которое возвращает команды итератора или действия устройства и связанные с ними параметры (если применимо).

Параметры: dict — декодированные полезные данные JSON запроса действия устройства.
ON_END_OF_UTTERANCE = 3

Помощник перестал прослушивать запрос пользователя.

Помощник, возможно, не закончил выяснять, что сказал пользователь, но он прекратил прослушивание дополнительных аудиоданных.

ON_MEDIA_STATE_ERROR = 20

Указывает на то, что при воспроизведении дорожки произошла ошибка.

Встроенный медиаплеер попытается перейти к следующей дорожке или вернуться к ON_MEDIA_STATE_IDLE , если воспроизвести больше нечего.

ON_MEDIA_STATE_IDLE = 16

Указывает, что ничего не воспроизводится и ничего не стоит в очереди на воспроизведение.

Это событие транслируется из встроенного медиаплеера библиотеки Google Assistant для новостей/подкастов при запуске и всякий раз, когда проигрыватель простаивает из-за того, что пользователь остановил мультимедиа или поставил его на паузу, а время ожидания истекло.

ON_MEDIA_TRACK_LOAD = 17

Указывает, что дорожка загружается, но воспроизведение еще не началось.

Это может быть отправлено несколько раз, если новые метаданные загружаются асинхронно. Обычно за этим следует событие ON_MEDIA_TRACK_PLAY .

Параметры:
  • метаданные ( dict ) –

    Метаданные для загруженного трека. К этому времени не все поля будут заполнены — если поле неизвестно, оно не будет включено. Поля метаданных включают:

    Album(str): название альбома, к которому принадлежит трек. Album_art(str): URL-адрес обложки альбома. artist(str): Художник, создавший этот трек. duration_ms(double): Длина этой дорожки в миллисекундах. title(str): Название трека.
  • track_type ( MediaTrackType ) — тип загруженной дорожки.
ON_MEDIA_TRACK_PLAY = 18

Указывает, что дорожка в данный момент выводит звук.

Это сработает только при переходе из одного состояния в другое, например, из ON_MEDIA_TRACK_LOAD или ON_MEDIA_TRACK_STOP .

Параметры:
  • метаданные ( dict ) –

    Метаданные воспроизводимого трека. Если поле неизвестно, оно не будет включено. Поля метаданных включают:

    Album(str): название альбома, к которому принадлежит трек. Album_art(str): URL-адрес обложки альбома. artist(str): Художник, создавший этот трек. duration_ms(double): Длина этой дорожки в миллисекундах. title(str): Название трека.
  • position_ms ( double ) — текущая позиция в воспроизводимой дорожке в миллисекундах с начала. Если «metadata.duration_ms» неизвестно (установлено на 0), это поле не будет установлено.
  • track_type ( MediaTrackType ) — тип воспроизводимого трека.
ON_MEDIA_TRACK_STOP = 19

Указывает, что воспроизводимая ранее дорожка остановлена.

Обычно это результат паузы пользователя; трек может вернуться на ON_MEDIA_TRACK_PLAY , если он будет возобновлен пользователем.

Параметры:
  • метаданные ( dict ) –

    Метаданные для остановленного трека. Если поле неизвестно, оно не будет включено. Поля метаданных включают:

    Album(str): название альбома, к которому принадлежит трек. Album_art(str): URL-адрес обложки альбома. artist(str): Художник, создавший этот трек. duration_ms(double): Длина этой дорожки в миллисекундах. title(str): Название трека.
  • position_ms ( double ) — Текущая позиция в остановленной дорожке в миллисекундах с начала. Если «metadata.duration_ms» неизвестно (установлено на 0), это поле не будет установлено.
  • track_type ( MediaTrackType ) — тип остановленного трека.
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 ) — True означает, что воспроизводится локальная ошибка TTS, в противном случае Помощник отвечает ответом сервера.
ON_START_FINISHED = 0

Библиотека Assistant завершила запуск.

класс google.assistant.library.event. IterableEventQueue ( timeout=3600 )

Расширяет очередь.Queue для добавления интерфейса __iter__ .

offer ( событие )

Предложите событие поставить в очередь.

Если очередь в настоящее время заполнена, событие будет зарегистрировано, но не добавлено.

Параметры: событие ( Event ) — событие, которое необходимо добавить в очередь.
класс google.assistant.library.event. MediaStateChangeEvent ( тип_события , аргументы , **_ )

Расширяет событие, чтобы добавить синтаксический анализ «состояния».

класс 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 ( тип_события , аргументы , **_ )

Расширяет событие, добавляя синтаксический анализ 'response_type'.

класс google.assistant.library.event. RenderResponseType

Типы содержимого для отображения.

Используется с ON_RENDER_RESPONSE