Je voudrais faire mon propre assistant vocal local

Hello @titoumimi

Nécessitera un serveur Ollama

Ollama - Home Assistant (home-assistant.io)

@+

et mince :frowning: la doc n’était pas encore là au moment de mon message :expressionless:

1 « J'aime »

En même temps c’est plutôt logique.
Un LLM nécessite de la ressource ( GPU) pour traiter rapidement les inférences.

Après je me demande quel est vraiment l’intérêt pour de la domotique :wink: Ce qui compte c’est que ton système exécute les ordres donnés

Je rêve de rendre mon système moins débile…
Qu’il comprenne que éteint et éteins c’est la même chose.
Pour l’instant, la voix c’est un joli POC, mais pas du tout mettable en prod avec une femme pas. Geek et des enfants…

Faut utiliser éteindre , au moins pas de problème :wink:

Oui, ça je l’avais, mais c’est, pour moi, ce qui contribue à renforcer cet effet « jolie bêta, mais bon… »

Oui, mais faut laisser le temps que ca s’améliore. Ca débuter début 2023 le vocal.

1 « J'aime »

Là par contre, 100% d’accord !
Y’a un ou deux dépôts gît que je suit avec attention

Ou " Peux-tu éteindre…" Il apprécie aussi :wink:

1 « J'aime »

Pour les verbes d’action, j’ai essayé d’être le plus exhaustif possible. Le but étant qu’en parlant naturellement je tombe à peu près tout le temps juste.
Par exemple, pour éteindre la musique, ma commande ressemble à ça :

"[Est-ce que|Est ce que] [peux-tu|tu peux] [me|nous|m']([é|e]tein[dre][s|r]|arr[ê|e]te[s|r]| coupe[s|r]| stop[pe][s|r]) [le|la|les] (son|volume|musique|morceau)[s|x] [s'il te plaît|s'il-te-plaît]"

Pour rappel:

  • Entre crochet : optionel
  • Le pipe : OU
  • Entre parasynthèse ou sans rien : obligatoire

Pour exemple : arr[ê|e]te[s|r]
Le système comprendra : arrête, arrêtes, arrêter, arrete, arretes, arreter
Ce qui limite beaucoup plus les incompréhensions du système.
Par contre c’est très long à écrire, source d’erreur, etc…
Par contre une fois fait, ça dépote sévère !

2 « J'aime »

Je vais te répondre dans ce post plutôt @WarC0zes , ça sera plus simple :wink:

Si vous avez envie de jouer, j’ai trouvé ça qui permet d’intégrer son propre modèle directement depuis HA :

Soit via son intégration à lui directement, soit via oobabooga/text-generation-webui pour laquelle il propose également une intégration : home-llm/addon at develop · acon96/home-llm · GitHub

Malheureusement chez moi, quelle que soit la solution, dès que je lance le modèle ça plante l’intégration et la fait redémarrer sans plus d’infos dans les logs…

Mais ça a l’air prometteur :slight_smile:

Et à propos de promesse, il y a aussi les processeurs LPU qui détrône haut la main les GPU, bien que l’on s’éloigne un peu de la domotique. Sans compter qu’il faut une unité central.

Mais j’imagine qu’il y aura un développement pour le marché du DIY.
Je recommande cette vidéo pour ceux qui veulent découvrir la technologie. Il y a la page du concepteur : GROQ mais c’est en anglais.

Bonjour,
je m’incruste dans le sujet, c’est un beau projet!

De mon côté, j’ai déjà fait un « assistant » vocal avec un Voice Kit (AIY, qui tape sur le cloud Google), tout en python, et ça fonctionne depuis des années.
En fonction des retours de texte de la commande vocale, je lance des actions sur la domotique et je répond gentiment avec le TTS intégré.
Avant c’était Domoticz, je suis entrain de migrer vers Home Assitant, et ça fonctionne plutôt bien.
J’aimerai maintenant que mon « assistant » (un lapin Nabaztag que j’ai vidé pour mettre une pi avec le kit AIY) soit vu par Home Assistant comme un media player, au même titre que les google home ou autres chromecast.
J’ai trouvé comment faire l’inverse: piloter un media player depuis python (pychromecast, ce que semble utiliser HA), mais pas comment être vu par HA comme étant un player.
Est ce que vous avez une idée / piste pour faire çà en python (l’ajouter dans mon service)? En quelque sorte émuler un service chromecast… ?

PS: j’arrive déjà à faire dire des messages texte issus de HA à mon lapin, mais c’est en contournant, avec du MQTT; ce serait vraiment plus sexy que mon lapin puisse faire partie de la liste des périphériques utilisables depuis HA…

Merci!

1 « J'aime »

Bonjour à tous,

J’essaye de faire fonctionner l’Assistant vocal local à partir de l’intégration Ollama avec un modèle llama3 en français.

Sur le principe, cela fonctionne, l’assistant comprend et répond, mais il ne connaît que quelques éléments de mon infrastructure, par exemple les zones Salon et Coin PC, alors que j’ai une dizaines de zones définies. Idem pour les sensors, il n’en connaît qu’une poignée sur les centaines qui existent.

Avez-vous réussi à faire fonctionner Ollama de façon fiable ?

image

Il faut que je creuse… Actuellement je n’ai installé que llama2 (pas le 3).

Mais en posant la question « Quelles sont les pièces de mon appartement ? », j’ai ceci comme réponse :

response:
  speech:
    plain:
      speech: >-
        Voici les pièces de votre appartement según las informaciones de la casa
        inteligente:

        * Chambre 1
        * Salon
        * Cuisine
        * SdB
        * Entrée

        Does this answer your question?
      extra_data: null
  card: {}
  language: fr
  response_type: action_done
  data:
    targets: []
    success: []
    failed: []
conversation_id: "2"

Suis… surpris de voir une réponse en français et en espagnol !!!
Va comprendre… alors que je lui demandais bien de parler en français ! :joy: et tout comme toi, je n’ai pas la liste des pièces (une config à faire certainement quelque par ?!)