Google Assistant Library

pacote google.assistant.library.

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

Cliente da biblioteca do Google Assistente.

Fornece funcionalidades básicas de controle e processamento do ciclo de vida do Google Assistente. É uma prática recomendada usar o Assistente como um ContextManager:

with Assistant(credentials, device_model_id) as assistant:

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

Depois que start() é chamado, o Assistente gera um stream de eventos que redirecionam os vários estados em que o 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 ver detalhes sobre todos os eventos e os argumentos deles.

Glossário:

  • Hotword: a frase que o Assistente detecta quando não está desativada:

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

  • Conversa: uma ou mais rodadas que resultam em um resultado final desejado do 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:
  • credentials (google.oauth2.credentials.Credentials): as credenciais do Google OAuth2 do usuário.
  • device_model_id (str) – o device_model_id que foi registrado para seu projeto no Google. Não pode ser uma string vazia.
Gera:

ValueError: se device_model_id foi deixado como None 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 o Google Device Actions. Essa propriedade só é preenchida DEPOIS de chamar start().

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

Envia |query| ao Assistente como se ele fosse falado pelo usuário.

Isso se comportará como um usuário falando a hotword e fazendo uma consulta OU falando a resposta a uma consulta de acompanhamento.

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

Impede que o Google Assistente ouça a hotword.

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

Esse método será autônomo se o Assistente ainda não tiver sido iniciado.

Parâmetros:is_muted (bool): o True interrompe a escuta do Assistente, e False permite que ele comece novamente.
start()

Inicia o Assistente, que inclui ouvir uma hotword.

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

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

Inicia manualmente uma nova conversa com o Assistente.

Inicia a gravação da fala do usuário e o envia ao Google, semelhante ao que acontece quando o Assistente ouve a hotword.

Esse método será autônomo se o Assistente não tiver sido iniciado ou tiver sido silenciado.

stop_conversation()

Interrompe qualquer conversa ativa com o Assistente.

O Assistente pode estar ouvindo a consulta do usuário OU respondendo. Se não houver uma conversa ativa, esse é um ambiente autônomo.

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

Estende "Event" para adicionar a análise de "alert_type".

classe google.assistant.library.event.AlertType

Tipos de alerta.

Usado com eventos ON_ALERT_STARTED e ON_ALERT_FINISHED.

ALARM = 0

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

TIMER = 1

Um evento definido para um horário relativo, como "Daqui a 30 segundos"

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

Estende "Event" para adicionar a propriedade "actions".

actions

Um gerador de comandos a serem executados para o dispositivo atual.

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

Um evento gerado pelo 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 código numérico correspondente a um evento em google.assistant.event.EventType.
  • args (dict) – pares de chave-valor de argumento associados a esse evento.
  • kwargs (dict): pares de chave-valor de argumento opcionais e específicos de uma classe de evento para um EventType.
classe google.assistant.library.event.EventType

Tipos de evento.

ON_ALERT_FINISHED = 11

Indica que o alerta de alert_type terminou de soar.

Parâmetros:alert_type (AlertType): o código do Enum que representa o tipo de alerta que acabou de terminar.
ON_ALERT_STARTED = 10

Indica que um alerta começou a soar.

Esse alerta continuará até ON_ALERT_FINISHED com o mesmo alert_type ser recebido. Apenas um alerta deve estar ativo por vez.

Parâmetros:alert_type (AlertType): o ID do Enum que representa o tipo de alerta atual.
ON_ASSISTANT_ERROR = 12

Indica se a biblioteca do Assistente encontrou um erro.

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

O Assistente terminou a rodada atual.

Isso inclui processar a consulta do usuário e falar a resposta completa, se houver.

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

Indica que um novo passo foi iniciado.

O Assistente está ouvindo no momento, aguardando uma consulta do usuário. Isso pode ser resultado da audição da hotword ou do start_conversation() sendo chamado no Assistente.

ON_CONVERSATION_TURN_TIMEOUT = 2

O Assistente atingiu o tempo limite ao aguardar uma consulta discernível.

Isso pode ser causado por um acionamento incorreto da hotword ou o Assistente não entendeu o que o usuário disse.

ON_DEVICE_ACTION = 14

Indica que uma solicitação de Ação do dispositivo foi enviada para o dispositivo.

Ela será enviada se alguma Gramática do dispositivo for acionada para as características compatíveis com o dispositivo. Esse tipo de evento tem uma propriedade especial "actions" que retorna um comando de iterador ou 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 Assistente parou de ouvir a consulta do usuário.

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

ON_MEDIA_STATE_ERROR = 20

Indica que ocorreu um erro na reprodução da faixa.

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

ON_MEDIA_STATE_IDLE = 16

Indica que não há nada em reprodução e nada em fila para reproduzir.

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

ON_MEDIA_TRACK_LOAD = 17

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

Ele poderá ser enviado várias vezes se os 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): o URL da arte 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á emitindo áudio no momento.

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 de 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): o URL da arte 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 em reprodução.
ON_MEDIA_TRACK_STOP = 19

Indica que uma faixa reproduzida anteriormente foi interrompida.

Normalmente, isso é resultado da pausa do usuário. A faixa poderá 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): o URL da arte 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 interrompido.
ON_MUTED_CHANGED = 13

Indica que o Assistente está ouvindo no momento.

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

Parâmetros:is_muted (bool): se True, o Assistente não está detectando a hotword no momento e não responderá às consultas do usuário.
ON_NO_RESPONSE = 8

O Assistente concluiu o processo, mas não tem nada para dizer.

ON_RECOGNIZING_SPEECH_FINISHED = 5

O Assistente determinou a fala reconhecida final.

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 saída de texto para renderizar uma resposta.

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

O Assistente terminou de responder por voz.

ON_RESPONDING_STARTED = 6

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

O Assistente responderá até que ON_RESPONDING_FINISHED seja recebido.

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

A biblioteca do Assistente foi iniciada.

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

Estende a fila.Queue para adicionar uma interface __iter__.

offer(evento)

Oferecer um evento para colocar na fila.

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

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

Estende "Evento" para adicionar a análise do "estado".

classe google.assistant.library.event.MediaTrackType

Tipos de faixa para um evento 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/podcasts).

TTS = 1

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

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

Estende "Event" para adicionar a análise de "response_type".

classe google.assistant.library.event.RenderResponseType

Tipos de conteúdo que serão renderizados.

Usado com ON_RENDER_RESPONSE