Google Assistant Library

Package google.assistant.library

classe google.assistant.library.Assistant(credentials, device_model_id)

Client de la bibliothèque de l'Assistant Google.

Fournit des fonctionnalités de contrôle de base et une gestion du cycle de vie pour l'Assistant Google. Il est recommandé d'utiliser l'Assistant en tant que ContextManager:

with Assistant(credentials, device_model_id) as assistant:

Cela permet à l'implémentation native sous-jacente de gérer correctement la gestion de la mémoire.

Une fois que start() est appelé, l'Assistant génère un flux d'événements relatant les différents états dans lesquels il se trouve, par exemple:

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}

Pour en savoir plus sur tous les événements et leurs arguments, consultez EventType.

Glossaire :

  • Mot clé: expression que l'Assistant écoute lorsqu'il n'est pas coupé:

    "OK Google" OR "Hey Google"
    
  • Turn: une seule requête de l'utilisateur suivie d'une réponse de l'Assistant.

  • Conversation: un ou plusieurs changements de direction qui aboutissent au résultat final souhaité par l'Assistant:

    "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!"
    
Paramètres :
  • credentials (google.oauth2.credentials.Credentials) : identifiants Google OAuth2 de l'utilisateur.
  • device_model_id (str) : identifiant de l'appareil enregistré pour votre projet auprès de Google Veuillez saisir une chaîne vide.
Déclenche :

ValueError : si device_model_id est défini sur "None" ou sur "empty".

device_id

Affiche l'ID d'appareil généré par l'Assistant.

Cette valeur identifie votre appareil sur le serveur lorsque vous utilisez des services tels que Google Device Actions. Cette propriété n'est remplie qu'APRÈS l'appel de start().

Renvoie :L'ID d'appareil une fois que start() a été appelé. Sinon, chaîne vide.
Type renvoyé:str
send_text_query(requête)

Envoie |query| à l'Assistant comme s'il était énoncé par l'utilisateur.

Le comportement est le même que lorsqu'un utilisateur prononce le mot clé et énonce une réponse à une requête complémentaire.

Paramètres :query (str) : requête de texte à envoyer à l'Assistant.
set_mic_mute(is_muted)

Empêche l'Assistant d'écouter le mot clé.

Permet de désactiver l'Assistant pour qu'il écoute le mot clé. Cette fonctionnalité est semblable au bouton de confidentialité situé à l'arrière de Google Home.

Cette méthode est une opération no-op si l'Assistant n'a pas encore démarré.

Paramètres :is_muted (bool) : "True" empêche l'Assistant d'écouter et "False" lui permet de redémarrer.
start().

Lance l'Assistant, ce qui inclut l'écoute d'un mot clé.

Une fois que start() est appelé, l'Assistant commence à traiter les données de la source audio ALSA "par défaut" en écoutant le mot clé. Cette opération lancera également d'autres services fournis par l'Assistant, tels que les minuteurs/alarmes. Cette méthode ne peut être appelée qu'une seule fois. Une fois appelé, l'Assistant continuera de fonctionner jusqu'à ce que __exit__ soit appelé.

Renvoie :Une file d'attente d'événements qui notifient les modifications de l'état de l'Assistant.
Type renvoyé:google.assistant.event.IterableEventQueue
start_conversation().

Démarre manuellement une nouvelle conversation avec l'Assistant.

Démarre à la fois l'enregistrement des paroles de l'utilisateur et son envoi à Google, comme lorsque l'Assistant entend le mot clé.

Cette méthode est une opération no-op si l'Assistant n'est pas démarré ou a été coupé.

stop_conversation().

Met fin à toutes les conversations actives avec l'Assistant.

L'Assistant peut écouter la requête de l'utilisateur OU répondre à une requête. En l'absence de conversation active, il s'agit d'une opération no-op.

classe google.assistant.library.event.AlertEvent(event_type, args, **_)

Étend l'événement pour ajouter une analyse de "alert_type".

cours google.assistant.library.event.AlertType

Types d'alertes.

Utilisée avec les événements ON_ALERT_STARTED et ON_ALERT_FINISHED.

ALARM = 0

Un événement défini pour une heure absolue, par exemple "3h le lundi"

TIMER = 1

Un événement défini pour une durée relative telle que "30 secondes à partir de maintenant"

classe google.assistant.library.event.DeviceActionEvent(event_type, args, **kwargs)

Étend l'événement pour ajouter une propriété "actions".

actions

Générateur de commandes à exécuter pour l'appareil actuel.

classe google.assistant.library.event.Event(event_type, args, **_)

Événement généré par l'Assistant.

type

EventType : type d'événement généré.

args

dict : paires clé/valeur pour les arguments associées à cet événement.

static New(event_type, args, **kwargs)

Créez un événement à l'aide d'une classe d'événement spécialisée si nécessaire.

Paramètres :
  • event_type (int) : identifiant numérique correspondant à un événement dans google.assistant.event.EventType.
  • args (dict) : paires clé/valeur d'argument associées à cet événement.
  • kwargs (dict) : paires clé/valeur d'argument facultatives spécifiques à une classe d'événement pour un EventType.
cours google.assistant.library.event.EventType

Types d'événements

ON_ALERT_FINISHED = 11

Indique que le son de l'alerte alert_type a terminé.

Paramètres :alert_type (AlertType) : ID de l'énumération représentant le type d'alerte qui vient de se terminer.
ON_ALERT_STARTED = 10

Indique qu'une alerte a démarré.

Cette alerte continuera jusqu'à ce que ON_ALERT_FINISHED avec le même alert_type soit reçu. Une seule alerte doit être active à la fois.

Paramètres :alert_type (AlertType) : ID de l'énumération représentant le type d'alerte qui sonne actuellement.
ON_ASSISTANT_ERROR = 12

Indique si la bibliothèque de l'Assistant a rencontré une erreur.

Paramètres :is_fatal (bool) : si la valeur est "True", l'Assistant ne peut pas récupérer et doit être redémarré.
ON_CONVERSATION_TURN_FINISHED = 9

L'Assistant a terminé le tour en cours.

Cela inclut le traitement de la requête d'un utilisateur et l'énonciation de la réponse complète, le cas échéant.

Paramètres :with_follow_on_turn (bool) : si la valeur est "True", l'Assistant attend une interaction de suivi de la part de l'utilisateur. Le micro sera rouvert pour que l'utilisateur puisse répondre à une question complémentaire.
ON_CONVERSATION_TURN_STARTED = 1

Indique qu'un nouveau virage a commencé.

L'Assistant écoute en attente d'une requête utilisateur. Cela peut être dû au fait d'entendre le mot clé ou d'appeler start_conversation() sur l'Assistant.

ON_CONVERSATION_TURN_TIMEOUT = 2

Le délai de réponse de l'Assistant a expiré.

Cela peut être dû à un mauvais déclenchement du mot clé ou à l'Assistant qui n'a pas compris ce que l'utilisateur a dit.

ON_DEVICE_ACTION = 14

Indique qu'une requête Action sur l'appareil a été envoyée à l'appareil.

Elle est envoyée si la grammaire de l'appareil est déclenchée pour les caractéristiques acceptées par l'appareil. Ce type d'événement possède une propriété "actions" spéciale qui renvoie un itérateur ou des commandes d'action sur l'appareil ainsi que les paramètres associés (le cas échéant).

Paramètres :dict : charge utile JSON décodée d'une requête d'action sur l'appareil.
ON_END_OF_UTTERANCE = 3

L'Assistant n'écoute plus la requête d'un utilisateur.

L'Assistant n'a peut-être pas fini de comprendre ce que l'utilisateur a dit, mais il n'écoute plus de données audio.

ON_MEDIA_STATE_ERROR = 20

Indique qu'une erreur s'est produite lors de la lecture d'un titre.

Le lecteur multimédia intégré tente de passer au titre suivant ou de revenir à ON_MEDIA_STATE_IDLE s'il ne reste rien à lire.

ON_MEDIA_STATE_IDLE = 16

Indique qu'il n'y a rien en cours de lecture et que rien n'est mis en file d'attente pour la lecture.

Cet événement est diffusé à partir du lecteur multimédia intégré de la bibliothèque de l'Assistant Google pour l'actualité et les podcasts au démarrage et chaque fois que le lecteur est inactif, car un utilisateur a arrêté le contenu multimédia ou l'a mis en pause, et que le flux a expiré.

ON_MEDIA_TRACK_LOAD = 17

Indique qu'un titre est en cours de chargement, mais que la lecture n'a pas commencé.

Ce champ peut être envoyé plusieurs fois si de nouvelles métadonnées sont chargées de manière asynchrone. Elle est généralement suivie de l'événement ON_MEDIA_TRACK_PLAY.

Paramètres :
  • metadata (dict) :

    Métadonnées de la piste chargée. Tous les champs ne seront pas remplis à cette date. Si un champ est inconnu, il ne sera pas inclus. Les champs de métadonnées incluent:

    album(str): nom de l'album auquel le titre appartient. album_art(str): URL de la pochette de l'album. artist(str): artiste qui a créé ce titre. duration_ms(double): durée de ce titre, en millisecondes (title(str)): titre du titre
  • track_type (MediaTrackType) : type de piste chargée.
ON_MEDIA_TRACK_PLAY = 18

Indique qu'un titre est en cours de sortie audio.

Cela ne se déclenche que lors du passage d'un état à un autre, par exemple depuis ON_MEDIA_TRACK_LOAD ou ON_MEDIA_TRACK_STOP.

Paramètres :
  • metadata (dict) :

    Métadonnées du titre en cours de lecture. Si un champ est inconnu, il ne sera pas inclus. Les champs de métadonnées incluent:

    album(str): nom de l'album auquel le titre appartient. album_art(str): URL de la pochette de l'album. artist(str): artiste qui a créé ce titre. duration_ms(double): durée de ce titre, en millisecondes (title(str)): titre du titre
  • position_ms (double) : position actuelle d'une piste de jeu en millisecondes depuis le début. Si "metadata.duration_ms" est inconnu (défini sur 0), ce champ ne sera pas défini.
  • track_type (MediaTrackType) : type de titre en cours de lecture.
ON_MEDIA_TRACK_STOP = 19

Indique qu'un titre en cours de lecture est arrêté.

Cela est généralement dû à la mise en pause de l'utilisateur. Le canal peut revenir à ON_MEDIA_TRACK_PLAY s'il est réactivé par l'utilisateur.

Paramètres :
  • metadata (dict) :

    Métadonnées pour le titre arrêté. Si un champ est inconnu, il ne sera pas inclus. Les champs de métadonnées incluent:

    album(str): nom de l'album auquel le titre appartient. album_art(str): URL de la pochette de l'album. artist(str): artiste qui a créé ce titre. duration_ms(double): durée de ce titre, en millisecondes (title(str)): titre du titre
  • position_ms (double) : position actuelle dans une piste arrêtée en millisecondes depuis le début. Si "metadata.duration_ms" est inconnu (défini sur 0), ce champ ne sera pas défini.
  • track_type (MediaTrackType) : type de piste arrêté.
ON_MUTED_CHANGED = 13

Indique que l'Assistant vous écoute ou non.

start() génère toujours un ON_MUTED_CHANGED pour signaler la valeur initiale.

Paramètres :is_muted (bool) : si la valeur est "True", l'Assistant n'écoute pas son mot clé et ne répond pas aux requêtes des utilisateurs.
ON_NO_RESPONSE = 8

L'Assistant a terminé le tour, mais n'a rien à dire.

ON_RECOGNIZING_SPEECH_FINISHED = 5

L'Assistant a déterminé le dernier discours reconnu.

Paramètres :text (str) : interprétation finale de la requête d'un utilisateur.
ON_RENDER_RESPONSE = 15

Indique que l'Assistant dispose d'une sortie de texte à afficher pour une réponse.

Paramètres :
  • type (RenderResponseType) : type de réponse à afficher.
  • text (str) : chaîne à afficher pour RenderResponseType.TEXT.
ON_RESPONDING_FINISHED = 7

L'Assistant a fini de répondre par commande vocale.

ON_RESPONDING_STARTED = 6

L'Assistant commence à répondre par commande vocale.

L'Assistant répondra jusqu'à ce que ON_RESPONDING_FINISHED soit reçu.

Paramètres :is_error_response (bool) : "true" signifie qu'une erreur TTS locale est diffusée, sinon l'Assistant répond par une réponse du serveur.
ON_START_FINISHED = 0

Le démarrage de la bibliothèque de l'Assistant est terminé.

classe google.assistant.library.event.IterableEventQueue(timeout=3600)

Extension de queue.Queue pour ajouter une interface __iter__.

offer(événement)

Proposer un événement à placer en file d'attente.

Si la file d'attente est pleine, l'événement est consigné sans être ajouté.

Paramètres :event (Événement) : événement à essayer à ajouter à la file d'attente.
classe google.assistant.library.event.MediaStateChangeEvent(event_type, args, **_)

Étend l'événement pour ajouter l'analyse de "state".

cours google.assistant.library.event.MediaTrackType

Types de titres pour les événements ON_MEDIA_TRACK_X

Utilisée avec ON_MEDIA_TRACK_LOAD, ON_MEDIA_TRACK_PLAY et ON_MEDIA_TRACK_STOP.

CONTENT = 2

Contenu réel d'un élément (actualités/podcast).

TTS = 1

Présentation de synthèse vocale ou piste interstitielle associée à un article

classe google.assistant.library.event.RenderResponseEvent(event_type, args, **_)

Étend l'événement pour ajouter une analyse de "response_type".

cours google.assistant.library.event.RenderResponseType

Types de contenus à afficher.

Utilisée avec ON_RENDER_RESPONSE