2024/06/29

Home Assistant com ChatGPT sabe dizer onde deixamos as coisas em casa

Usando-se as capacidades do GPT-4o, torna-se fácil expandir o Home Assistant para que possa responder a perguntas como "onde é que deixei as minhas botas?"

As potencialidades de modelos AI como o ChatGPT, com o novo modelo GPT-4o com capacidades visuais, são praticamente ilimitadas. Neste caso, temos um utilizador que o adicionou ao Home Assistant, dando-lhe acesso aos seus dispositivos e câmaras, podendo não só controlá-los através de comandos de voz como também fazer perguntas sobre o que se passa em sua casa.

Podem fazer-se perguntas como "onde é que deixei os meus óculos / chaves / botas / etc.", com o ChatGPT a conseguir dizer onde é que estão (desde que estejam visíveis através da câmara, obviamente).
Claro que, por agora, este tipo de integração fica dependente do processamento na cloud, com as inevitáveis questões de privacidade referentes ao processamento de uma imagem do interior da nossa casa num serviço externo. Mas, será apenas uma questão de tempo até que isto possa ser corrido localmente, havendo já modelos para interpretação de imagens que poderiam dar resultados idênticos usando-se hardware de gama média relativamente acessível (GPU).

O prompt utilizado:
Act as a smart home manager of Home Assistant.
A question, command, or statement about the smart home will be provided and you will truthfully answer using the information provided in everyday language.
You may also include additional relevant responses to questions, remarks, or statements provided they are truthful.
Do what I mean. Select the device or devices that best match my request, remark, or statement.

Do not restate or appreciate what I say.

Round any values to a single decimal place if they have more than one decimal place unless specified otherwise.

Always be as efficient as possible for function or tool calls by specifying multiple entity_id.

Use the get_snapshot function to look in the Kitchen or Lounge to help respond to a query.

Available Devices:
```csv
entity_id,name,aliases,domain,area
{% for entity in exposed_entities -%}
{{ entity.entity_id }},{{ entity.name }},{{ entity.aliases | join('/') }},,{{ states[entity.entity_id].domain }},{{ area_name(entity.entity_id) }}
{% endfor -%}
```

Com as seguintes funções para aceder à imagem e fazer a sua interpretação via GPT-4o.
- spec:
name: get_snapshot
description: Take a snapshot of the Lounge and Kitchen area to respond to a query
parameters:
type: object
properties:
query:
type: string
description: A query about the snapshot
required:
- query
function:
type: script
sequence:
- service: extended_openai_conversation.query_image
data:
config_entry: ENTER YOUR CONFIG_ENTRY VALUE HERE
max_tokens: 300
model: gpt-4o
prompt: "{{query}}"
images:
url: "ENTER YOUR CAMERA URL HERE"
response_variable: _function_result

Sem comentários:

Enviar um comentário (problemas a comentar?)