habe gestern ein bisschen rumgespielt und lasse mir über Google Gemini ein Zitat des Tages (bzw. eher Zitat der Stunde) auf meinem Dashboard anzeigen. Wie habe ich das gemacht?
Google Generative AI unter Integrationen installiert, dann wie dort beschrieben einen API Key erstellt. Wollte es eigentlich erst mit ChatGPT machen, allerdings bietet Google kostenfreien Zugriff auf die API an.
Dann unter Sprachassistenten in den Einstellungen einen neuen Assistenten hinzugefügt.
Dann einen Input Helper erstellt, mit ausreichend Zeichen, hier 1000.
Automation erstellt. Sie wird immer um xx:05 ausgeführt, außer, der Nachtmodus ist an:
alias: KI Zitat des Tages
description: ""
triggers:
- trigger: time_pattern
minutes: "5"
conditions:
- condition: state
entity_id: input_boolean.nachtmodus
state: "off"
actions:
- action: conversation.process
metadata: {}
data:
agent_id: conversation.google_generative_ai
text: >-
Erstelle ein Zitat von einer realen Person, auf deutsch oder englisch.
Maximal 25 Worte, inkl angabe von wem es stammt. Ist die Muttersprache
des Zitierten deutsch, dann stelle das Zitat auf deutsch dar, ist sie
englisch, dann auf englisch. Alle anderen, als deutsch darstellen.
Erfinde nichts und halluziniere nicht.
response_variable: antwort
- delay:
hours: 0
minutes: 0
seconds: 10
milliseconds: 0
- action: input_text.set_value
metadata: {}
data:
value: "{{ antwort.response.speech.plain.speech }}"
target:
entity_id: input_text.zitat_des_tages
mode: single
Dann wie unter “text” einen guten Prompt erstellen und schon gehts los.
Den Text aus input_text.zitat_des_tages stelle ich dann auf dem Dashboard in einer Template Card dar.
Ich weiß, Spielerei, aber sind wir nicht alles Spielkinder? Ausserdem wollte ich mal ausprobieren, was so geht mit KI.
Viel Spaß beim Nachbauen - oder auch nicht.
LG
Edit: Habe den Code nochmal angepasst und eine Verzögerung 10 s eingebaut. Hatte festgestellt, dass scheinbar von Gemini nichts zurückkam und dann der Wert nicht neu geschrieben wurde.
Danke das cool, habe ich auch schon probiert so änhlich habe aber Fakt zum Heutigem Datum gemacht. Da alles andere sich häufig wiederholte. Wie ist es bei dir ?
Vielen Dank, dass du das mit uns teilst.
Ich wollte das übernehmen und anpassen. Aber an einer Stelle weiß ich nicht weiter.
HA meckert, er kennt
response_variable: antwort
bzw. “antwort” selbst nicht. Wo muss ich “antwort” definieren?
Nachtrag: Er meckert ja wegen dem Parameter “antwort”
Fehler beim Parsen von YAML: can not read a block mapping entry; a multiline key may not be an implicit key (Zeile: 19, Spalte: 22)
@johannes1984 Das ist bei mir hinter “response_variable:” Ich hatte deinen Code 1:1 übernommen und nur die Frage an die KI geändert. Nun weiß ich nicht, was die Meldung mir mitteilen möchte.
Nachtrag2: Die Fehlermeldung aus dem ersten Nachtrag kommt, wenn ich die Automation speichern möchte.
Ich habe es herausgefunden.
Der Text selbst war zwei Tabs nach links verschoben, so wie auch in deinem Bild. Kaum habe ich ihn eingerückt, gehts auch. Manchmal ist yaml aber auch sowas von pingelig.
Erstmal tolle Idee! Hab es direkt ausprobiert und immer ähnliche Antworten bekommen und immer was mit Schnecken Abhilfe schafft wenn man eine Conversation ID angibt. So erinnert sich der Agent an seine Antworten und gibt immer eine andere. Das Problem ist nur: nach einem Neustart vergisst er sie wieder und fängt von vorne an. Keine Ahnung wie man das beheben soll…
Das macht man hier. Die ID ist frei wählbar. Erwarte aber nicht zu viel, bei mir wiederholt er sich schon noch manchmal. Aber mit der Conversation ID ist es etwas besser geworden.