LLM (Large Language Model) und das Smarthome - wäre das nicht schön?

Hallo Gemeinde,

ChatGPT war der Hype diesen Jahres. Deshalb mal eine Frage in die Runde: Wäre es nicht schön, LLM´s für ein Smarthome zu nutzen ?

Ich denke, man braucht ein Basisprogramm, welches die LLM enthält und Kontext-bezogen Befehle senden kann. Unter Python experimentiere ich mit LLAMA 2 und Langchain um über ein Tool solche Befehle zu erstellen. Diese sollen dann über einen Webhook an IP-Symcon gesendet werden, welches dann auf diese reagiert.

Verrückt, nicht machbar, gefährlich ?

Viele Grüße

André

@Paresy: ich habe längere Zeit keine Threads mehr erstellt. Mir fehlt ein wenig die Vorschaufunktion, die ich früher anklicken konnte, um die Formatierung und eventuelle Fehler noch anpassen zu können. Beim wiederholten aufrufen/bearbeiten gibt es die jedoch noch.

Die Vorschau siehst du doch recht im Browser, inkl. Icons :slight_smile: oder Bildern.

oder was meinst du?

Sieht bei mir im Browser und der Android App für das Forum sehr ähnlich aus.

Hallo Ralf,

jein. Ich habe es nochmal nachgestellt. Für antworten bzw. bearbeiten trifft das für mich unter Chrome auch zu. Beim Thread erstellen habe ich aber nur Vorschläge zu ähnlichen Themen rechts:

VG André

Nachtrag: Sorry, hab´s gefunden - das kann man wegklicken. Gedanke: Vielleicht kann sich das Fenster automatisch beim Wechsel in die Texteingabe schließen.

Dennoch: wie sieht die Gemeinde ein KI-gesteuertes Smarthome ?

Was würdest du denn mit dem LLM erreichen wollen? Per API habe ich schon GPT4 angebunden, also ihr meinen Objektbaum „gegeben“ und dann Befehle auswerten lassen… also sowas wie „Ich möchte alle Lampen im Erdgeschoss ausschalten, gib mir die IDs der Geräte“ z.B., sowas kann er beantworten „out-of-the-box“ .

Ich habe vor Jahren schon mal eine App gebaut die per Spracherkennung und natürlicher Sprache IPS bedienen konnte, aber ohne selber ein Hotword integrieren zu können machte es als Assistent keinen Sinn, seit dem liegt es irgendwo auf der Platte

Ja, im ersten Ansatz genau so etwas. Für mich schließe ich jedoch ein Anbinden an GPT4 aus. Es muss lokal sein. LLAMA 2 in Q4 bekommt man auf einem lokalen Rechner lauffähig (hier testweise ein LLAMA 2 70b), so dass alles im eigenen Netzwerk bleiben kann.

Anwendungen sehe ich auch in Reaktion auf bestimmte Situationen oder Erlernen von Vorlieben.

VG André

Die „Vorhersage“ habe ich schon vor 3 Jahren mal probiert, als ML aufkam, aber hab dann festgestellt, dass alles was vorhersagbar war eh in Scenen oder Scripten schon abgebildet ist. Den größten Vorteil sehe ich in „freier“ Text/aka Spracheingabe und die Übersetzung in Befehle, aber dafür müssten die Sprachassistenten also Google Alexa eine Einbindung ermöglichen, denn wenn man ehrlich ist haben sie die einzigen brauchbaren Spracherkennungen, lokal läuft alles Mist.

Du hast Recht, dennoch schaue ich mir späterhin jedoch auch mal SpeechRecognition an. Whisper scheint leider auch eine API zu OpenAI zu sein. Gesehen habe ich auch mal eine Wandlung Audio zu Spektren also Bild und dann eine Auswertung über ein trainiertes CNN.

Wie hast Du GPT4 eingebunden ? Lokal finde ich es schwierig erst einmal die richtigen Templates zu erstellen, aber vielleicht kann man da Ideen generieren.

Es ist auf jeden Fall unglaublich interessant, wenn man im Debug-Modus die „Gedanken“ liest. Als Ansatz habe ich ein paar LangChain Tools erstellt. Wie man sieht sind hier primär Fragestellungen nach aktuellen Wissen enthalten und geplant dann auch die Sichtung eigener Dokumente. Das hat letztlich nichts mit Smarthome zu tun, aber letzteres wäre eben Nebenprodukt (SendPost).

tools = [
    Tool(
        name='Time',
        func=GetCurrentTime.run,
        #func=actual_time.run,
        description='useful for getting date and time'
    ),
    #Tool(
    #    name="SerperSearch",
    #    func=serper_search.run,
    #    description="useful for when you need to answer questions about everything you does not know"
    #),
    Tool(
        name="GoogleSearch",
        func=google_search.run,
        description="useful for when you need to answer general questions or current events. You should ask targeted questions"
    ),
    Tool(
        name="Wikipedia",
        func=wikipedia.run,
        description="useful when you need an answer about encyclopedic general knowledge"
    ),
    Tool(
        name='PubMed',
        func=pubmed.run,
        description='useful only for querying medical publications'
    ),
    #IFTTTWebhook(
    #    name="Spotify", 
    #    description="Play a song from spotify playlist", 
    #    url=url
    #),
    Tool(
        name='SendPost',
        func=send_post_to_server.run,
        description="useful only for switching devices. Input should be a json string with the keys: 'source':'AI', room, device, action."
    )
]

Gruß André