Usando o Google Generative AI (Gemini) & Chat GPT para gerar anuncios (alexa) mais naturais

Objetivo: Fazer com que mensagens dadas pela alexa - google nest - Siri sejam mais naturais e não fiquem repetitivas.

Exemplo:

Possuo uma automação para o echo show informar que a lavagem de roupas terminou, então ele sempre fala:

  • Lavagem de roupas concluída.

Usando o Genmini a mensagem seria em um primeiro momento:

  • A arca da roupa limpa aportou! Prepare-se para a avalanche de cheiro bom. Se encontrar algum par de meias desaparecido, por favor, não me responsabilize.

Em outro momento:

  • A arruaceira aquática doméstica silenciou! Prepare-se para resgatar suas roupas, ou elas começarão a formar um coral fashion.

Demonstração:

1º vá ao google ai studio e crie uma key (tomara que isso continue de graça para sempre :rofl:).


2º instale a integração no home assistant e coloque a key criada anteriormente.

3º para testar vá em ferramentas do desenvolvedor > Ações:

Usando o prompt (pode ser ajustado a gosto): “Crie uma mensagem curta informando que a máquina de lavar roupas terminou pode adiconar algo engraçado relacionado, não use emoji, não mostre opções escolha uma de forma aleatória.”

Ele ja disponibiliza a resposta.

você pode pedir ele até para descrever imagem, por exemplo imagem de uma foto tirada devido a pessoa ter tocado o interfone:

exemplo:

Prompt:

  • Descreva em uma frase o que você vê na imagem, se você ver uma pessoa descreva ela suas roupas e cores, se a pessoa estiver carregando algo descreve o que ela carrega, não descreva contruções e paredes.

Resposta:

  • Um homem usando uma jaqueta azul, capacete e calças escuras carrega uma
    mochila e uma sacola de compras.

Imagem:


4º usando em uma automação:
Escolher a ação Google Generative AI ‘Gerar conteúdo’, preencha o prompt de acordo com a necessidade da automação em questão, em Resposta variável (variável onde vai ser armazenado o texto preencha com ai_response ou outro nome que preferir.

5º Adicione ação para enviar o texto que o dispositivo Echoirá reproduzir tem que usar yaml. Correção {{ ai_response.text }}

Fonte: Smart Home Junkie - AI in Home Assistant - A Complete Guide!

3 curtidas

Top. Vou testar aqui.
Obrigado pelo tutorial.

1 curtida

Não consigo adicionar essa integração do Google Conversation IA faz muito tempo que tento trocar ou excluir as credenciais mas sempre da o seguinte erro:

Erro

Não foi possível carregar o fluxo de configuração: 500 Internal Server Error Server got itself in trouble

Não sei como excluir os dados que provavelmente eu adicionei a primeira vez, possuo outras integrações do google e funcionam normal.

Vai em integrações, clica nos 3 pontos no canto superior direito e clica em credenciais de aplicações.

2 curtidas

Consegui resolver a integração do Google Calendar dessa forma pois não sabia que as credenciais ficam salvas ali. Porém, não tem credencial do Google Conversation, ou seja, continua dando o mesmo erro.

Ao passar valores de entidades para que o Gemini criasse uma mensagem ele deu bug e não respondeu, deu erro de overload, não sei se é por que é gratis mas resolvi tentar utilizar o chat GPT gpt-3_5-turbo-0125 que é pago, mas muito barato para aplicação no home assistant, gerei 45 mensagens (para aperfeiçoar um prompt) e gastei USD 0,10 em uso normal o gasto é muito baixo.

Exemplo de geração de mensagem com entidades:
Criei uma mensagem curta informando que começõu a chover, informe as janelas e portas que estão abertas de acordo com a lista abaixo sendo ON = Aberto, se não houver portas ou jabelas abertas informe que todas as janelas e portas estão fechadas estão fechadas. se Lavagem de roupas concluida = ON então adicione um lembrete para verificar se há roupas no varal se for OFF não diga nada sobre as roupas no varal. 
Janela da sala = {{ states('binary_sensor.sala_contato_janela_contact')}} 
Janela da cozinha = {{ states('binary_sensor.cozinha_contato_janela_contact')}} 
Janela do escritório = {{ states('binary_sensor.escritorio_contato_janela_contact')}} 
Janela do quarto = {{ states('binary_sensor.quarto_contato_janela_contact')}} 
Porta da suíte = {{ states('binary_sensor.suite_contato_porta_da_sacada_contact')}} 
Janela do banheiro da suíte = {{ states('binary_sensor.banheiro_da_suite_contato_janela_contact')}}
Lavagem de roupas concluida = {{ states('input_boolean.utilidade_lava_e_seca_ciclo_concluido') }}
não execute ações somente crie o texto, não adicione ON ou OFF ao texto. mencione somente as janelas que estão abertas.

Resposta caso a maquina de lavar roupas concluiu um ciclo nas ultimas 24 horas:

A chuva começou. A janela do banheiro da suíte está aberta. Lembre-se de
verificar se há roupas no varal.

Resposta caso a máquinas não tenha concluido um ciclo nas ultimas 24 horas:

Começou a chover. A janela do banheiro da suíte está aberta. Todas as outras
janelas e portas estão fechadas.

O processo é o mesmo usado para o Gemini, segue o vídeo tutorial (fonte).

Próximo passo é liberar o controle de entidades com o Add On
Extended openai conversation