Google Assistant Library

google.assistant.library.

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

Client per la libreria dell'Assistente Google.

Offre funzionalità di controllo di base e gestione del ciclo di vita per l'Assistente Google. È buona norma utilizzare l'assistente come ContextManager:

with Assistant(credentials, device_model_id) as assistant:

Ciò consente all'implementazione nativa sottostante di gestire correttamente la gestione della memoria.

Una volta chiamato start(), l'assistente genera un flusso di eventi che inoltra i vari stati in cui si trova attualmente l'assistente, ad esempio:

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}

Per informazioni dettagliate su tutti gli eventi e i relativi argomenti, consulta EventType.

Glossario:

  • Hotword: la frase che l'assistente ascolta quando è disattivato:

    "OK Google" OR "Hey Google"
    
  • Turn: una singola richiesta utente seguita da una risposta dell'assistente.

  • Conversazione: una o più svolte che generano il risultato finale desiderato dall'assistente:

    "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!"
    
Parametri:
  • credentials (google.oauth2.credentials.credentials). Le credenziali Google OAuth2 dell'utente.
  • device_model_id (str) – L'ID dispositivo_model_registrato per il tuo progetto con Google. Non deve essere una stringa vuota.
Aumenta:

ValueError: se il valore di device_model_id è stato lasciato invariato o vuoto.

device_id

Restituisce l'ID dispositivo generato dall'assistente.

Questo valore identifica il tuo dispositivo al server quando utilizza servizi come Google Device Actions. Questa proprietà viene riempita solo DOPO la chiamata a start().

Resi:L'ID dispositivo una volta start() è stato chiamato, altrimenti la stringa è vuota.
Tipo restituito:str
send_text_query(query)

Invia |query| all'assistente come se fosse stato letto dall'utente.

Questo comporta il comportamento di un utente che pronuncia la hotword e fa una query OPPURE pronuncia la risposta a una query di follow-on.

Parametri:query (str) – La query di testo da inviare all'assistente.
set_mic_mute(is_muted)

Interrompe l'ascolto dell'assistente tramite l'hotword.

Consente di impedire all'assistente di ascoltare l'hotword. In questo modo la funzionalità è simile al pulsante per la privacy sul retro di Google Home.

Questo metodo è autonomo se l'assistente non è stato ancora avviato.

Parametri:is_muted (bool): il valore True interrompe l'ascolto dell'assistente, mentre il valore False consente di riavviarlo.
start():

Avvia l'assistente, che include l'ascolto di una hotword.

Una volta chiamato start(), l'assistente inizierà a elaborare i dati dalla sorgente audio ALSA "predefinita", in ascolto della hotword. Verranno avviati anche altri servizi forniti dall'assistente, come timer/sveglie. Questo metodo può essere chiamato una sola volta. Una volta chiamato, l'assistente continuerà a essere eseguito finché non verrà chiamato __exit__.

Resi:Una coda di eventi che notificano le modifiche allo stato dell'assistente.
Tipo restituito:google.assistant.event.IterableEventQueue
start_conversation():

Avvia manualmente una nuova conversazione con l'assistente.

Inizia a registrare il discorso dell'utente e a inviarlo a Google, in modo simile a quanto succede quando l'assistente sente l'hotword.

Questo metodo è autonomo se l'assistente non è avviato o è stato disattivato.

stop_conversation():

Interrompe qualsiasi conversazione attiva con l'assistente.

L'assistente potrebbe ascoltare la query dell'utente OPPURE rispondere. Se non ci sono conversazioni attive, significa che la soluzione è negativa.

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

Estende l'evento per aggiungere l'analisi di "alert_type".

classe google.assistant.library.event.AlertType

Tipi di avvisi.

Utilizzato con gli eventi ON_ALERT_STARTED e ON_ALERT_FINISHED.

ALARM = 0

Un evento impostato per un orario assoluto come "3:00 di lunedì"

TIMER = 1

Un evento impostato per un tempo relativo, ad esempio "30 secondi da adesso"

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

Estende l'evento per aggiungere la proprietà "actions".

actions

Un generatore di comandi da eseguire per il dispositivo corrente.

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

Un evento generato dall'assistente.

type

EventType: il tipo di evento che è stato generato.

args

dict: le coppie chiave/valore associate a questo evento.

statico New(event_type, args, **kwargs)

Se necessario, crea un nuovo evento utilizzando una classe Specializzata.

Parametri:
  • event_type (int): un ID numerico corrispondente a un evento in google.assistant.event.EventType.
  • args (dict) – Coppie chiave-valore dell'argomento associate a questo evento.
  • kwargs (dict) – Coppie chiave-valore di argomento facoltative specifiche per una specializzazione della classe Event per un EventType.
classe google.assistant.library.event.EventType

Tipi di eventi.

ON_ALERT_FINISHED = 11

Indica che l'avviso di alert_type ha terminato la riproduzione del suono.

Parametri:alert_type (AlertType) - L'ID dell'Enum che rappresenta il tipo di avviso appena terminato.
ON_ALERT_STARTED = 10

Indica che un avviso ha iniziato a suonare.

Questo avviso continuerà fino a quando riceverai ON_ALERT_FINISHED con lo stesso alert_type. Deve essere attivo un solo avviso alla volta.

Parametri:alert_type (AlertType) - L'ID dell'Enum che rappresenta il tipo di avviso attualmente in uso.
ON_ASSISTANT_ERROR = 12

Indica se si è verificato un errore nella libreria dell'assistente.

Parametri:is_Lifetime (bool): se il valore è True, l'assistente non potrà eseguire il ripristino e dovrebbe essere riavviato.
ON_CONVERSATION_TURN_FINISHED = 9

L'assistente ha terminato la svolta attuale.

Questo include l'elaborazione della query di un utente e la pronuncia dell'eventuale risposta completa.

Parametri:with_follow_on_turn (bool): se il valore è True, l'assistente si aspetta un'interazione di follow-up da parte dell'utente. Il microfono verrà riaperto per consentire all'utente di rispondere a una domanda di follow-up.
ON_CONVERSATION_TURN_STARTED = 1

Indica che una nuova svolta è iniziata.

L'assistente è in ascolto, in attesa di una query dell'utente. Potrebbe essere il risultato dell'ascolto dell'hotword o della chiamata all'assistente per start_conversation().

ON_CONVERSATION_TURN_TIMEOUT = 2

Timeout dell'assistente in attesa di una query distinguibile.

Questo potrebbe essere dovuto a un'attivazione errata dell'hotword o all'assistente non è in grado di capire cosa ha detto l'utente.

ON_DEVICE_ACTION = 14

Indica che una richiesta Azione dispositivo è stata inviata al dispositivo.

Questo viene inviato se viene attivata qualsiasi grammatica del dispositivo per i tratti supportati dal dispositivo. Questo tipo di evento ha una proprietà "azioni" speciale che restituirà un comando iteratore o Azione dispositivo e i parametri associati (se applicabili).

Parametri:dict: il payload JSON decodificato di una richiesta di azione del dispositivo.
ON_END_OF_UTTERANCE = 3

L'assistente ha smesso di ascoltare una query dell'utente.

L'assistente potrebbe non aver finito di capire cosa ha detto l'utente, ma ha smesso di ascoltare più dati audio.

ON_MEDIA_STATE_ERROR = 20

Indica che si è verificato un errore durante la riproduzione di una traccia.

Il lettore multimediale integrato proverà a passare alla traccia successiva o a tornare a ON_MEDIA_STATE_IDLE se non c'è più nulla da riprodurre.

ON_MEDIA_STATE_IDLE = 16

Indica che non c'è nulla in riproduzione e che non è presente nulla in riproduzione.

Questo evento viene trasmesso dal lettore multimediale integrato della Libreria dell'Assistente Google per la trasmissione di notizie/podcast all'avvio e ogni volta che il player è inattivo perché un utente ha interrotto la riproduzione dei contenuti multimediali o l'ha messo in pausa e lo stream è scaduto.

ON_MEDIA_TRACK_LOAD = 17

Indica che la traccia è in fase di caricamento, ma la riproduzione non è iniziata.

Questa operazione potrebbe essere inviata più volte se i nuovi metadati vengono caricati in modo asincrono. seguito dall'evento ON_MEDIA_TRACK_PLAY

Parametri:
  • metadata (dict) –

    I metadati per la traccia caricata. Non tutti i campi verranno compilati entro questa data: se un campo è sconosciuto, non verrà incluso. I campi di metadati includono:

    album(str): il nome dell'album a cui appartiene la traccia. album_art(str): un URL della copertina dell'album. artist(str): l'artista che ha creato la traccia. duration_ms(Double): la lunghezza di questa traccia in millisecondi. title(str): il titolo della traccia.
  • track_type (MediaTrackType) – Il tipo di traccia caricata.
ON_MEDIA_TRACK_PLAY = 18

Indica che una traccia sta inviando audio.

Questo si attiva solo quando eseguiamo la transizione da uno stato a un altro, ad esempio da ON_MEDIA_TRACK_LOAD o ON_MEDIA_TRACK_STOP

Parametri:
  • metadata (dict) –

    I metadati per la traccia in riproduzione. Se un campo è sconosciuto, non verrà incluso. I campi di metadati includono:

    album(str): il nome dell'album a cui appartiene la traccia. album_art(str): un URL della copertina dell'album. artist(str): l'artista che ha creato la traccia. duration_ms(Double): la lunghezza di questa traccia in millisecondi. title(str): il titolo della traccia.
  • position_ms (Doppia) - La posizione corrente in una traccia in riproduzione in millisecondi dall'inizio. Se "metadata.duration_ms" è sconosciuto (impostato su 0), questo campo non verrà impostato.
  • track_type (MediaTrackType) – Il tipo di traccia in riproduzione.
ON_MEDIA_TRACK_STOP = 19

Indica che una traccia riprodotta in precedenza è stata interrotta.

In genere questo deriva dalla sospensione dell'utente; la traccia può tornare a ON_MEDIA_TRACK_PLAY se viene ripristinata dall'utente.

Parametri:
  • metadata (dict) –

    I metadati per la traccia interrotta. Se un campo è sconosciuto, non verrà incluso. I campi di metadati includono:

    album(str): il nome dell'album a cui appartiene la traccia. album_art(str): un URL della copertina dell'album. artist(str): l'artista che ha creato la traccia. duration_ms(Double): la lunghezza di questa traccia in millisecondi. title(str): il titolo della traccia.
  • position_ms (Doppia) – La posizione corrente in una traccia interrotta in millisecondi dall'inizio. Se "metadata.duration_ms" è sconosciuto (impostato su 0), questo campo non verrà impostato.
  • track_type (MediaTrackType) - Il tipo di traccia interrotta.
ON_MUTED_CHANGED = 13

Indica che l'assistente è in ascolto o meno.

start() genererà sempre ON_MUTED_CHANGED per segnalare il valore iniziale.

Parametri:is_muted (bool): se il valore è True, l'assistente non è attualmente in ascolto della sua hotword e non risponderà alle query degli utenti.
ON_NO_RESPONSE = 8

L'assistente ha completato correttamente il turno, ma non ha nulla da dire.

ON_RECOGNIZING_SPEECH_FINISHED = 5

L'assistente ha stabilito il discorso finale riconosciuto.

Parametri:text (str) - L'interpretazione finale del testo della query di un utente.
ON_RENDER_RESPONSE = 15

Indica che l'assistente ha output di testo per il rendering di una risposta.

Parametri:
  • type (RenderResponseType): il tipo di risposta da visualizzare.
  • text (str) – La stringa da visualizzare per RenderResponseType.TEXT.
ON_RESPONDING_FINISHED = 7

L'assistente ha finito di rispondere con la voce.

ON_RESPONDING_STARTED = 6

L'assistente sta iniziando a rispondere usando la voce.

L'assistente risponderà fino a quando non riceverai il messaggio ON_RESPONDING_FINISHED.

Parametri:is_error_response (bool) – Vero significa che viene riprodotto un errore locale di sintesi vocale, altrimenti l'assistente risponde con una risposta del server.
ON_START_FINISHED = 0

La raccolta dell'assistente è terminata.

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

Estende la coda.Coda per aggiungere un'interfaccia __iter__.

offer(evento)

Proponi un evento da mettere in coda.

Se la coda è attualmente piena, l'evento verrà registrato, ma non verrà aggiunto.

Parametri:event (Evento): l'evento che tenta di aggiungere alla coda.
classe google.assistant.library.event.MediaStateChangeEvent(event_type, args, **_)

Estende l'evento per aggiungere l'analisi di "state".

classe google.assistant.library.event.MediaTrackType

Tipi di traccia per eventi ON_MEDIA_TRACK_X.

Utilizzato con ON_MEDIA_TRACK_LOAD, ON_MEDIA_TRACK_PLAY e ON_MEDIA_TRACK_STOP

CONTENT = 2

I contenuti effettivi di un articolo (notizie/podcast).

TTS = 1

Un'introduzione TTS o una traccia interstitial relativa a un articolo.

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

Estende l'evento per aggiungere l'analisi di "response_type".

classe google.assistant.library.event.RenderResponseType

Tipi di contenuti da visualizzare.

Utilizzato con ON_RENDER_RESPONSE