Google Assistant Library

google.assistant.library.

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

Cliente de la biblioteca de Asistente de Google.

Proporciona funciones básicas de control y control del ciclo de vida del Asistente de Google. Se recomienda usar Asistente como ContextManager:

with Assistant(credentials, device_model_id) as assistant:

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

Una vez que se llama a start(), Asistente genera una transmisión de eventos que retransmite los diversos estados en los que se encuentra, 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 detalles sobre todos los eventos y sus argumentos.

Glosario:

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

    "OK Google" OR "Hey Google"
    
  • Turn: Una solicitud de usuario individual seguida de una respuesta de Asistente

  • Conversación: Una o más vueltas que dan como resultado el 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): las credenciales de Google OAuth2 del usuario.
  • device_model_id (str): el device_model_id que se registró en tu proyecto con Google. No debe ser una string 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 generó Asistente.

Este valor identifica tu dispositivo en el servidor cuando se usan servicios como Google Device Actions. Esta propiedad solo se llena después de llamar a start().

Se muestra lo siguiente:Se llamó al ID de dispositivo una vez que se llamó a start(). De lo contrario, se usará una string vacía.
Tipo de datos que se muestra:str
send_text_query(consulta)

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

Esto se comportará de la misma manera que un usuario que dice la palabra clave y realiza una consulta O que responde la consulta de seguimiento.

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

Evita que Asistente escuche la palabra clave.

Permite que Asistente no escuche la palabra clave. Esto proporciona una funcionalidad similar al botón de privacidad en la parte posterior del dispositivo Google Home.

Este método no funciona si el Asistente aún no se inició.

Parámetros:is_muted (bool): Verdadero impide que Asistente escuche y False permite que se vuelva a iniciar.
start()

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

Una vez que se llame a start(), Asistente comenzará a procesar datos de la fuente de audio ALSA "predeterminada" y escuchará la palabra clave. Esta acción también iniciará otros servicios que proporciona Asistente, como temporizadores y alarmas. Solo se puede llamar a este método una vez. Una vez que se llame a Asistente, se seguirá ejecutando hasta que se llame a __exit__.

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

Inicia una nueva conversación con Asistente de forma manual.

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

Este método no es operativo si el Asistente no se inició o se silenció.

stop_conversation()

Detiene todas las conversaciones activas con el Asistente.

Es posible que Asistente esté escuchando la consulta del usuario O que responda. Si no hay una conversación activa, esta es una no-op.

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

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

clase google.assistant.library.event.AlertType

Tipos de alertas

Se usa con eventos ON_ALERT_STARTED y ON_ALERT_FINISHED.

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 para ejecutar en 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: 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): un ID numérico que corresponde a un evento en google.assistant.event.EventType.
  • args (dict): pares de clave-valor de argumentos asociados con este evento.
  • kwargs (dict): pares de clave-valor de argumentos opcionales específicos para una especialización de la clase Event para un EventType.
clase google.assistant.library.event.EventType

Tipos de eventos.

ON_ALERT_FINISHED = 11

Indica que la alerta de alert_type terminó de sonar.

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

Indica que una alerta comenzó a sonar.

Esta alerta continuará hasta que se reciba ON_ALERT_FINISHED con el mismo alert_type. Solo una alerta debe estar activa a la vez.

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

Indica si se produjo un error en la biblioteca de Asistente.

Parámetros:is_fatal (bool): Si es verdadero, el Asistente no podrá recuperarse y deberá reiniciarse.
ON_CONVERSATION_TURN_FINISHED = 9

Asistente terminó el giro actual.

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

Parámetros:with_follow_on_turn (bool): Si es verdadero, Asistente espera una interacción de seguimiento del usuario. Se volverá a activar el micrófono para que el usuario pueda responder una pregunta de seguimiento.
ON_CONVERSATION_TURN_STARTED = 1

Indica que comenzó un nuevo giro.

El Asistente está escuchando, esperando una consulta del usuario. Puede ser el resultado de escuchar la palabra clave o de llamar al start_conversation() en Asistente.

ON_CONVERSATION_TURN_TIMEOUT = 2

Se agotó el tiempo de espera del Asistente para que se pudiera ver una consulta.

Esto podría deberse a un activador incorrecto de la palabra clave, o bien 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 despacha si se activa cualquier gramática del dispositivo para los atributos que admite el dispositivo. Este tipo de evento tiene una propiedad especial de "acciones" que mostrará un iterador o comandos de Acción en el dispositivo y los parámetros asociados a ellos (si corresponde).

Parámetros:dict: La carga útil decodificado de JSON de una solicitud de acción del dispositivo.
ON_END_OF_UTTERANCE = 3

El Asistente dejó de escuchar la búsqueda de un usuario.

Es posible que Asistente no haya terminado de entender lo que dice 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á omitir la pista siguiente o regresar a ON_MEDIA_STATE_IDLE si no queda nada para reproducir.

ON_MEDIA_STATE_IDLE = 16

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

Este evento se transmite del reproductor multimedia integrado de la Biblioteca de Asistente de Google para noticias o podcasts durante el inicio y cuando el reproductor queda inactivo porque un usuario detuvo el contenido o lo pausó, y se agotó el tiempo de espera de la transmisión.

ON_MEDIA_TRACK_LOAD = 17

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

Esto se puede enviar varias veces si los metadatos nuevos se cargan de forma asíncrona. Por lo general, sigue el evento ON_MEDIA_TRACK_PLAY.

Parámetros:
  • metadata (dict):

    Metadatos de la pista cargada. No se completarán todos los campos antes de esa fecha. Si se desconoce un campo, no se incluirá. Los campos de metadatos incluyen los siguientes:

    álbum(str): El nombre del álbum al que pertenece la pista. álbum_art(str): Una URL para la carátula del álbum.artist(str): El artista que creó esta pista.duration_ms(doble): La duración en milésimas de segundo.Título(str): El título de la pista.
  • track_type (MediaTrackType): el tipo de pista cargada.
ON_MEDIA_TRACK_PLAY = 18

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

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

Parámetros:
  • metadata (dict):

    Metadatos de la pista de reproducción. Si se desconoce un campo, no se incluirá. Los campos de metadatos incluyen los siguientes:

    álbum(str): El nombre del álbum al que pertenece la pista. álbum_art(str): Una URL para la carátula del álbum.artist(str): El artista que creó esta pista.duration_ms(doble): La duración en milésimas de segundo.Título(str): El título de la pista.
  • position_ms (doble): Es la posición actual en milésimas de segundo desde la primera reproducción. Si el valor "metadata.duration_ms" es desconocido (se establece en 0), este campo no se configurará.
  • track_type (MediaTrackType): el tipo de pista que se reproduce.
ON_MEDIA_TRACK_STOP = 19

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

Por lo general, es el resultado de la detención del usuario. El recorrido puede volver a ON_MEDIA_TRACK_PLAY si el usuario lo reanuda.

Parámetros:
  • metadata (dict):

    Metadatos de la pista detenida. Si se desconoce un campo, no se incluirá. Los campos de metadatos incluyen los siguientes:

    álbum(str): El nombre del álbum al que pertenece la pista. álbum_art(str): Una URL para la carátula del álbum.artist(str): El artista que creó esta pista.duration_ms(doble): La duración en milésimas de segundo.Título(str): El título de la pista.
  • position_ms (Double): la posición actual en una pista detenida en milisegundos desde el principio. Si el valor "metadata.duration_ms" es desconocido (se establece en 0), este campo no se configurará.
  • track_type (MediaTrackType): el tipo de segmento detenido.
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 es verdadero, Asistente no está escuchando su palabra clave y no responderá a las consultas de los usuarios.
ON_NO_RESPONSE = 8

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

ON_RECOGNIZING_SPEECH_FINISHED = 5

El Asistente determinó el discurso final reconocido.

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

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

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

El Asistente terminó de responder con la voz.

ON_RESPONDING_STARTED = 6

Asistente comenzará a responder con la voz.

Asistente responderá hasta que se reciba ON_RESPONDING_FINISHED.

Parámetros:is_error_response (bool): verdadero como un error local de TTS; de lo contrario, Asistente responde con una respuesta del servidor.
ON_START_FINISHED = 0

Se terminó de iniciar la biblioteca de Asistente.

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

Extiende cola.Queue para agregar una interfaz __iter__.

offer(evento)

Ofrecer un evento para que lo ponga en la cola

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

Parámetros:event (Event): el evento que se intentará agregar a la cola.
clase google.assistant.library.event.MediaStateChangeEvent(event_type, args, **_)

Extiende el evento para agregar el análisis del "estado".

clase google.assistant.library.event.MediaTrackType

Tipos de seguimiento para eventos ON_MEDIA_TRACK_X.

Se usa con ON_MEDIA_TRACK_LOAD, ON_MEDIA_TRACK_PLAY y ON_MEDIA_TRACK_STOP

CONTENT = 2

El contenido real de un elemento (noticias/podcast).

TTS = 1

Es una introducción a TTS o una pista intersticial relacionada con un elemento.

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

Extiende el evento para agregar el análisis de "response_type".

clase google.assistant.library.event.RenderResponseType

Tipos de contenido que se renderizarán.

Se usa con ON_RENDER_RESPONSE