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. Recomendamos usar o Google Assistente como um ContextManager:

with Assistant(credentials, device_model_id) as assistant:

Isso permite que a implementação nativa subjacente lidam com o gerenciamento de memória.

Depois que start() for chamado, o Assistente gera um fluxo de eventos que transmite os vários indica em que o Google Assistente está no momento, 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 mais detalhes em todos os eventos e seus argumentos.

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 Assistente.

  • Conversa: uma ou mais etapas 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 para o qual foi registrado seu projeto com o Google. 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 Assistente.

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

Retorna:O ID do dispositivo uma vez start() tem foi chamado. Caso contrário, uma string vazia.
Tipo de retorno:str
send_text_query(query)

Envia |query| para o Assistente como se ela tivesse sido falada pelo usuário.

Isso vai se comportar da mesma forma que um usuário falando a hotword e fazendo uma consulta OU falando a resposta de uma consulta subsequente.

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

Impede o Google Assistente 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 será um ambiente autônomo se o Assistente ainda não tiver sido iniciado.

Parâmetros:is_muted (bool): "True" impede que o Google Assistente ouça e "False" permite que ela comece novamente.
start()

Inicia o Assistente, o que inclui ouvir uma hotword.

Depois que start() for chamado, o Assistente começará a processar os dados do fonte de áudio ALSA "padrão", detectando a hotword. Isso também vai iniciar outros serviços fornecidos pelo Google Assistente, como timers/alarmes. Esse método só pode ser chamado uma vez. Uma vez chamado, o Assistente vai continuar em execução até __exit__ for 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 ao Google é parecido com o que acontece quando o Google Assistente ouve a hotword.

Esse método não é executado se o Google Assistente não for 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 há conversa ativa, este é um ambiente autônomo.

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 ON_ALERT_STARTED e ON_ALERT_FINISHED eventos.

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 "Daqui a 30 segundos"

classe 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.

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

Um evento gerado pelo Google Assistente.

type

EventType: O tipo de evento que foi 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 do argumento associados ao evento.
  • kwargs (dicionário): pares de chave-valor de argumento opcionais específicos para uma especialização da classe Event para um EventType.
classe 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 ser emitido.

Este alerta continuará até ON_ALERT_FINISHED com o mesmo alert_type é 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 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 processar a consulta do usuário e falar o 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 conversão começou.

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

ON_CONVERSATION_TURN_TIMEOUT = 2

O Assistente expirou ao aguardar uma consulta perceptí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.

Ele é enviado se qualquer gramática do dispositivo for acionada para o características suportado pelo 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 do dispositivo.
ON_END_OF_UTTERANCE = 3

O Google Assistente parou de detectar a consulta de um 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 faixa.

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 em reprodução e nada na fila.

Este evento é transmitido da biblioteca do Google Assistente integrada player de mídia para notícias/podcasts na inicialização e sempre que o player ficou inativo porque um usuário interrompeu a mídia ou a pausou e a transmissão expirar.

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 vão ser preenchido até o momento. Se um campo for desconhecido, ele não será 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 em 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á tocando.
ON_MEDIA_TRACK_STOP = 19

Indica que uma faixa que estava sendo reproduzida foi interrompida.

Isso geralmente acontece quando o usuário pausa. a faixa pode retornar 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 interrompida 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 no momento.

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

Parâmetros:is_muted (bool): se for verdadeiro, o Google Assistente não está ouvindo no momento. para sua hotword e não 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 de texto final da consulta de um usuário.
ON_RENDER_RESPONSE = 15

Indica que o Google Assistente tem uma saída de texto a ser renderizada para 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é ON_RESPONDING_FINISHED sejam recebidos.

Parâmetros:is_error_response (bool): verdadeiro significa que uma TTS de erro local está sendo reproduzida. 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(evento)

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, **_)

Estende o evento para adicionar a análise de "state".

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, e ON_MEDIA_TRACK_STOP

CONTENT = 2

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

TTS = 1

Uma introdução de TTS ou faixa intersticial relacionada a um item.

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

Estende o evento para adicionar a análise de "response_type".

classe google.assistant.library.event.RenderResponseType

Tipos de conteúdo a serem renderizados.

Usado com ON_RENDER_RESPONSE