Google Assistant Library

google.assistant.library.

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

Cliente para la biblioteca de Asistente de Google.

Proporciona funcionalidad de control básica y manejo del ciclo de vida para el Asistente de Google. Se recomienda usar el Asistente como ContextManager:

with Assistant(credentials, device_model_id) as assistant:

Esto permite que la implementación nativa subyacente controle correctamente la administración de la memoria.

Una vez que se llama a start(), el Asistente genera un flujo de eventos que retransmite los diversos estados en los que se encuentra el Asistente, por ejemplo:

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}

Consulta EventType para obtener más información. sobre todos los eventos y sus argumentos.

Glosario:

  • Palabra clave: Es la frase que el Asistente escucha cuando no está silenciado:

    "OK Google" OR "Hey Google"
    
  • Giro: Una solicitud de un solo usuario seguida de una respuesta del Asistente.

  • Conversación: Uno o más turnos que generan un resultado final deseado del Asistente:

    "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!"
    
Parámetros:
  • credentials (google.oauth2.credentials.Credentials): Son las credenciales de OAuth2 de Google del usuario.
  • device_model_id (str): Es el device_model_id que se registró para tu proyecto con Google. No debe ser una cadena vacía.
Se genera el error:

ValueError: si device_model_id se dejó como None o vacío.

device_id

Muestra el ID de dispositivo que genera el Asistente.

Este valor identifica tu dispositivo para el servidor cuando usas servicios como Acciones en dispositivos de Google. Esta propiedad solo se completa DESPUÉS de que se llame a start().

Se muestra lo siguiente:El ID del dispositivo una vez que se llamó a start(), una cadena vacía de lo contrario
Tipo de datos que se muestra:str
send_text_query(consulta)

Envía |query| al Asistente como si el usuario lo hubiera dicho.

Esto se comportará de la misma manera que un usuario que dice la palabra clave y hace una consulta O decir la respuesta a una consulta de seguimiento.

Parámetros:query (str): La consulta de texto que se enviará al Asistente.
set_mic_mute(is_muted)

Evita que Asistente escuche la palabra clave.

Permite inhabilitar el Asistente y que no escuche la palabra clave. Proporciona una funcionalidad similar al botón de privacidad en la parte posterior. de Google Home.

Este método no realiza ninguna acción si el Asistente aún no se inició.

Parámetros:is_muted (bool): El valor verdadero deja de escuchar al Asistente y el valor falso le permite empezar de nuevo.
start()

Inicia el Asistente, lo que incluye escuchar una palabra clave.

Cuando start() se llamado, el Asistente comenzará a procesar datos de la Fuente de audio ALSA “predeterminada” que escucha la palabra clave. Esto también iniciará otros servicios que proporciona el Asistente, como temporizadores o alarmas. Solo se puede llamar a este método una vez. Una vez que se llame a la función, el Asistente seguirá ejecutándose hasta que se llame a __exit__.

Se muestra lo siguiente:Es una fila de eventos que notifican los cambios en el estado del Asistente.
Tipo de datos que se muestra:google.assistant.event.IterableEventQueue
start_conversation()

Inicia manualmente una nueva conversación con el Asistente.

Comienza a grabar la voz del usuario y a enviarla a Google, similar a lo que sucede cuando el Asistente escucha la palabra clave.

Este método no realiza ninguna acción si el Asistente no se inició o se silencia.

stop_conversation()

Detiene cualquier conversación activa con Asistente.

Asistente podría estar escuchando la consulta del usuario O respondiendo. Si no hay una conversación activa, no se realizará ninguna acción.

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

Extiende el evento para agregar un análisis de "alert_type".

class google.assistant.library.event.AlertType

Tipos de alertas

Se usa con ON_ALERT_STARTED y ON_ALERT_FINISHED eventos.

ALARM = 0

Un evento establecido para una hora absoluta, como "3 a.m. del lunes"

TIMER = 1

Un evento establecido para un tiempo relativo, como "30 segundos a partir de ahora"

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

Extiende el evento para agregar la propiedad "actions".

actions

Es un generador de comandos que se ejecutarán para el dispositivo actual.

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

Un evento generado por Asistente

type

EventType: El tipo de evento que se generó.

args

dict: Son los pares clave-valor de argumentos asociados con este evento.

estática New(event_type, args, **kwargs)

Crea un evento nuevo con una clase de evento especializada cuando sea necesario.

Parámetros:
  • event_type (int): Es un ID numérico que corresponde a un evento en google.assistant.event.EventType.
  • args (dict): Pares clave-valor de argumentos asociados con este evento.
  • kwargs (dict): Pares clave-valor de argumentos opcionales específicos de un especialización de la clase Event para un EventType.
clase google.assistant.library.event.EventType

Tipos de eventos.

ON_ALERT_FINISHED = 11

Indica que finalizó la alarma de alert_type.

Parámetros:alert_type (AlertType): Es el ID de la enumeración que representa el tipo de alerta que acaba de finalizar.
ON_ALERT_STARTED = 10

Indica que comenzó a sonar una alerta.

Esta alerta continuará hasta el ON_ALERT_FINISHED con el mismo alert_type. Solo debe haber una alerta activa en un momento determinado.

Parámetros:alert_type (AlertType): el ID de la enumeración que representa el valor actual de alerta.
ON_ASSISTANT_ERROR = 12

Indica si la biblioteca de Asistente encontró un error.

Parámetros:is_fatal (bool): Si se establece como "true", Asistente no podrá recuperarse y debe reiniciarse.
ON_CONVERSATION_TURN_FINISHED = 9

El Asistente terminó el turno actual.

Esto incluye procesar la consulta de un usuario y decir respuesta completa, si la hubiera.

Parámetros:with_follow_on_turn (bool): Si la respuesta es "True", significa que Asistente espera una la interacción de seguimiento del usuario. El micrófono se se volvió a abrir para permitir que el usuario responda una pregunta de seguimiento.
ON_CONVERSATION_TURN_STARTED = 1

Indica que comenzó un nuevo giro.

El Asistente está escuchando, esperando a un usuario para cada búsqueda. Esto puede deberse a que se escuchó la palabra clave o se llamó a start_conversation() en el Asistente.

ON_CONVERSATION_TURN_TIMEOUT = 2

Se agotó el tiempo de espera de Asistente mientras esperaba una consulta comprensible.

Esto puede deberse a que se activó incorrectamente la palabra activa o a que el Asistente no pudo comprender lo que dijo el usuario.

ON_DEVICE_ACTION = 14

Indica que se envió una solicitud de acción del dispositivo al dispositivo.

Esto se envía si se activa una gramática de dispositivo para el rasgos compatibles con el dispositivo. Este tipo de evento tiene "acciones" especiales que devolverá un iterador o comandos de Acción del dispositivo y los parámetros asociados (si corresponde).

Parámetros:dict: Es la carga útil de JSON decodificada de una solicitud de Acción del dispositivo.
ON_END_OF_UTTERANCE = 3

El Asistente dejó de escuchar una consulta del usuario.

Es posible que el Asistente no haya terminado de entender lo que dijo el usuario, pero dejó de escuchar más datos de audio.

ON_MEDIA_STATE_ERROR = 20

Indica que se produjo un error al reproducir una pista.

El reproductor multimedia integrado intentará saltar a la siguiente pista o volver a ON_MEDIA_STATE_IDLE si no queda nada para reproducir.

ON_MEDIA_STATE_IDLE = 16

Indica que no se está reproduciendo nada ni hay contenido en cola para reproducir.

Este evento se transmite desde el reproductor multimedia integrado de la biblioteca de Google Assistant para noticias o podcasts durante el inicio y cada vez que el reproductor se inhabilita porque un usuario detuvo el contenido multimedia o lo puso en pausa, y se agotó el tiempo de espera de la transmisión.

ON_MEDIA_TRACK_LOAD = 17

Indica que se está cargando una pista, pero aún no comenzó a reproducirse.

Es posible que se envíe varias veces si se cargan metadatos nuevos de forma asíncrona. Por lo general, va seguido del evento ON_MEDIA_TRACK_PLAY

Parámetros:
  • metadata (dict):

    Metadatos de la pista cargada. No todos los campos completar en este momento; si un campo es desconocido, no se completará que debe incluirse. Entre los campos de metadatos, se incluyen los siguientes:

    álbum(str): Es el nombre del álbum al que pertenece la pista. album_art(str): Es una URL para la imagen del álbum. artist(str): El artista que creó esta pista. duración_ms(doble): La longitud de esta pista en milisegundos. title(str): El título de la pista.
  • track_type (MediaTrackType): Es el tipo de segmento cargado.
ON_MEDIA_TRACK_PLAY = 18

Indica que una pista está emitiendo audio en este momento.

Esto solo se activará cuando pasamos de un estado a otro, como a partir de ON_MEDIA_TRACK_LOAD o ON_MEDIA_TRACK_STOP

Parámetros:
  • metadata (dict):

    Metadatos de la pista en reproducción. Si un campo es desconocido, no se incluirá. Entre los campos de metadatos, se incluyen los siguientes:

    album(str): Es el nombre del álbum al que pertenece la pista. album_art(str): Es una URL para la imagen del álbum. artist(str): El artista que creó esta pista. duración_ms(doble): La longitud de esta pista en milisegundos. title(str): El título de la pista.
  • position_ms (double): Es la posición actual en una pista de reproducción en milisegundos desde el principio. Si “metadata.duration_ms” es desconocido (se establece en 0); este campo no se establecerá.
  • track_type (MediaTrackType): el tipo de pista que se está reproduciendo.
ON_MEDIA_TRACK_STOP = 19

Indica que se detuvo una pista que se estaba reproduciendo anteriormente.

Por lo general, esto se debe a que el usuario hace una pausa. la pista puede volver a ON_MEDIA_TRACK_PLAY si es reanudado por el usuario.

Parámetros:
  • metadata (dict):

    Metadatos de la pista detenida Si un campo es desconocido, no se incluirá. Los campos de metadatos incluyen lo siguiente:

    album(str): Es el nombre del álbum al que pertenece la pista. album_art(str): Es una URL para la imagen del álbum. artist(str): El artista que creó esta pista. duración_ms(doble): La longitud de esta pista en milisegundos. title(str): El título de la pista.
  • position_ms (double): Es la posición actual en una pista detenida en milisegundos desde el principio. Si "metadata.duration_ms" es desconocido (se establece en 0), no se establecerá este campo.
  • track_type (MediaTrackType): Es el tipo de pista detenida.
ON_MUTED_CHANGED = 13

Indica que el Asistente está escuchando o no.

start() siempre generar un ON_MUTED_CHANGED para informar el valor inicial.

Parámetros:is_muted (bool): Si esta opción se establece en "True", el Asistente no está escuchando en ese momento. para su palabra clave y no responderá a las consultas de los usuarios.
ON_NO_RESPONSE = 8

El Asistente completó correctamente su turno, pero no tiene nada que decir.

ON_RECOGNIZING_SPEECH_FINISHED = 5

Asistente determinó la última voz reconocida.

Parámetros:text (str): Es la interpretación de texto final de la consulta de un usuario.
ON_RENDER_RESPONSE = 15

Indica que el Asistente tiene un resultado de texto para renderizar una respuesta.

Parámetros:
  • type (RenderResponseType): Es el tipo de respuesta que se renderizará.
  • text (str): Es la cadena que se renderizará para RenderResponseType.TEXT.
ON_RESPONDING_FINISHED = 7

Asistente terminó de responder por voz.

ON_RESPONDING_STARTED = 6

Asistente comienza a responder con voz.

Asistente responderá hasta ON_RESPONDING_FINISHED de configuración.

Parámetros:is_error_response (bool): Verdadero significa que se está reproduciendo un TTS de error local. De lo contrario, Asistente responderá con una respuesta del servidor.
ON_START_FINISHED = 0

La biblioteca de Asistente terminó de iniciarse.

clase google.assistant.library.event.IterableEventQueue(tiempo de espera=3600)

Extiende queue.Queue para agregar una interfaz __iter__.

offer(evento)

Ofrece un evento para poner en la fila.

Si la cola está llena, el evento se registrará, pero no se agregará.

Parámetros:event (Evento): Es el evento que se intentará agregar a la fila.
class google.assistant.library.event.MediaStateChangeEvent(event_type, args, **_)

Extiende Event para agregar un análisis del “estado”.

clase google.assistant.library.event.MediaTrackType

Tipos de pistas para un evento ON_MEDIA_TRACK_X.

Se usa con ON_MEDIA_TRACK_LOAD, ON_MEDIA_TRACK_PLAY y ON_MEDIA_TRACK_STOP.

CONTENT = 2

Es el contenido real de un elemento (noticias o podcasts).

TTS = 1

Una introducción de TTS o una pista intersticial relacionada con un elemento

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

Se extiende el evento para agregar el análisis de "response_type".

clase google.assistant.library.event.RenderResponseType

Tipos de contenido para renderizar.

Se usa con ON_RENDER_RESPONSE