Google Assistant Library

Pacote google.assistant.library.

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

Cliente para a biblioteca do Google Assistente.

Fornece funcionalidade de controle básica e gerenciamento de ciclo de vida para o Google Assistente. É recomendável usar o Assistente como um ContextManager:

with Assistant(credentials, device_model_id) as assistant:

Isso permite que a implementação nativa processe corretamente o gerenciamento de memória.

Quando start() é chamado, o Google Assistente gera um stream de eventos que transmitem os vários estados em que ele está, por exemplo:

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}

Consulte EventType para saber mais sobre todos os eventos e os argumentos deles.

Glossário:

  • Hotword: a frase que o Google Assistente ouve quando não está desativado:

    "OK Google" OR "Hey Google"
    
  • Turn: uma única solicitação do usuário seguida por uma resposta do Google Assistente.

  • Conversa: uma ou mais voltas que resultam em um resultado final desejado do Google 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!"
    
Parâmetros:
  • credenciais (google.oauth2.credentials.Credentials): as credenciais do Google OAuth2 do usuário.
  • device_model_id (str): o device_model_id registrado para seu projeto com o Google. Ela não pode ser uma string vazia.
Gera:

ValueError: se device_model_id foi deixado como Nenhum ou vazio.

device_id

Retorna o ID do dispositivo gerado pelo Google Assistente.

Esse valor identifica seu dispositivo para o servidor ao usar serviços como as Ações do dispositivo do Google. Essa propriedade só é preenchida DEPOIS de start() ser chamado.

Retorna:O ID do dispositivo depois que start() for chamado, ou uma string vazia.
Tipo de retorno:str
send_text_query(query)

Envia |query| ao Google Assistente como se tivesse sido falado pelo usuário.

Isso vai funcionar da mesma forma que um usuário que fala o comando de ativação e faz uma consulta OU fala a resposta para uma consulta de acompanhamento.

Parâmetros:query (str): a consulta de texto a ser enviada ao Google Assistente.
set_mic_mute(is_muted)

Faz com que o Google Assistente pare de ouvir a hotword.

Permite desativar a detecção da hotword pelo Google Assistente. Isso oferece uma funcionalidade semelhante ao botão de privacidade na parte de trás do Google Home.

Esse método não faz nada se o Google Assistente ainda não tiver sido iniciado.

Parâmetros:is_muted (bool): "true" impede que o Google Assistente ouça, e "false" permite que ele comece de novo.
start()

Inicia o Google Assistente, que inclui a detecção de uma hotword.

Quando start() é chamado, o Google Assistente começa a processar dados da fonte de áudio ALSA "padrão", detectando a palavra de ativação. Isso também vai iniciar outros serviços fornecidos pelo Google Assistente, como timers/alarmes. Esse método só pode ser chamado uma vez. Depois de ser chamado, o Google Assistente vai continuar em execução até que __exit__ seja chamado.

Retorna:Uma fila de eventos que notificam mudanças no estado do Google Assistente.
Tipo de retorno:google.assistant.event.IterableEventQueue
start_conversation()

Inicia manualmente uma nova conversa com o Google Assistente.

Começa a gravar a fala do usuário e a enviar para o Google, semelhante ao que acontece quando o Assistente ouve a palavra de ativação.

Esse método não é executado se o Google Assistente não estiver iniciado ou tiver sido desativado.

stop_conversation()

Interrompe qualquer conversa ativa com o Google Assistente.

O Google Assistente pode estar ouvindo a consulta do usuário OU respondendo. Se não houver uma conversa ativa, isso não vai acontecer.

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

Este evento é estendido para adicionar a análise de "alert_type".

class google.assistant.library.event.AlertType

Tipos de alerta.

Usado com os eventos ON_ALERT_STARTED e ON_ALERT_FINISHED.

ALARM = 0

Um evento definido para um horário absoluto, como "3h de segunda-feira"

TIMER = 1

Um evento definido para um tempo relativo, como "dentro de 30 segundos"

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

Estenda o evento para adicionar a propriedade "ações".

actions

Um gerador de comandos a serem executados no dispositivo atual.

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

Um evento gerado pelo Google Assistente.

type

EventType: o tipo de evento gerado.

args

dict: pares de chave-valor de argumento associados a esse evento.

static New(event_type, args, **kwargs)

Crie um novo evento usando uma classe de evento especializada quando necessário.

Parâmetros:
  • event_type (int): um ID numérico correspondente a um evento em google.assistant.event.EventType.
  • args (dict): pares de chave-valor de argumento associados a este evento.
  • kwargs (dicionário): pares de chave-valor de argumento opcionais específicos para uma especialização da classe Event para um EventType.
class google.assistant.library.event.EventType

Tipos de evento.

ON_ALERT_FINISHED = 11

Indica que o alerta de alert_type foi concluído.

Parâmetros:alert_type (AlertType): o ID do tipo de enumeração que representa o tipo de alerta que acabou de terminar.
ON_ALERT_STARTED = 10

Indica que um alerta começou a tocar.

Esse alerta vai continuar até que ON_ALERT_FINISHED com o mesmo alert_type seja recebido. Apenas um alerta pode estar ativo por vez.

Parâmetros:alert_type (AlertType): o ID do tipo de alerta que está sendo usado.
ON_ASSISTANT_ERROR = 12

Indica se a biblioteca do Google Assistente encontrou um erro.

Parâmetros:is_fatal (bool): se verdadeiro, o Google Assistente não poderá ser recuperado e precisará ser reiniciado.
ON_CONVERSATION_TURN_FINISHED = 9

O Google Assistente terminou a próxima etapa.

Isso inclui o processamento da consulta de um usuário e a resposta completa, se houver.

Parâmetros:with_follow_on_turn (bool): se verdadeiro, o Google Assistente espera uma interação de acompanhamento do usuário. O microfone será reaberto para permitir que o usuário responda a uma pergunta complementar.
ON_CONVERSATION_TURN_STARTED = 1

Indica que uma nova jogada começou.

O Google Assistente está ouvindo, aguardando uma consulta do usuário. Isso pode ser o resultado de ouvir a hotword ou start_conversation() sendo chamada no Google Assistente.

ON_CONVERSATION_TURN_TIMEOUT = 2

O tempo limite do Google Assistente foi atingido enquanto aguardava uma consulta discernível.

Isso pode ser causado por um acionamento incorreto da palavra de ativação ou o Google Assistente não entendeu o que o usuário disse.

ON_DEVICE_ACTION = 14

Indica que uma solicitação de ação no dispositivo foi enviada ao dispositivo.

Isso é enviado se qualquer gramática do dispositivo for acionada para os atributos com suporte do dispositivo. Esse tipo de evento tem uma propriedade "actions" especial, que retorna um iterador ou comandos de ação do dispositivo e os parâmetros associados a eles (se aplicável).

Parâmetros:dict: o payload JSON decodificado de uma solicitação de ação no dispositivo.
ON_END_OF_UTTERANCE = 3

O Google Assistente parou de ouvir uma consulta do usuário.

O Google Assistente pode não ter terminado de descobrir o que o usuário disse, mas ele parou de ouvir mais dados de áudio.

ON_MEDIA_STATE_ERROR = 20

Indica que ocorreu um erro ao reproduzir uma música.

O player de mídia integrado vai tentar pular para a próxima faixa ou voltar para ON_MEDIA_STATE_IDLE se não houver mais nada para tocar.

ON_MEDIA_STATE_IDLE = 16

Indica que não há nada tocando e nada na fila para tocar.

Esse evento é transmitido pelo player de mídia integrado da biblioteca do Google Assistente para notícias/podcasts na inicialização e sempre que o player fica inativo porque um usuário parou a mídia ou a pausou e o stream expirou.

ON_MEDIA_TRACK_LOAD = 17

Indica que uma faixa está sendo carregada, mas não começou a ser reproduzida.

Isso pode ser enviado várias vezes se novos metadados forem carregados de forma assíncrona. Isso geralmente é seguido pelo evento ON_MEDIA_TRACK_PLAY.

Parâmetros:
  • metadata (dict) –

    Metadados da faixa carregada. Nem todos os campos serão preenchidos até esse momento. Se um campo for desconhecido, ele não será incluído. Os campos de metadados incluem:

    album(str): o nome do álbum ao qual a faixa pertence. album_art(str): um URL para a capa do álbum. artist(str): o artista que criou a faixa. duration_ms(double): a duração da faixa em milissegundos. title(str): o título da faixa.
  • track_type (MediaTrackType): o tipo de faixa carregada.
ON_MEDIA_TRACK_PLAY = 18

Indica que uma faixa está enviando áudio.

Isso só será acionado quando fizermos a transição de um estado para outro, como de ON_MEDIA_TRACK_LOAD ou ON_MEDIA_TRACK_STOP.

Parâmetros:
  • metadata (dict):

    Metadados da faixa em reprodução. Se um campo for desconhecido, ele não será incluído. Os campos de metadados incluem:

    album(str): o nome do álbum ao qual a faixa pertence. album_art(str): um URL para a capa do álbum. artist(str): o artista que criou a faixa. duration_ms(double): a duração da faixa em milissegundos. title(str): o título da faixa.
  • position_ms (double): a posição atual em uma faixa de reprodução em milissegundos desde o início. Se "metadata.duration_ms" for desconhecido (definido como 0), esse campo não será definido.
  • track_type (MediaTrackType): o tipo de faixa que está sendo reproduzida.
ON_MEDIA_TRACK_STOP = 19

Indica que uma faixa que estava sendo reproduzida foi interrompida.

Isso geralmente é resultado da pausa do usuário. A faixa pode retornar a ON_MEDIA_TRACK_PLAY se for retomada pelo usuário.

Parâmetros:
  • metadata (dict):

    Metadados da faixa interrompida. Se um campo for desconhecido, ele não será incluído. Os campos de metadados incluem:

    album(str): o nome do álbum ao qual a faixa pertence. album_art(str): um URL para a capa do álbum. artist(str): o artista que criou a faixa. duration_ms(double): a duração da faixa em milissegundos. title(str): o título da faixa.
  • position_ms (double): a posição atual em uma faixa pausada em milissegundos desde o início. Se "metadata.duration_ms" for desconhecido (definido como 0), esse campo não será definido.
  • track_type (MediaTrackType): o tipo de faixa interrompida.
ON_MUTED_CHANGED = 13

Indica se o Google Assistente está ouvindo ou não.

start() sempre vai gerar um ON_MUTED_CHANGED para informar o valor inicial.

Parâmetros:is_muted (bool): se for "True", o Google Assistente não estará detectando a hotword e não vai responder às consultas do usuário.
ON_NO_RESPONSE = 8

O Google Assistente concluiu a vez, mas não tem nada a dizer.

ON_RECOGNIZING_SPEECH_FINISHED = 5

O Google Assistente determinou a fala reconhecida.

Parâmetros:text (str): é a interpretação final do texto da consulta de um usuário.
ON_RENDER_RESPONSE = 15

Indica que o Google Assistente tem uma saída de texto para renderizar uma resposta.

Parâmetros:
  • type (RenderResponseType): o tipo de resposta a ser renderizado.
  • text (str): a string a ser renderizada para RenderResponseType.TEXT.
ON_RESPONDING_FINISHED = 7

O Google Assistente terminou de responder por voz.

ON_RESPONDING_STARTED = 6

O Google Assistente está começando a responder por voz.

O Google Assistente vai responder até que ON_RESPONDING_FINISHED seja recebido.

Parâmetros:is_error_response (bool): "true" significa que um erro local de TTS está sendo reproduzido. Caso contrário, o Google Assistente responde com uma resposta do servidor.
ON_START_FINISHED = 0

A biblioteca do Google Assistente terminou de ser iniciada.

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

Estende queue.Queue para adicionar uma interface __iter__.

offer(event)

Ofereça um evento para colocar na fila.

Se a fila estiver cheia, o evento será registrado, mas não adicionado.

Parâmetros:event (Event): o evento a ser adicionado à fila.
class google.assistant.library.event.MediaStateChangeEvent(event_type, args, **_)

Estenda o evento para adicionar a análise de "estado".

class google.assistant.library.event.MediaTrackType

Tipos de faixa para eventos ON_MEDIA_TRACK_X.

Usado com ON_MEDIA_TRACK_LOAD, ON_MEDIA_TRACK_PLAY & ON_MEDIA_TRACK_STOP

CONTENT = 2

O conteúdo real de um item (notícias/podcast).

TTS = 1

Uma faixa de introdução ou intermediária de TTS relacionada a um item.

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

Este evento é estendido para adicionar a análise de "response_type".

class google.assistant.library.event.RenderResponseType

Tipos de conteúdo a serem renderizados.

Usado com ON_RENDER_RESPONSE