Google Assistant Library

pacchetto google.assistant.library.

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

Client per la libreria dell'Assistente Google.

Fornisce 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:

In questo modo, l'implementazione nativa di base può gestire correttamente la gestione della memoria.

Una volta chiamato start(), l'assistente genera uno stream di eventi che trasmettono i vari stati in cui si trova attualmente, 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 non è disattivato l'audio:

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

  • Conversazione: una o più svolte che generano un risultato finale auspicato 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 OAuth2 di Google dell'utente.
  • device_model_id (str): l'ID device_model registrato per il tuo progetto con Google. Non deve essere una stringa vuota.
Aumenti:

ValueError: se device_model_id è stato lasciato come Nessuno o vuoto.

device_id

Restituisce l'ID dispositivo generato dall'assistente.

Questo valore identifica il tuo dispositivo sul server quando utilizzi servizi come Google Device Actions. Questa proprietà viene compilata solo DOPO la chiamata di start().

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

Invia |query| all'assistente come se fosse stata pronunciata dall'utente.

Il comportamento sarà lo stesso di un utente che pronuncia la hotword e fa una query OPPURE pronuncia la risposta a una query successiva.

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

Interrompe l'ascolto dell'hotword da parte dell'assistente.

Consente di disattivare l'ascolto dell'hotword da parte dell'assistente. Questa funzionalità è simile al pulsante della privacy sul retro di Google Home.

Questo metodo non esegue alcuna operazione se l'assistente non è ancora stato avviato.

Parametri:is_muted (bool): se il valore è True, l'assistente smette di ascoltare, mentre se è False consente di riavviarlo.
start()

Avvia l'assistente, inclusa l'attesa di un'hotword.

Una volta chiamato start(), l'assistente inizierà a elaborare i dati dall'origine audio ALSA "predefinita", ascoltando la 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 funzionare finché non viene chiamato __exit__.

Restituisce:Una coda di eventi che avvisa delle modifiche allo stato dell'assistente.
Tipo restituito:google.assistant.event.IterableEventQueue
start_conversation()

Avvia manualmente una nuova conversazione con l'assistente.

Avvia sia la registrazione del parlato dell'utente sia l'invio a Google, come accade quando l'assistente sente la hotword.

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

stop_conversation()

Interrompe qualsiasi conversazione attiva con l'assistente.

L'assistente potrebbe ascoltare la query dell'utente OPPURE rispondere. Se non c'è nessuna conversazione attiva, l'operazione non viene eseguita.

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

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

class 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'ora assoluta, ad esempio "Lunedì alle 3:00"

TIMER = 1

Un evento impostato per un momento relativo, ad esempio "Tra 30 secondi"

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

Estende Event per aggiungere la proprietà "actions".

actions

Un generatore di comandi da eseguire per il dispositivo corrente.

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

Un evento generato dall'assistente.

type

EventType: il tipo di evento generato.

args

dict: coppie chiave/valore dell'argomento associate a questo evento.

static New(event_type, args, **kwargs)

Se necessario, crea un nuovo evento utilizzando una classe Event 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 facoltative degli argomenti specifiche per una specializzazione della classe Event per un EventType.
class google.assistant.library.event.EventType

Tipi di eventi.

ON_ALERT_FINISHED = 11

Indica che l'avviso di alert_type è terminato.

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

Indica che è iniziato a suonare un avviso.

Questo avviso continuerà finché non verrà ricevuto un messaggio 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 attivato.
ON_ASSISTANT_ERROR = 12

Indica se la libreria dell'assistente ha riscontrato un errore.

Parametri:is_fatal (bool): se è True, l'assistente non potrà recuperare e dovrà essere riavviato.
ON_CONVERSATION_TURN_FINISHED = 9

L'assistente ha completato la svolta attuale.

Sono inclusi sia l'elaborazione della query di un utente sia la lettura della risposta completa, se presente.

Parametri:with_follow_on_turn (bool): se 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 successiva.
ON_CONVERSATION_TURN_STARTED = 1

Indica che è iniziato un nuovo tratto.

L'assistente è in ascolto, in attesa di una query dell'utente. Ciò potrebbe essere dovuto all'aver sentito l'hotword o al fatto che start_conversation() è stato chiamato sull'assistente.

ON_CONVERSATION_TURN_TIMEOUT = 2

L'assistente ha esaurito il tempo di attesa per una query distinguibile.

Ciò potrebbe essere causato da un attivazione errata della hotword o dall'impossibilità dell'assistente di comprendere ciò che ha detto l'utente.

ON_DEVICE_ACTION = 14

Indica che una richiesta di azione del dispositivo è stata inviata al dispositivo.

Viene inviato se viene attivata una grammatica del dispositivo per le caratteristiche supportate dal dispositivo. Questo tipo di evento ha una proprietà speciale "azioni" che restituisce un iteratore o comandi di azione del 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 interrotto l'ascolto di una query dell'utente.

L'assistente potrebbe non aver ancora capito cosa ha detto l'utente, ma ha smesso di ascoltare altri dati audio.

ON_MEDIA_STATE_ERROR = 20

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

Il media player integrato tenterà di passare al brano successivo o di tornare a ON_MEDIA_STATE_IDLE se non c'è più nulla da riprodurre.

ON_MEDIA_STATE_IDLE = 16

Indica che non è in riproduzione alcun contenuto e che non è presente alcuna coda.

Questo evento viene trasmesso dal media player integrato della libreria dell'Assistente Google per notizie/podcast all'avvio e ogni volta che il player è inattivo perché un utente ha fermato o messo in pausa i contenuti multimediali e lo stream è scaduto.

ON_MEDIA_TRACK_LOAD = 17

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

Questo può essere inviato più volte se i nuovi metadati vengono caricati in modo asincrono. In genere segue l'evento ON_MEDIA_TRACK_PLAY

Parametri:
  • metadata (dict):

    Metadati della traccia caricata. Non tutti i campi saranno compilati entro questa data. Se un campo è sconosciuto, non verrà incluso. I campi dei metadati includono:

    album(str): il nome dell'album a cui appartiene la traccia. album_art(str): un URL per la copertina dell'album. artist(str): l'artista che ha creato la traccia. duration_ms(double): la durata della 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 attualmente emettendo audio.

Questo verrà attivato solo durante la transizione da uno stato all'altro, ad esempio da ON_MEDIA_TRACK_LOAD o ON_MEDIA_TRACK_STOP

Parametri:
  • metadata (dict) –

    Metadati della traccia in riproduzione. Se un campo è sconosciuto, non verrà incluso. I campi dei metadati includono:

    album(str): il nome dell'album a cui appartiene la traccia. album_art(str): un URL per la copertina dell'album. artist(str): l'artista che ha creato la traccia. duration_ms(double): la durata della traccia in millisecondi. title(str): il titolo della traccia.
  • position_ms (double): la posizione corrente in un brano 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 riprodotta.
ON_MEDIA_TRACK_STOP = 19

Indica che una traccia riprodotta in precedenza è stata interrotta.

In genere, si tratta del risultato della messa in pausa da parte dell'utente. Il brano può tornare a ON_MEDIA_TRACK_PLAY se viene ripreso dall'utente.

Parametri:
  • metadata (dict) –

    Metadati della traccia interrotta. Se un campo è sconosciuto, non verrà incluso. I campi dei metadati includono:

    album(str): il nome dell'album a cui appartiene la traccia. album_art(str): un URL per la copertina dell'album. artist(str): l'artista che ha creato la traccia. duration_ms(double): la durata della traccia in millisecondi. title(str): il titolo della traccia.
  • position_ms (double): 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 se l'assistente è al momento in ascolto o meno.

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

Parametri:is_muted (bool): se True, l'assistente non è attualmente in ascolto per la hotword e non risponde alle query degli utenti.
ON_NO_RESPONSE = 8

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

ON_RECOGNIZING_SPEECH_FINISHED = 5

L'assistente ha determinato il testo finale riconosciuto.

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

Indica che l'assistente ha un'uscita di testo da visualizzare per una risposta.

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

L'assistente ha terminato di rispondere a voce.

ON_RESPONDING_STARTED = 6

L'assistente sta iniziando a rispondere a voce.

L'assistente risponderà finché non riceverà ON_RESPONDING_FINISHED.

Parametri:is_error_response (bool): true indica che viene riprodotta la sintesi vocale di un errore locale, altrimenti l'assistente risponde con una risposta del server.
ON_START_FINISHED = 0

L'avvio della raccolta dell'assistente è stato completato.

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

Estende queue.Queue per aggiungere un'interfaccia __iter__.

offer(event)

Offri un evento da mettere in coda.

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

Parametri:event (Evento): l'evento da provare ad aggiungere alla coda.
class google.assistant.library.event.MediaStateChangeEvent(event_type, args, **_)

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

class google.assistant.library.event.MediaTrackType

Tipi di canali per gli eventi ON_MEDIA_TRACK_X.

Utilizzato con ON_MEDIA_TRACK_LOAD, ON_MEDIA_TRACK_PLAY, & ON_MEDIA_TRACK_STOP

CONTENT = 2

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

TTS = 1

Una traccia di introduzione o di annunci intercalari con sintesi vocale correlata a un articolo.

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

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

class google.assistant.library.event.RenderResponseType

Tipi di contenuti da visualizzare.

Utilizzato con ON_RENDER_RESPONSE