Google Assistant Library

pakiet google.assistant.library.

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

Klient dla biblioteki Asystenta Google.

Zapewnia podstawowe funkcje sterowania i obsługi cyklu życia Asystenta Google. Sprawdzoną metodą jest korzystanie z Asystenta jako ContextManager:

with Assistant(credentials, device_model_id) as assistant:

Dzięki temu podstawowa implementacja natywnych funkcji będzie mogła prawidłowo zarządzać pamięcią.

Po wywołaniu start() Asystent generuje strumień zdarzeń, które przekazują różne stany, w których się znajduje, na przykład:

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}

Szczegółowe informacje o wszystkich zdarzeniach i ich argumentach znajdziesz w artykule EventType.

Słownik:

  • Słowo-klucz: fraza, której Asystent słucha, gdy nie jest wyciszona:

    "OK Google" OR "Hey Google"
    
  • Turn: prośba jednego użytkownika, po której następuje odpowiedź Asystenta.

  • Rozmowa: co najmniej 1 zwrot, który prowadzi do pożądanego wyniku końcowego Asystenta:

    "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!"
    
Parametry:
  • credentials (google.oauth2.credentials.Credentials) – dane logowania OAuth2 Google użytkownika.
  • device_model_id (str) – identyfikator modelu urządzenia zarejestrowany w Google dla Twojego projektu. Nie może być pusty.
Podwyżki:

ValueError – jeśli device_model_id zostało ustawione jako „Brak” lub jest puste.

device_id

Zwraca identyfikator urządzenia wygenerowany przez Asystenta.

Ta wartość identyfikuje Twoje urządzenie na serwerze podczas korzystania z usług, takich jak Google Device Actions. Ta właściwość jest wypełniana dopiero po wywołaniu funkcji start().

Zwraca:Identyfikator urządzenia, gdy funkcja start() została wywołana, w przeciwnym razie pusty ciąg znaków.
Typ zwracanej wartości:str
send_text_query(zapytanie)

Przesyła |query| do Asystenta tak, jakby było wypowiedziane przez użytkownika.

Działa on tak samo jak użytkownik, który wypowiada słowo kluczowe i formułuje zapytanie LUB wypowiada odpowiedź na kolejne zapytanie.

Parametry:query (str) – tekst zapytania do wysłania do Asystenta.
set_mic_mute(is_muted)

Asystent przestaje nasłuchiwać słowo-klucz.

Umożliwia wyłączenie nasłuchiwania przez Asystenta słowa-klucza. Zapewnia to funkcjonalność podobną do przycisku prywatności na tylnej stronie urządzenia Google Home.

Ta metoda nie działa, jeśli Asystent nie został jeszcze uruchomiony.

Parametry:is_muted (bool) – wartość True (prawda) powoduje, że Asystent przestaje słuchać, a wartość False (fałsz) pozwala mu na ponowne rozpoczęcie słuchania.
start()

Uruchamia Asystenta, w tym nasłuchuje słowa-klucza.

Gdy wywołasz start(), Asystent zacznie przetwarzać dane z „domyślnego” źródła dźwięku ALSA, nasłuchując hasła. Spowoduje to również uruchomienie innych usług oferowanych przez Asystenta, takich jak minutniki czy alarmy. Ta metoda może być wywołana tylko raz. Gdy zostanie wywołany, będzie działać do momentu wywołania __exit__.

Zwraca:kolejka zdarzeń, które informują o zmianach stanu Asystenta;
Typ zwracanej wartości:google.assistant.event.IterableEventQueue
start_conversation()

ręcznie rozpoczyna nową rozmowę z Asystentem;

rozpoczyna nagrywanie mowy użytkownika i wysyłanie nagrania do Google, podobnie jak w przypadku, gdy Asystent usłyszy słowo kluczowe;

Ta metoda nie działa, jeśli Asystent nie jest uruchomiony lub został wyciszony.

stop_conversation()

Zatrzymuje wszystkie aktywne rozmowy z Asystentem.

Asystent może słuchać zapytania użytkownika LUB na nie odpowiadać. Jeśli nie ma aktywnej rozmowy, nie można wykonać tej czynności.

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

Rozszerza zdarzenie o dodanie analizowania parametru „alert_type”.

class google.assistant.library.event.AlertType

Typy alertów.

Używany w przypadku zdarzeń ON_ALERT_STARTEDON_ALERT_FINISHED.

ALARM = 0

zdarzenie o czasie bezwzględnym, np. „poniedziałek, godz. 3 rano”;

TIMER = 1

zdarzenie ustawione na czas względny, np. „za 30 sekund”.

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

Rozszerza zdarzenie o właściwość „działania”.

actions

Generator poleceń do wykonania na bieżącym urządzeniu.

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

Zdarzenie wygenerowane przez Asystenta.

type

EventType – typ wygenerowanego zdarzenia.

args

dict – pary klucz-wartość argumentów powiązane z tym zdarzeniem.

static New(event_type, args, **kwargs)

W razie potrzeby utwórz nowe zdarzenie, korzystając z specjalnej klasy zdarzeń.

Parametry:
  • event_type (int) – identyfikator liczbowy odpowiadający zdarzeniu w google.assistant.event.EventType.
  • args (dict) – pary klucz-wartość argumentów powiązane z tym zdarzeniem.
  • kwargs (dict) – opcjonalne pary klucz-wartość argumentów specyficzne dla specjalizacji klasy Event dla typu EventType.
class google.assistant.library.event.EventType

Typy zdarzeń

ON_ALERT_FINISHED = 11

Oznacza, że alert alert_type został zakończony.

Parametry:alert_type (AlertType) – identyfikator typu alertu, który właśnie się zakończył.
ON_ALERT_STARTED = 10

Wskazuje, że alarm zaczął działać.

Ten alert będzie się pojawiać, dopóki nie otrzymamy wiadomości ON_ALERT_FINISHEDz tym samym alert_type. W danym momencie powinien być aktywny tylko 1 alert.

Parametry:alert_type (AlertType) – identyfikator typu z wyliczenia, który reprezentuje aktualnie odtwarzany typ alertu.
ON_ASSISTANT_ERROR = 12

Wskazuje, czy biblioteka Asystenta napotkała błąd.

Parametry:is_fatal (bool) – jeśli wartość to prawda, Asystent nie będzie mógł się odzyskać i należy go zrestartować.
ON_CONVERSATION_TURN_FINISHED = 9

Asystent zakończył bieżący obrót.

Obejmuje to zarówno przetworzenie zapytania użytkownika, jak i wypowiedzenie pełnej odpowiedzi, jeśli taka istnieje.

Parametry:with_follow_on_turn (bool) – jeśli wartość to True, Asystent oczekuje dalszej interakcji użytkownika. Mikrofon zostanie ponownie włączony, aby umożliwić użytkownikowi udzielenie odpowiedzi na kolejne pytanie.
ON_CONVERSATION_TURN_STARTED = 1

Wskazuje, że rozpoczął się nowy ruch.

Asystent nasłuchuje, czekając na zapytanie użytkownika. Może to być spowodowane usłyszeniem słowa-klucza lub polecenia „start_conversation()” przez Asystenta.

ON_CONVERSATION_TURN_TIMEOUT = 2

Asystent zakończył oczekiwanie na uchwytne zapytanie.

Może to być spowodowane nieprawidłowym uruchomieniem hasła lub tym, że Asystent nie zrozumiał tego, co powiedział użytkownik.

ON_DEVICE_ACTION = 14

Wskazuje, że na urządzenie wysłano żądanie działania na urządzeniu.

Jest on wysyłany, jeśli zostanie wywołana jakakolwiek gramatyka urządzenia dla właściwości obsługiwanych przez urządzenie. Ten typ zdarzenia ma specjalną właściwość „actions”, która zwraca iterator lub polecenia działania urządzenia i powiązane z nimi parametry (w odpowiednich przypadkach).

Parametry:dict – zdekodowany ładunek JSON żądania działania urządzenia.
ON_END_OF_UTTERANCE = 3

Asystent przestał słuchać zapytania użytkownika.

Asystent może nie skończyć analizowania wypowiedzi użytkownika, ale przestał już nasłuchiwać nowych danych audio.

ON_MEDIA_STATE_ERROR = 20

Wskazuje, że podczas odtwarzania ścieżki wystąpił błąd.

Wbudowany odtwarzacz multimediów spróbuje przejść do następnego utworu lub wrócić do ON_MEDIA_STATE_IDLE, jeśli nie ma już nic do odtworzenia.

ON_MEDIA_STATE_IDLE = 16

Wskazuje, że nic nie jest odtwarzane i nie ma nic w kolejce.

To zdarzenie jest wysyłane z wbudowanego w Asystenta Google odtwarzacza multimediów (dla wiadomości lub podcastów) podczas uruchamiania i za każdym razem, gdy odtwarzacz przejdzie w stan bezczynności, ponieważ użytkownik zatrzymał lub wstrzymał multimedium, a czas trwania strumienia minął.

ON_MEDIA_TRACK_LOAD = 17

Wskazuje, że utwór jest wczytywany, ale nie został jeszcze odtworzony.

Jeśli nowe metadane są wczytywane asynchronicznie, mogą być wysyłane wielokrotnie. Zwykle po tym następuje zdarzenie ON_MEDIA_TRACK_PLAY

Parametry:
  • metadane (dict) –

    Metadane załadowanego utworu. Nie wszystkie pola będą wypełnione w tym czasie – jeśli pole jest nieznane, nie zostanie uwzględnione. Pola metadanych:

    album(str): nazwa albumu, do którego należy utwór; album_art(str): URL okładki albumu; artist(str): wykonawca, który stworzył utwór; duration_ms(double): długość utworu w milisekundach; title(str): tytuł utworu.
  • track_type (MediaTrackType) – typ wczytywanego utworu.
ON_MEDIA_TRACK_PLAY = 18

Wskazuje, że ścieżka obecnie wysyła dźwięk.

Ta funkcja zostanie uruchomiona tylko wtedy, gdy nastąpi przejście z jednego stanu do drugiego, np. z ON_MEDIA_TRACK_LOAD lub ON_MEDIA_TRACK_STOP.

Parametry:
  • metadane (dict) –

    Metadane odtwarzanego utworu. Jeśli pole jest nieznane, nie zostanie uwzględnione. Pola metadanych:

    album(str): nazwa albumu, do którego należy utwór; album_art(str): URL okładki albumu; artist(str): wykonawca, który stworzył utwór; duration_ms(double): długość utworu w milisekundach; title(str): tytuł utworu.
  • position_ms (double) – bieżąca pozycja w odtwarzanym utworze w milisekundach od początku. Jeśli „metadata.duration_ms” jest nieznane (ustawione na 0), to pole nie będzie ustawione.
  • track_type (MediaTrackType) – typ odtwarzanego utworu.
ON_MEDIA_TRACK_STOP = 19

Wskazuje, że wcześniej odtwarzany utwór został zatrzymany.

Zwykle jest to spowodowane wstrzymaniem przez użytkownika. Utwór może wrócić do ON_MEDIA_TRACK_PLAY, jeśli użytkownik wznowi odtwarzanie.

Parametry:
  • metadane (dict) –

    Metadane zatrzymanego utworu. Jeśli pole jest nieznane, nie zostanie uwzględnione. Pola metadanych:

    album(str): nazwa albumu, do którego należy utwór; album_art(str): URL okładki albumu; artist(str): wykonawca, który stworzył utwór; duration_ms(double): długość utworu w milisekundach; title(str): tytuł utworu.
  • position_ms (double) – bieżąca pozycja na zatrzymanym śladzie w milisekundach od początku. Jeśli „metadata.duration_ms” jest nieznane (ustawione na 0), to pole nie będzie ustawione.
  • track_type (MediaTrackType) – typ zatrzymanego utworu.
ON_MUTED_CHANGED = 13

Wskazuje, czy Asystent obecnie nasłuchuje.

start() zawsze wygeneruje wartośćON_MUTED_CHANGED, aby zgłosić wartość początkową.

Parametry:is_muted (bool) – jeśli wartość to True, Asystent nie nasłuchuje obecnie słowa-klucza i nie odpowiada na pytania użytkownika.
ON_NO_RESPONSE = 8

Asystent zakończył swoją kolejkę, ale nie ma nic do powiedzenia.

ON_RECOGNIZING_SPEECH_FINISHED = 5

Asystent określił ostateczny rozpoznany tekst.

Parametry:text (str) – ostateczna interpretacja tekstu zapytania użytkownika.
ON_RENDER_RESPONSE = 15

Wskazuje, że Asystent ma tekst do wyświetlenia w odpowiedzi.

Parametry:
  • type (RenderResponseType) – typ odpowiedzi do renderowania.
  • text (str) – ciąg znaków do wyrenderowania w przypadku RenderResponseType.TEXT.
ON_RESPONDING_FINISHED = 7

Asystent skończył odpowiadać głosowo.

ON_RESPONDING_STARTED = 6

Asystent zaczyna odpowiadać głosem.

Asystent będzie odpowiadać do momentu otrzymania ON_RESPONDING_FINISHED.

Parametry:is_error_response (bool) – wartość True oznacza, że odtwarzana jest lokalna usługa TTS. W przeciwnym razie Asystent odpowiada odpowiedzią serwera.
ON_START_FINISHED = 0

Biblioteka Asystenta została uruchomiona.

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

Rozszerza queue.Queue o dodanie interfejsu __iter__.

offer(event)

Zaproponuj zdarzenie do umieszczenia w kolejce.

Jeśli kolejka jest pełna, zdarzenie zostanie zarejestrowane, ale nie zostanie dodane.

Parametry:event (Zdarzenie) – zdarzenie, które ma zostać dodane do kolejki.
class google.assistant.library.event.MediaStateChangeEvent(event_type, args, **_)

Rozszerza zdarzenie o analizę „stanu”.

class google.assistant.library.event.MediaTrackType

Typy ścieżki dla zdarzeń ON_MEDIA_TRACK_X.

Używane z ON_MEDIA_TRACK_LOAD, ON_MEDIA_TRACK_PLAYON_MEDIA_TRACK_STOP

CONTENT = 2

Rzeczywista treść elementu (wiadomość/podcast).

TTS = 1

Wprowadzenie z użyciem syntezy mowy lub reklama przejściowa powiązana z elementem.

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

Rozszerza zdarzenie o analizę parametru „response_type”.

class google.assistant.library.event.RenderResponseType

Typy treści do renderowania.

Używany w: ON_RENDER_RESPONSE