Google Assistant Library

google.assistant.library an.

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

Client für die Google Assistant-Bibliothek.

Bietet grundlegende Steuerfunktionen und Lebenszyklusverwaltung für Google Assistant. Es hat sich bewährt, Google Assistant als ContextManager:

with Assistant(credentials, device_model_id) as assistant:

So kann die zugrunde liegende native Implementierung die Speicherverwaltung ordnungsgemäß verarbeiten.

Sobald start() aufgerufen wird, erstellt Assistant einen Stream von Ereignissen, in denen die verschiedenen Status, in dem sich Assistant gerade befindet, z. B.:

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}

Weitere Informationen findest du unter EventType zu allen Ereignissen und den zugehörigen Argumenten.

Glossar:

  • Hotword: Der Begriff, auf den Assistant wartet, wenn er nicht stummgeschaltet ist:

    "OK Google" OR "Hey Google"
    
  • Turn: Eine einzelne Nutzeranfrage gefolgt von einer Antwort von Assistant.

  • Unterhaltung: Eine oder mehrere Runden, die zu einem gewünschten Endergebnis führen. von 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!"
    
Parameter:
  • credentials (google.oauth2.credentials.Credentials): Die Google OAuth2-Anmeldedaten des Nutzers.
  • device_model_id (str): Die device_model_id, die für Ihr Projekt bei Google registriert wurde. Dieser String darf nicht leer sein.
Ausgabe:

ValueError – Wenn device_model_id als „None“ oder leer angegeben wurde.

device_id

Die vom Assistant generierte Geräte-ID.

Mit diesem Wert wird Ihr Gerät gegenüber dem Server identifiziert, wenn Dienste genutzt werden wie Google Device Actions. Diese Property wird erst nach dem Aufruf von start() ausgefüllt.

Liefert:Die Geräte-ID, nachdem start() aufgerufen wurde, andernfalls ein leerer String.
Rückgabetyp:str
send_text_query(Suchanfrage)

Sendet |query| an Assistant, als würde es vom Nutzer gesprochen.

Das funktioniert genauso wie ein Nutzer, der das Hotword spricht und eine Suchanfrage ODER spricht die Antwort auf eine Folgeanfrage.

Parameter:query (str) – die Textanfrage, die an Assistant gesendet werden soll.
set_mic_mute(is_muted)

Assistant kann nicht mehr auf das Hotword warten.

Hiermit lässt sich verhindern, dass Assistant auf das Hotword achtet. Diese Funktion bietet ähnliche Funktionen wie die Datenschutztaste auf der Rückseite. von Google Home.

Diese Methode ist nicht ausführbar, wenn Assistant noch nicht gestartet wurde.

Parameter:is_muted (bool): „True“ verhindert, dass Assistant zuhört, und „False“ kann es von vorn beginnen.
start()

Startet Google Assistant und achtet auch auf ein Hotword.

Sobald start() aufgerufen wird, verarbeitet Assistant Daten aus der „Standard“-ALSA-Audioquelle, die auf das Hotword wartet. Dadurch werden auch andere von Assistant bereitgestellte Dienste gestartet, z. B. Timer/Wecker. Diese Methode kann nur einmal aufgerufen werden. Nach dem Aufruf wird Assistant weiter ausgeführt, bis __exit__ aufgerufen wird.

Liefert:Eine Warteschlange mit Ereignissen, die über Änderungen am Assistant-Status benachrichtigen.
Rückgabetyp:google.assistant.event.IterableEventQueue
start_conversation()

Startet manuell eine neue Unterhaltung mit Assistant.

die Aufzeichnung der Sprache des Nutzers startet und diese an Google sendet, ähnlich wie wenn Assistant das Hotword hört.

Diese Methode ist ein No-Op, wenn Assistant nicht gestartet wurde oder werden ignoriert.

stop_conversation()

Beendet eine aktive Unterhaltung mit Assistant.

Assistant könnte die Anfrage des Nutzers hören ODER antworten. Wenn Es gibt keine aktive Unterhaltung. Dies ist ein No-Op.

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

Das Ereignis wird erweitert, um das Parsen von „alert_type“ hinzuzufügen.

Klasse google.assistant.library.event.AlertType

Benachrichtigungstypen

Wird mit den Ereignissen ON_ALERT_STARTED und ON_ALERT_FINISHED verwendet.

ALARM = 0

Ein Ereignis, das für eine absolute Zeit festgelegt ist, z. B. „Montag, 3:00 Uhr“

TIMER = 1

Ein Ereignis, das auf eine relative Zeit festgelegt ist, z. B. „In 30 Sekunden“

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

Das Ereignis wird um das Attribut „actions“ erweitert.

actions

Generator von Befehlen, die für das aktuelle Gerät ausgeführt werden sollen.

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

Ein von Assistant generiertes Ereignis.

type

EventType: Die Art des Ereignisses, das generiert wurde.

args

dict: Argumentschlüssel/Wert-Paare, die mit diesem Ereignis verknüpft sind.

Statisches New(event_type, args, **kwargs)

Erstellen Sie bei Bedarf ein neues Ereignis mit einer speziellen Ereignisklasse.

Parameter:
  • event_type (int): Eine numerische ID, die einem Ereignis in google.assistant.event.EventType entspricht.
  • args (dict) – Mit diesem Ereignis verknüpfte Argument-Schlüssel/Wert-Paare.
  • kwargs (dict): Optionale Schlüssel/Wert-Paare für Argumente, die für eine Spezialisierung der Event-Klasse für einen EventType spezifisch sind.
class google.assistant.library.event.EventType

Ereignistypen

ON_ALERT_FINISHED = 11

Gibt an, dass der Alarm für alert_type beendet ist.

Parameter:alert_type (AlertType) – die ID des Enums, das den Typ darstellt die gerade beendet ist.
ON_ALERT_STARTED = 10

Gibt an, dass ein Alarm ertönt.

Diese Warnung wird fortgesetzt bis ON_ALERT_FINISHED mit derselben alert_type empfangen wird. Es sollte nur eine Benachrichtigung zu einem bestimmten Zeitpunkt aktiv sein.

Parameter:alert_type (AlertType) – die ID des Enums, das die aktuelle Meldung darstellt akustischer Alarm aus.
ON_ASSISTANT_ERROR = 12

Gibt an, ob in der Assistant-Bibliothek ein Fehler aufgetreten ist.

Parameter:is_fatal (bool): Wenn „True“ festgelegt ist, kann Assistant keine Wiederherstellung durchführen und sollte neu gestartet werden.
ON_CONVERSATION_TURN_FINISHED = 9

Assistant hat die aktuelle Runde beendet.

Dazu gehört sowohl die Verarbeitung der Suchanfrage eines Nutzers als auch das Aussprechen der vollständigen Antwort, falls vorhanden.

Parameter:with_follow_on_turn (bool): Falls die Option auf „True“ gesetzt ist, erwartet Assistant eine Folgeinteraktion der Nutzenden. Das Mikrofon wird damit der Nutzer eine Anschlussfrage beantworten kann.
ON_CONVERSATION_TURN_STARTED = 1

Gibt an, dass eine neue Abzweigung begonnen hat.

Assistant hört gerade zu und wartet auf einen Nutzer Abfrage. Das kann daran liegen, dass das Hotword erkannt wurde oder start_conversation() in Assistant aufgerufen wurde.

ON_CONVERSATION_TURN_TIMEOUT = 2

Beim Warten auf eine erkennbare Anfrage kam es zu einer Zeitüberschreitung von Assistant.

Das kann daran liegen, dass das Hotword versehentlich ausgelöst wurde oder Assistant das, was der Nutzer gesagt hat, nicht verstanden hat.

ON_DEVICE_ACTION = 14

Gibt an, dass eine Device Action-Anfrage an das Gerät gesendet wurde.

Dies wird ausgelöst, wenn für die Eigenschaften die vom Gerät unterstützt werden. Dieser Ereignistyp hat eine spezielle Property „actions“, die einen Iterator oder Geräteaktionsbefehl und die zugehörigen Parameter (falls zutreffend) zurückgibt.

Parameter:dict: Die decodierte JSON-Nutzlast einer Geräteaktionsanfrage.
ON_END_OF_UTTERANCE = 3

Assistant hört auf eine Nutzeranfrage nicht mehr zu.

Assistant ist vielleicht noch nicht fertig damit, was der Nutzer gesagt hat, aber er hört auf, weitere Audiodaten zu erfassen.

ON_MEDIA_STATE_ERROR = 20

Gibt an, dass beim Abspielen eines Titels ein Fehler aufgetreten ist.

Der integrierte Mediaplayer versucht, zum nächsten Titel zu springen oder zu ON_MEDIA_STATE_IDLE zurückzukehren, wenn nichts mehr abgespielt werden kann.

ON_MEDIA_STATE_IDLE = 16

Gibt an, dass keine Inhalte wiedergegeben werden und keine Inhalte in der Warteschlange vorhanden sind.

Dieser Termin wird über die integrierte Google Assistant-Bibliothek übertragen. Mediaplayer für Nachrichten/Podcasts beim Start und wenn der Player inaktiv, weil ein Nutzer die Medienwiedergabe oder den Stream pausiert hat Zeitüberschreitung.

ON_MEDIA_TRACK_LOAD = 17

Gibt an, dass ein Titel geladen wird, aber noch nicht wiedergegeben wird.

Dies kann mehrmals geschehen, wenn neue Metadaten asynchron geladen werden. Darauf folgt normalerweise das Ereignis ON_MEDIA_TRACK_PLAY

Parameter:
  • metadata (dict):

    Metadaten für den geladenen Titel. Nicht für alle Felder bis zu diesem Zeitpunkt ausgefüllt sein. Ist ein Feld unbekannt, enthalten sein. Zu den Metadatenfeldern gehören:

    album(str): Der Name des Albums, zu dem der Titel gehört. album_art(str): Eine URL für das Albumcover. artist(str): Der Künstler, der diesen Titel erstellt hat. duration_ms(double): Die Länge dieses Titels in Millisekunden. title(str): Der Titel des Titels.
  • track_type (MediaTrackType): Der Typ des geladenen Tracks.
ON_MEDIA_TRACK_PLAY = 18

Gibt an, dass ein Titel derzeit Audio ausgibt.

Dies wird nur ausgelöst, wenn wir von einem Bundesstaat in einen anderen wechseln, ab ON_MEDIA_TRACK_LOAD oder ON_MEDIA_TRACK_STOP

Parameter:
  • metadata (dict) –

    Metadaten für den wiedergegebenen Titel. Wenn ein Feld unbekannt ist, wird es nicht berücksichtigt. Zu den Metadatenfeldern gehören:

    album(str): Der Name des Albums, zu dem der Titel gehört. album_art(str): Eine URL für das Albumcover. artist(str): Der Künstler, der diesen Titel erstellt hat. duration_ms(double): Die Länge dieses Titels in Millisekunden. title(str): Der Titel des Titels.
  • position_ms (double): Die aktuelle Position in einem wiedergegebenen Titel in Millisekunden seit Beginn. Wenn für „metadata.duration_ms“ der Wert unbekannt (auf 0 gesetzt), wird dieses Feld nicht festgelegt.
  • track_type (MediaTrackType): Der Typ des wiedergegebenen Titels.
ON_MEDIA_TRACK_STOP = 19

Gibt an, dass ein zuvor abgespielter Titel angehalten wurde.

Dies ist in der Regel auf eine Pause des Nutzers zurückzuführen. kann der Titel wieder zu ON_MEDIA_TRACK_PLAY wenn ja die vom Nutzer wieder aufgenommen werden.

Parameter:
  • metadata (dict) –

    Metadaten für den angehaltenen Titel. Wenn ein Feld unbekannt ist werden sie nicht berücksichtigt. Zu den Metadatenfeldern gehören:

    album(str): Der Name des Albums, zu dem der Titel gehört album_art(str): URL für das Albumcover. artist(str): Der Interpret, der diesen Titel erstellt hat. duration_ms(double): Die Länge dieses Titels in Millisekunden. title(str): Der Titel des Titels.
  • position_ms (double): Die aktuelle Position in einem angehaltenen Titel in Millisekunden seit Beginn. Wenn „metadata.duration_ms“ unbekannt ist (auf „0“ festgelegt), wird dieses Feld nicht festgelegt.
  • track_type (MediaTrackType): Der Typ des angehaltenen Titels.
ON_MUTED_CHANGED = 13

Gibt an, ob Assistant gerade zuhört oder nicht.

start() wird immer Generieren: ON_MUTED_CHANGED um den Anfangswert zu erfassen.

Parameter:is_muted (bool): Wenn „True“ ist, hört Assistant derzeit nicht auf sein Hotword und reagiert nicht auf Nutzeranfragen.
ON_NO_RESPONSE = 8

Assistant ist an der Reihe, aber hat nichts zu sagen.

ON_RECOGNIZING_SPEECH_FINISHED = 5

Assistant hat die endgültig erkannte Sprache ermittelt.

Parameter:text (str): Die endgültige Textinterpretation der Suchanfrage eines Nutzers.
ON_RENDER_RESPONSE = 15

Gibt an, dass Assistant Text für eine Antwort rendern muss.

Parameter:
  • type (RenderResponseType) – Der Antworttyp, der gerendert werden soll.
  • text (str): Der String, der für „RenderResponseType.TEXT“ gerendert werden soll.
ON_RESPONDING_FINISHED = 7

Assistant hat jetzt nicht mehr per Sprachbefehl geantwortet.

ON_RESPONDING_STARTED = 6

Assistant antwortet jetzt per Sprachbefehl.

Assistant antwortet bis ON_RESPONDING_FINISHED empfangen wird.

Parameter:is_error_response (bool): „True“ bedeutet, dass eine lokale TTS-Fehlermeldung wiedergegeben wird. Andernfalls antwortet Assistant mit einer Serverantwort.
ON_START_FINISHED = 0

Die Assistant-Bibliothek wurde gestartet.

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

Erweitert „queue.Queue“, um eine __iter__-Schnittstelle hinzuzufügen.

offer(event)

Biete ein Ereignis an, das in die Warteschlange gestellt werden soll.

Wenn die Warteschlange derzeit voll ist, wird das Ereignis protokolliert, aber nicht hinzugefügt.

Parameter:event (Ereignis): Das Ereignis, das der Warteschlange hinzugefügt werden soll.
Klasse google.assistant.library.event.MediaStateChangeEvent(event_type, args, **_)

Erweitert das Ereignis, um das Parsen von "state" hinzuzufügen.

class google.assistant.library.event.MediaTrackType

Arten von Tracks für ON_MEDIA_TRACK_X-Ereignisse.

Verwendet mit ON_MEDIA_TRACK_LOAD, ON_MEDIA_TRACK_PLAY, und ON_MEDIA_TRACK_STOP

CONTENT = 2

Der eigentliche Inhalt eines Artikels (Nachrichten/Podcast).

TTS = 1

Eine TTS-Einführung oder ein Interstitial-Track, der sich auf ein Element bezieht.

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

Das Ereignis wird erweitert, um das Parsen von „response_type“ hinzuzufügen.

class google.assistant.library.event.RenderResponseType

Die zu rendernden Inhaltstypen.

Verwendet mit ON_RENDER_RESPONSE