Google Assistant Library

pakiet google.assistant.library.

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

Klient biblioteki Asystenta Google.

Udostępnia podstawowe funkcje kontroli i obsługi cyklu życia o Asystencie 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 funkcji start() Asystent generuje strumień zdarzeń, przekazując różne stan, w którym aktualnie 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}

Więcej informacji: EventType dotyczące wszystkich wydarzeń i ich argumentów.

Słownik:

  • Słowo-klucz: fraza, której Asystent wysłuchuje, gdy nie jest wyciszony:

    "OK Google" OR "Hey Google"
    
  • Turn: pojedyncza prośba 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 urządzenia (device_model_id), który został zarejestrowany w Twoim projekcie w Google. To nie może być pusty ciąg znaków.
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 to tak samo jak wypowiadanie słowa-klucza przez użytkownika zapytanie LUB wypowiedzenie odpowiedzi na kolejne zapytanie.

Parametry:query (str) – zapytanie tekstowe wysyłane do Asystenta.
set_mic_mute(is_muted)

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

Umożliwia wyłączenie słuchania przez Asystenta słowa-klucza. Zapewnia to funkcjonalność podobną do przycisku prywatności z tyłu urządzenia Google Home.

Jeśli Asystent nie został jeszcze uruchomiony, nie można korzystać z tej metody.

Parametry:is_muted (bool) – wyłącza Asystenta i wyłącza słuchanie. umożliwia ponowne uruchomienie.
start()

Uruchamia Asystenta, który obejmuje słuchanie 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 zwrotu: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 wyciszony.

stop_conversation()

Przerywa wszystkie aktywne rozmowy z Asystentem.

Asystent może słuchać użytkownika LUB odpowiadać. Jeśli brak aktywnej rozmowy, to jest brak operacji.

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

Rozszerza zdarzenie o dodanie analizy składni „alert_type”.

class google.assistant.library.event.AlertType

Typy alertów.

Używane z ON_ALERT_STARTED oraz ON_ALERT_FINISHED zdarzeń.

ALARM = 0

Wydarzenie ustawione na czas bezwzględny, np. „3:00 w poniedziałek”

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 za pomocą specjalistycznej klasy Event.

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ść argumentu specyficzne dla i specjalizacji z klasy 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. Należy użyć tylko jednego alertu aktywne w danym momencie.

Parametry:alert_type (AlertType) – identyfikator wyliczenia reprezentującego bieżący dźwiękowego typu alertu.
ON_ASSISTANT_ERROR = 12

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

Parametry:is_fatal (bool) – jeśli ma wartość Prawda, Asystent nie będzie w stanie odzyskać konta. i powinno zostać uruchomione ponownie.
ON_CONVERSATION_TURN_FINISHED = 9

Asystent zakończył bieżący zakręt.

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

Parametry:with_follow_on_turn (bool) – jeśli prawda, Asystent oczekuje dalszą interakcję użytkownika. Mikrofon będzie aby umożliwić użytkownikowi udzielenie odpowiedzi na kolejne pytanie.
ON_CONVERSATION_TURN_STARTED = 1

Wskazuje, że rozpoczął się nowy skręt.

Asystent słucha teraz i czeka na użytkownika zapytania. Może to być spowodowane usłyszeniem słowa-klucza lub polecenia „start_conversation()” przez Asystenta.

ON_CONVERSATION_TURN_TIMEOUT = 2

Asystent przekroczył limit czasu, czekając na wyraźne 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 do urządzenia zostało wysłane żą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 rodzaj wydarzenia obejmuje specjalne działania właściwości, która zwróci iterator lub polecenia Działania na urządzeniu, z powiązanymi parametrami (jeśli są potrzebne).

Parametry:dict – zdekodowany ładunek JSON żądania akcji na urządzeniu.
ON_END_OF_UTTERANCE = 3

Asystent przestał nasłuchiwać 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 będzie próbował przejść do następnego utworu lub wróć do: ON_MEDIA_STATE_IDLE jeśli nic nie zostało do odtworzenia.

ON_MEDIA_STATE_IDLE = 16

Wskazuje, że nic nie jest odtwarzane ani nic w kolejce do odtworzenia.

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ł odtwarzanie multimediów, a czas transmisji dobiegł końca.

ON_MEDIA_TRACK_LOAD = 17

Wskazuje, że utwór jest wczytywany, ale nie rozpoczął się jeszcze odtwarzać.

Może zostać wielokrotnie wysłany, jeśli zostaną wczytane nowe metadane asynchronicznie. Zwykle po tym następuje zdarzenie ON_MEDIA_TRACK_PLAY

Parametry:
  • metadata (dict) –

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

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

Wskazuje, że ścieżka dźwiękowa jest obecnie odtwarzana z dźwiękiem.

Ten kod aktywuje się tylko wtedy, gdy przechodzimy z jednego stanu na drugi, od 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 obejmują:

    album(str): nazwa albumu, do którego należy utwór; album_art(str): adres 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 odtwarzanego utworu w milisekund od początku. Jeśli „metadata.duration_ms” to nieznana (ustawa na 0) to pole nie zostanie ustawione.
  • track_type (MediaTrackType) – typ odtwarzanego utworu.
ON_MEDIA_TRACK_STOP = 19

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

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

Parametry:
  • metadata (dict) –

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

    album(str): nazwa albumu, do którego należy utwór; album_art(str): adres 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 zatrzymanej ścieżce w milisekund od początku. Jeśli „metadata.duration_ms” jest nieznane (ustawione na 0), to pole nie będzie ustawione.
  • track_type (MediaTrackType) – typ zatrzymanej ścieżki dźwiękowej.
ON_MUTED_CHANGED = 13

Wskazuje, czy Asystent obecnie nasłuchuje.

start() będzie zawsze wygeneruj ON_MUTED_CHANGED do raportowania wartości początkowej.

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ł swoje działanie, 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 zakończył odpowiadanie głosowe.

ON_RESPONDING_STARTED = 6

Asystent zaczyna odpowiadać głosowo.

Asystent będzie odpowiadać do ON_RESPONDING_FINISHED .

Parametry:is_error_response (bool) – wartość „prawda” oznacza, że odtwarzane są lokalne błędy TTS, W przeciwnym razie Asystent odpowiada, wysyłając odpowiedź serwera.
ON_START_FINISHED = 0

Biblioteka Asystenta została uruchomiona.

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

Rozszerza kolejkę queue.Queue o interfejs __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 dodanie analizy 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_PLAY, & ON_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 dodanie analizy składni „response_type”.

class google.assistant.library.event.RenderResponseType

Typy treści do renderowania.

Używane z ON_RENDER_RESPONSE