Une maison intelligente boostée par l'IA locale

Traduction de l'article "Building the AI-powered local Smart Home" publié sur le blog de Home Assistant.
Une maison intelligente boostée par l'IA locale

Sommaire

Cet article est une traduction d'un article publié sur le site Home-Assistant :

Building the AI-powered local smart home
In the past year, we’ve made significant progress in making AI a powerful tool in the home

L'année dernière, nous avons exposé notre vision de l'IA dans la maison intelligente, ce qui a ouvert l'expérimentation de l'IA dans Home Assistant. Dans cette mise à jour, nous avons facilité l'intégration de toutes sortes d'outils d'IA locaux et dans le cloud, et fourni des moyens de les utiliser pour contrôler et automatiser votre maison. Une année s'est écoulée, beaucoup de choses se sont produites dans l'espace de l'IA, et notre communauté a veillé à ce que Home Assistant reste à la frontière.

Nous avons devancé les grandes entreprises technologiques ; nous avons été les premiers à rendre l'IA utile à la maison. Nous l'avons fait en donnant à notre communauté un contrôle total sur la manière et le moment d'utiliser l'IA, en faisant de l'IA un puissant outil à utiliser à la maison. Par opposition à un outil qui prendrait le contrôle de la maison. Notre communauté profite des capacités uniques de l'IA (par exemple, ses compétences en matière de reconnaissance d'images ou de résumé), tout en ayant la possibilité de l'exclure des tâches critiques qu'elle préférerait qu'elle ne prenne pas en charge. Mieux encore, tout cela peut être exécuté localement, sans qu'aucune donnée ne quitte votre domicile !

De plus, si les utilisateurs ne veulent pas d'IA dans leur maison, c'est leur choix, et ils peuvent choisir de ne pas activer l'une ou l'autre de ces fonctions. J'espère que les grandes entreprises technologiques adopteront une approche aussi mesurée, mais à en juger par leurs dernières présentations, je ne retiens pas mon souffle.

Au cours de l'année écoulée, nous avons ajouté de nombreuses fonctionnalités d'IA et les avons rendues faciles à utiliser directement via l'interface utilisateur de Home Assistant. Nous avons suivi tous les développements dans le domaine de l'IA et nous utilisons les dernières normes pour intégrer plus de modèles et d'outils que jamais auparavant. Nous continuons également à comparer les modèles locaux et dans le nuage pour donner aux utilisateurs une idée de ce qui fonctionne le mieux. Poursuivez votre lecture pour découvrir toutes les nouveautés, et peut-être pourrez-vous apprendre à votre maison intelligente de nouveaux tours de passe-passe.

Un grand merci à notre équipe de contributeurs de la communauté IA:
@AllenPorter@shulyaka@tronikos@IvanLH@Joostlek !

L'IA au service de la commande vocale 

Nous avons créé des assistants vocaux avant que l'IA ne devienne cool. En 2023, nous avons donné le coup d'envoi de notre Année de la voix. Depuis, nous nous sommes efforcés de construire tous les éléments nécessaires à la mise en place d'un assistant vocal local, ouvert et privé. Lorsque l'IA a fait fureur, nous n'avons pas tardé à l'intégrer.

Aujourd'hui, les utilisateurs peuvent discuter avec n'importe quel modèle de langage étendu (LLM) intégré à Home Assistant, qu'il soit dans le cloud ou exécuté localement via un service comme Ollama. Alors que Assist, notre assistant vocal maison (sans IA), se concentre sur une liste prédéterminée de commandes de contrôle de la maison, l'IA vous permet de poser des questions plus ouvertes. Résumez ce qui se passe à travers les capteurs de la maison intelligente que vous avez exposé à Home Assistant, ou obtenez des réponses à des questions de trivia. Vous pouvez même donner une personnalité à votre LLM !

Les utilisateurs peuvent également tirer parti de la puissance de l'IA pour parler comme ils parlent, car les LLM sont bien plus à même de comprendre l'intention qui se cache derrière les mots. Par défaut, Assist traitera les commandes en premier. Seules les questions ou les commandes qu'il ne peut pas comprendre seront envoyées à l'IA que vous avez configurée. Par exemple, "Allumez la lumière de la cuisine" peut être traité par Assist, tandis que "Il fait sombre dans la cuisine, pouvez-vous m'aider ?" pourrait être traité par une IA. Cela permet d'accélérer les temps de réponse pour les commandes simples et de disposer d'un assistant vocal plus durable.

Le partage de contexte entre les agents est un autre ajout important de l'année dernière. Ainsi, votre agent Assist peut partager les commandes les plus récentes avec l'agent IA de votre choix. Ce contexte partagé vous permet de dire quelque chose comme "Ajouter du lait à ma liste de courses", ce que fera Assist, et pour ajouter d'autres articles, il suffit de dire "Ajouter du riz" L'agent IA comprend que ces commandes sont liées et peut agir en conséquence.

Un autre ajout utile permet de poursuivre la conversation : si le LLM vous pose une question, votre assistant vocal écoutera votre réponse. Si vous dites quelque chose comme "Il fait sombre", il pourrait vous demander si vous souhaitez allumer des lumières, et vous pourriez lui dire de le faire. Nous sommes allés encore plus loin que les autres assistants vocaux, car vous pouvez désormais demander à Home Assistant d'initier des conversations. Par exemple, vous pouvez mettre en place une automatisation qui détecte lorsque la porte du garage est ouverte et vous demande si vous souhaitez la fermer (bien que cela puisse également être fait sans IA avec un Blueprint très astucieux).

L'IA nous a poussés à revoir complètement notre système de synthèse vocale pour tirer parti des réponses en continu des LLM. Bien que les modèles d'IA locaux puissent être lents, nous utilisons une astuce simple pour rendre le délai presque imperceptible. Désormais, Piper (notre TTS local) et Home Assistant Cloud TTS peuvent commencer à générer de l'audio dès que le LLM produit les premiers mots, améliorant ainsi la vitesse de la réponse parlée d'un facteur dix.

Prompt : "Racontez-moi une longue histoire sur une grenouille"

Mise en placeIl est temps de prendre la parole
Cloud, non-streaming6.62 sec
Cloud, streaming0,51 sec (13x plus rapide)
Piper, non-streaming5.31 sec
Piper, streaming0,56 sec (9,5x plus rapide)

Ollama gemma3:4b sur une RTX 3090, et Piper sur un i5

Un excellent matériel pour travailler avec AI 

Des gens ont construit des appareils vocaux vraiment géniaux, des téléphones fixes aux petits robots parlants, mais le fait qu'il s'agisse de bricolage a toujours été une barrière à l'entrée. Pour rendre notre assistant vocal accessible à tous, nous avons lancé l'édition préliminaire de Home Assistant Voice. Il s'agit d'un moyen simple et abordable d'essayer Home Assistant Voice. Il est doté d'un matériel de traitement audio très puissant dans un boîtier élégant. Si vous hésitiez à essayer l'assistant vocal, c'est vraiment la meilleure façon de commencer.

Voice Preview Edition n'est pas seulement ouvert et puissant, il est également très esthétique et agréable à utiliser.

Il est désormais plus facile que jamais de configurer votre matériel Assist pour qu'il fonctionne avec des LLM grâce à notre page de configuration Assistants vocaux, et vous pouvez même assigner un LLM différent à chaque appareil. Le LLM peut reconnaître la pièce dans laquelle il se trouve et les appareils qui s'y trouvent, ce qui rend ses réponses plus pertinentes. Home Assistant a été conçu pour être un excellent moyen de contrôler les appareils de votre maison, mais avec l'IA, il devient bien plus.

Suggestions assistées par ordinateur 

Le mois dernier, Home Assistant a lancé une nouvelle fonctionnalité opt-in pour tirer parti de la puissance de l'IA lors de l'automatisation avec Home Assistant. L'objectif est de raccourcir le processus de la page blanche à l'idée finie.

Lors de l'enregistrement d'une automatisation ou d'un script, les utilisateurs peuvent désormais utiliser le nouveau bouton Suggérer : 

 Lorsqu'il est cliqué, il envoie votre configuration d'automatisation ainsi que les titres de vos automatisations et étiquettes existantes à l'IA pour suggérer un nom, une description, une catégorie et des étiquettes pour votre nouvelle automatisation. Au cours des prochains mois, nous allons explorer les autres fonctionnalités qui peuvent bénéficier des suggestions de l'IA.

Pour bénéficier de cette fonctionnalité, vous devez suivre deux étapes. Premièrement, vous devez configurer une intégration qui fournit une entité AI Tasks. Pour l'IA locale, vous pouvez configurer Ollama, ou vous pouvez également utiliser l'IA basée sur le cloud comme Google, OpenAI, ou Anthropic. Une fois la configuration effectuée, vous devez vous rendre dans le nouveau volet des préférences des tâches d'IA sous Système -> ; Général et choisir l'entité Tâche d'IA pour activer les suggestions dans l'interface utilisateur. Si vous ne configurez pas d'entité AI Tasks, le bouton Suggérer ne sera pas visible.

AI Tasks fait le travail 

L'activation des Tâches d'IA ne se limite pas à étiqueter et à résumer rapidement vos automatisations ; sa véritable force est de faciliter l'utilisation de l'IA dans les modèles, les scripts et les automatisations. Les tâches d'IA permettent à d'autres codes d'exploiter l'IA pour générer des données, y compris des options pour joindre des fichiers et définir la manière dont vous souhaitez que ces données soient produites (par exemple, un schéma JSON).

Nous avons tous vu ces incroyables créations communautaires, où un utilisateur exploite la reconnaissance et l'analyse d'images par l'IA pour détecter les places de parking disponibles ou compter le nombre de poulets dans le poulailler. Il est probable que les tâches d'IA puissent désormais vous aider à faire facilement cela dans Home Assistant, sans avoir besoin de scripts complexes, de modules complémentaires supplémentaires ou d'intégrations HACS.

Vous trouverez ci-dessous un modèle d'entité qui compte les poulets dans un flux vidéo, à l'aide d'une série d'instructions courtes et simples.

template:
 - triggers:
     - trigger: homeassistant
       event: start
     - trigger: time_pattern
       minutes: "/5"
   actions:
     - action: ai_task.generate_data
       data:
         task_name: Count chickens
         instructions: >-
           This is the inside of my coop. How many birds (chickens, geese, and
           ducks) are inside the coop?
         structure:
           birds:
             selector:
               number:
         attachments:
           media_content_id: media-source://camera/camera.chicken_coop
           media_content_type: image/jpeg
       response_variable: result
   sensor:
     - name: "Chickens"
       state: "{{ result.data.birds }}"
       state_class: total

YAML

Ce modèle envoie un instantané de la caméra à l'IA, lui demandant d'analyser ce qui se passe. Il définit que la sortie doit toujours être un nombre, puisque nous voulons utiliser cette information dans Home Assistant. Tout cela est intégré dans un modèle d'entité qui se met à jour automatiquement toutes les 5 minutes. Une tâche d'IA peut également être intégrée dans une automatisation, un script ou tout autre endroit où des actions peuvent être exécutées.

Une automatisation déclenche une tâche d'IA pour identifier ce qui a provoqué un mouvement sur une caméra.

Enfin, les utilisateurs peuvent définir une entité par défaut pour les tâches d'IA. Cela permet aux utilisateurs de ne pas avoir à choisir un identifiant d'entité lors de la création d'automatismes d'IA. Cela vous permet également de migrer tout ce qui utilise les tâches d'IA vers le dernier modèle en un seul clic. Cela facilite également le partage des plans qui exploitent les tâches d'IA, comme ce plan qui analyse un cliché de caméra lorsqu'un mouvement est détecté :

Le MCP ouvre un nouveau monde 

Le Model Context Protocol (MCP) est une couche fine permettant aux LLM d'intégrer tout. Lorsque la spécification a été annoncée, nous avons rapidement sauté dessus et l'avons intégrée à Home Assistant. En effet, ces serveurs permettent à l'agent conversationnel Assist de Home Assistant d'accéder à toutes sortes de nouveaux outils. Vous pouvez connecter des serveurs MCP qui permettent à l'assistant d'accéder aux dernières nouvelles, à vos listes de tâches ou à un serveur qui répertorie votre collection de vinyles, ce qui vous permet d'avoir des conversations plus riches ("Ok Nabu, quels albums des Replacements ai-je, et lesquels ne sont pas sur ma liste de vinyles à acheter ?").

D'un autre côté, vous pouvez également transformer Home Assistant en serveur MCP, permettant à un système d'IA d'accéder à des informations sur votre maison. Par exemple, vous pourriez créer une IA locale douée pour faire des automatisations Home Assistant, et elle pourrait inclure tous les noms de vos entités ou les actions disponibles. MCP bénéficie d'un soutien croissant et il existe d'excellentes solutions hébergées dans le nuage ou autonomes.

Comment choisir un modèle 

Il y a beaucoup de modèles disponibles, il est difficile de savoir par où commencer. Heureusement, le gourou résident de l'IA de Home Assistant @AllenPorter est là pour vous aider. Il a mis au point un Home LLM Leaderboard incroyablement utile. Cet ensemble de données comprend ses tests approfondis des options LLM locales et dans le nuage, et comporte même des tests qui donnent une chance aux petits LLM locaux (voir assist-mini).

Actuellement, les graphiques montrent que les modèles les plus récents des grands acteurs du cloud se classent assez près les uns des autres, tandis que les modèles locaux récents qui utilisent 8 Go ou plus de VRAM sont presque à la hauteur. Dans le passé, il y avait une grande disparité entre la plupart des modèles, mais aujourd'hui, il est difficile de se tromper.

C'est d'autant plus utile que les options de LLM dans Home Assistant viennent de croître de manière exponentielle avec l'ajout d'OpenRouter, une interface unifiée pour les LLM. Avec OpenRouter, les utilisateurs peuvent accéder à plus de 400 nouveaux modèles dans Home Assistant, et il prend en charge les tâches d'IA dès le premier jour. Nous avons vraiment l'embarras du choix.

L'avenir est ouvert et Open Source 

Home Assistant est open source. Nous pensons que vous devez avoir le contrôle de vos données et de votre maison intelligente. Toutes les données. Les LLM locaux et la façon dont nous avons architecturé Home Assistant étendent ce choix à l'espace de l'IA, tout en préservant votre vie privée.

Plus important encore, nous avons fait en sorte que tout cela soit open source. Nous sommes animés par la communauté et nous travaillons avec elle. L'Open Home Foundation n'a pas d'investisseurs et n'est redevable à personne d'autre qu'à nos utilisateurs. Notre travail est financé par les achats de matériel et les abonnements à Home Assistant Cloud, ce qui nous permet de rendre toute la technologie que nous construisons libre et ouverte.