Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. Einbindung einer Lokalen AI

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Einbindung einer Lokalen AI

    This topic has been deleted. Only users with topic management privileges can see it.
    • B
      bloop last edited by

      Liebe Community,

      Ich komme leider nicht von dem Gedanken weck ioBroker mit einer lokalen AI zu erweitern.
      Dies mach natürlich nur dann Sinn, wenn die AI auf aktuelle Datenpunktinformationen sowie Informationen aus einer Datenbank zugreifen kann. Ebenso soll es dem AI Modell auch möglich sein Datenpunkte zu steuern / verändern.

      @Bluefox Ist diesbezüglich etwas vom Kern Entwicklungsteam angedacht?

      Vor einiger Zeit hab ich mich an die Arbeit gemacht, einen entsprechenden Adapter für Ollama zu schreiben. Viele Funktionen funktionieren bereits wie gewünscht und ich habe das Gefühl einem ersten Alphatest schon recht nahe zu sein.

      https://github.com/bloop16/ioBroker.ollama

      Da ich jedoch kein gelernter Entwickler bin, lasse ich das meiste über Vibe Coding schreiben… Dies stellt
      Mich immer wieder vor neue Herausforderungen. Viele Bausteine im eingefügten Code sind oft nicht gewünscht oder entsprechen nicht den eigentlichen Anforderungen. Ob dies nun alles korrekt ist und ich mit der Entwicklung auf dem richtigen Weg bin traue ich mich nicht zu beurteilen.

      Ich wäre Dankbar wenn sich jemand den Adapter ansieht und beurteilt ob mein Projekt gesamt zum Scheitern verurteilt ist oder ob Hoffnung besteht dieses so umzusetzen. Nicht das ich einen komplett falschen Ansatz verfolge. Eventuell erklärt sich auch jemand bereit mir dabei unter die Arme zu greifen.

      Bevor die Frage wieder aufkommt was damit erreicht werden soll. Angedacht wären im ersten Schritt:

      • Sprachassistent
      • Datenanalyse und Berechnung unterschiedlichster Datenpunkte mittels Prompt
      • Datenpunktsteuerung ohne Skript
        uvm.

      All dies natürlich lokal und ohne Informationen an Dritte weiterzugeben.

      Da immer wieder das Thema Ressourcen Verschwendung aufkommt: Sehe ich nicht so!

      1. Sind die meisten Home Server großteils nicht ausgelastet. Somit werden vorhandene, ungenutzte Ressourcen verwendet.
      2. Jedes externe System wie zb. ChatGPT usw. benötigt bei einer Anfrage definitiv mehr Ressourcen.

      Ich war mir jetzt nicht sicher ob dieses Thema besser in die Kategorie Tester oder Entwicklung gehört…

      Danke für euer Feedback!

      haselchen Jey Cee 2 Replies Last reply Reply Quote 0
      • haselchen
        haselchen Most Active @bloop last edited by

        @bloop

        Hab’s nur noch im Hinterkopf gehabt

        https://forum.iobroker.net/topic/78516/test-adapter-ai-toolbox-v0-1-3-github-latest

        Gibt es das nicht schon ?

        B 1 Reply Last reply Reply Quote 0
        • Jey Cee
          Jey Cee Developer @bloop last edited by

          @bloop Holger Will hat schon mit einem MCP Server für den ioBroker angefangen, sofern sich MCP inzwischen in ollama verwenden lässt könnte man auch das verwenden.
          https://forum.iobroker.net/topic/81367/test-adaper-kiwi-0-4-1?_=1755875163685

          Sonst gibt es neben der AI Toolbox auch den AI Assistant, die sollten auch mit Ollama verwendet werden können.

          Ich bin der Meinung man sollte hier die Anstrengungen Bündeln und vor allem mehr Zeit darauf verwenden Ordentliche Prompts zu schreiben die dann für die Allgemeinheit verwendet werden können. Denn woran es wirklich fehlt ist genau das. Eine KI an zu sprechen und ihr die Infos mit zu geben die sie zur Verarbeitung braucht ist relativ leicht.

          Was mich ja brennend interessiert ist welches Modell du verwendest oder verwenden willst?
          Ich hab in meinem Rechner eine 4060TI mit 16GB VRAM verbaut und schon viele getestet, aber wirklich brauchbare Ergebnisse hab ich nur mit den großen bekommen die gerade noch so laufen. Von der Verarbeitungsgeschwindigkeit will ich gar nicht reden.
          Die meisten Smart Home Server werden gar keine Brauchbare GPU haben, also läuft das dann auf der CPU, was es super Langsam macht.

          B 1 Reply Last reply Reply Quote 0
          • B
            bloop @haselchen last edited by

            @haselchen
            Ja, der Adapter geht grundsätzlich in die selbe Richtung.
            Hat aber keine Möglichkeit auf historische Daten aus dem ioBroker zuzugreifen.
            Mein Ansatz lag darin, Datenpunkte - ähnlich wie bei InfluxDB - mittels embedding in eine Vectordatenbank zu speichern und somit über RAG den in Ollama laufenden Modellen zur Verfügung zu stellen.

            haselchen OliverIO 2 Replies Last reply Reply Quote 0
            • haselchen
              haselchen Most Active @bloop last edited by

              @bloop

              Da steckst Du mehr im Thema als ich.
              Mein erster Berührungspunkt mit einer KI war Google Gemini und vermutlich auch mein Letzter.
              Viele falsche Ergebnisse .
              Genauso wie mit ChatGPT.
              Erschreckend wieviele falsche Infos da kommen.
              Ich habe mich zum Mitleser degradiert und schaue mal wie sich das Thema KI (weiter)entwickelt.

              1 Reply Last reply Reply Quote 0
              • OliverIO
                OliverIO @bloop last edited by

                @bloop
                so wie jay cee geschrieben wird es meiner Meinung nach lokal ebenfalls schwierig.

                • die guten modelle brauchen ab 50gb VRAM aufwärts, in Zukunft ansteigend
                • Wenn man abstriche an der Qualität und Geschwindigkeit macht geht es evtl auch auf einer CPU, dann kommt man auf unter 10 Tokens pro Sekunde. wenn man dann noch ein gutes Systemprompt hat und den Output ebenfalls sehr kurz macht, geht es eventuell, aber nicht für viele gleichzeitige Änderungen an den Datenpunkten. Da geht dann nur eine einzige Anfrage gleichzeitig, die aber dann auch mehrere Sekunden läuft.
                • wenn es dann doch ein gutes Modell sein soll, dann muss man den Stromverbrauch berücksichtigen. Die Grafikkarte ist da dann schon voll ausgelastet. Die 4060 bspw hat ein TDP von 115 Watt. uU läuft die dann die ganze Zeit auf Vollast, also mindestens 115 Watt für 24h + die anderen Stromverbraucher im PC

                cloud gpu server sind für privat aktuell nicht wirklich leistbar.

                was mir mal vorgeschwebt ist einen entsprechenden output zu erzeugen, den man dann bei chatgpt oder gemini kopieren kann um.
                je nach Größe benötigt man allerdings ein entsprechend großen KI-Kontext. chatgpt ist aktuell bei 128K was für kleine, evtl auch mittelgroße Umgebungen reicht, gemini bei 1Mio was auch für umfangreiche iobroker Installationen reichen dürfte.

                • optimierungsbedarfe zu finden
                • automatisierungsvorschläge zu finden
                • evtl auch schon automatisierungs-umsetzungen zu liefern
                • etc
                  Habe da aber noch keine Tests gestartet.

                Falls jemand interessiert ist.
                Ich bin aktuell dabei n8n custom nodes zu erstellen,
                so das diese mit dem iobroker kommunizieren können.
                Das funktioniert schon weitgehend im LAN. Allerdings hat die verfügbare socket-connections des iobroker noch eine schwäche wo evtl bluefox noch helfen kann, wenn er Zeit hat.
                Ich würde das bei Gelegenheit hier mal bekannt geben + Installationsanleitung für eine selbst gehostete n8n Instanz.

                B 1 Reply Last reply Reply Quote 0
                • B
                  bloop @Jey Cee last edited by

                  @jey-cee
                  Mit Holger war ich kurz in kontakt.
                  Ollama supportet in der Zwischenzeit MCP.
                  Mein Ansatz war / ist jedoch ein anderen. Wie bereits geschrieben, über RAG und eine Vectordatenbank.

                  Die Toolbox und der Assistant sind lediglich Schnittstellen um Prompts anzufragen und Antworten zu generieren. (bitte nicht als Kritik verstehen!)

                  Ich bin der Meinung man sollte hier die Anstrengungen Bündeln und vor allem mehr Zeit darauf verwenden >Ordentliche Prompts zu schreiben die dann für die Allgemeinheit verwendet werden können. Denn woran es >wirklich fehlt ist genau das. Eine KI an zu sprechen und ihr die Infos mit zu geben die sie zur Verarbeitung
                  braucht ist relativ leicht.

                  Da bin ich ganz deiner Meinung!
                  Ich musste bereits feststellen, dass das erstellen unzähliger unterschiedlicher Prompts um alle variablen einzugrenzen fast unmöglich ist, zudem sollten die Adapter auch noch Multilingual funktionieren...
                  Bei all einen Ansätzen habe ich versucht bestmöglich auf Keywords und Pattern zu verzichten.
                  Grundsätzlich ist es bei Ollama möglich aus jedem Modell eine neues Modell mit den gewünschten Systemprompts und Konfigurationen zu erstellen.

                  Was mich ja brennend interessiert ist welches Modell du verwendest oder verwenden willst?
                  Ich hab in meinem Rechner eine 4060TI mit 16GB VRAM verbaut und schon viele getestet, aber wirklich >brauchbare Ergebnisse hab ich nur mit den großen bekommen die gerade noch so laufen. Von der >Verarbeitungsgeschwindigkeit will ich gar nicht reden.
                  Die meisten Smart Home Server werden gar keine Brauchbare GPU haben, also läuft das dann auf der CPU, was >es super Langsam macht.

                  Aktuell meist mit llama3.2:latest und gemma3:4b. Allerdings sind grundsätzlich alle Modelle verwendbar. Alles war auf Ollama läuft wird bei Adapterstart in die Datenpunkte geladen. Ich bevorzuge aktuell llama da dies Funktion calling supported.
                  Das System läuft auf einem Minisforum UM760 AMD Ryzen 5 7640HS und 32gm Ram in einer Proxmox LXC.
                  Wenn das Modell gebraucht wird, wird es in den Ram geladen und nach 10min wieder gestoppt. Je nach Modell wird unterschiedlich Ram benötigt. llama3.2 zb. nur 3gb.
                  Eine Antwort auf einen Prompt dauert ab ca. 15sek wenn das Modell bereits geladen ist. CPU Auslastung liegt dann bei ca. 40%
                  Ollama läuft auch mit CPUs recht passabel, supportet aber auch diverse GPUs. Noch hab ich es nicht geschafft die in meiner APU integrierte GPU für Ollama Modelle zu verwenden.

                  Zwischenzeitlich hatte ich auch bereits sehr gute Ergebnisse: Datenpunkte gesteuert, Geschichte erstellt und erweitert, Berechnungen mehrerer Datenpunkte durchgeführt. Die Antwort erhalte ich je nach Freigabe in den gewünschten Datenpunkt von ioBroker.

                  OliverIO 1 Reply Last reply Reply Quote 0
                  • OliverIO
                    OliverIO @bloop last edited by

                    @bloop

                    die frage ist, ob man dafür einen eigenen ollama adapter benötigt.

                    so eine rag pipeline kannst du bereits jetzt mit n8n realisieren.
                    ich habe diese integration zwar noch nicht getestet,
                    aber da bekommst alles schon outofthe box.
                    https://github.com/ioBroker/ioBroker.n8n
                    ollama hat ebenfall ollama anbindung

                    tutorials für rag pipeline mit n8n gibt es einige
                    https://www.google.com/search?q=youtube+n8n+rag

                    1 Reply Last reply Reply Quote 0
                    • B
                      bloop @OliverIO last edited by

                      @oliverio
                      Ich denke nicht, das Ollama der finale Name bleiben würde.
                      Um den Funktionsumfang zu erweitern muste ich zusätzlich zu Ollama auch noch OpenWebUi und Qdrant als Datenbank in den Adapter einbauen.

                      Wie war es dir möglich in n8n auch historische Daten zu analysieren bzw. mit einzubeziehen?
                      Versteh ich es richtig, dass n8n unter anderem als Schnittstelle zu KI Modellen dient und die Daten zur Analyse lediglich an extern laufende Modelle weitergibt? Genau das möchte ich ja vermeiden.
                      Die Verarbeitungszeit spielt für mich aktuell noch eine nebensächliche Rolle.

                      n8n werd ich mich ansehen!
                      Bin gespannt was sich damit umsetzen lassen würde.

                      1 Reply Last reply Reply Quote 0
                      • OliverIO
                        OliverIO last edited by OliverIO

                        @bloop

                        Wie gesagt
                        Bluefox hat n8n direkt in den iobroker integriert.
                        Da stehen dir dann nodes zur Verfügung ähnlich wie bei nodered zum lesen und schreiben von datenpunkten, zum reagieren auf trigger, sowie Befehle, ähnlich wie im JavaScript Adapter, wie sendto.
                        Mit sendto kannst du wiederum den history oder MySQL Adapter ansprechen um historische datenpunkt Daten, sofern aufgezeichnet, abzurufen.
                        N8n hat diverse KI nodes, speziellere und allgemeinere bspw. Um OpenAI anzusprechen, aber auch ollama spielt ja den dispatcher für lokale aber auch wieder externe Modelle. Es gibt dann aber auch langchain nodes mit denen du dann wirklich alles umsetzen kannst.
                        Und es gibt viele viele weitere nodes für vectoren Datenbanken (lokal und extern) und allgemeine Verarbeitung.n8n es aktuell eines der flexibelsten workflowtools, was auch selbstbgehostet werden kann.
                        Make und zapier sind beide cloud gebunden
                        Flowise au habe ich in einer früheren Version mal getestet, war da noch nicht so umfangreich und flexibel.

                        Ach und n8n kann natürlich auch mcp und ist ein deutsches Unternehmen.

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        736
                        Online

                        32.0k
                        Users

                        80.4k
                        Topics

                        1.3m
                        Posts

                        4
                        10
                        101
                        Loading More Posts
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes
                        Reply
                        • Reply as topic
                        Log in to reply
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                        The ioBroker Community 2014-2023
                        logo