Generell kann ich euch allen nur empfehlen, legt euch bei openai oder openrouter oder bei anderen KI Instanzen einen TestAccount/API Account an. Openrouter ist kostenlos bei vielen KI Modellen. Allerdings habe ich meine besten Ergebnise mit GTP-4 bei OpenAI bekommen, ist allerdings kostenpflichtig und wird pro Anfrage abgerechnet.
Wenn ihr dort mal einen Account habt, dann macht den Chat auf.
Schickt die Beschreibung zum Chat - die Beispielanfrage und die Beispielantwort.
Und dann spielt euch mit dem Chatbot herum. Das hilft im Normalfall die KI besser zu verstehen und zu bedienen.
Jedes Werkzeug das man im Adapter anlegt hat ein Text_request und ein Text_response als Objekt. Ähnlich wie ein KI Chat. Thats it.
Ich habe mittlerweile ein Werkzeug angelegt um meine Heizkurve zu steuern. Das bedeutet - je nach Wettervorhersage und Daten der Bewölkung (bei viel Sonne muss ich viel weniger heizen in meinem Haus, weil wir viel Fensterfläche Richtung Süden haben) meine Heizkurve jeden Tag bevor die Heizung startet anhand der Prognose zwischen einer bestimmten Range 0,3-0,5 angepasst wird.
Folgende Beschreibung habe ich da der KI zum Beispiel gegeben.
@oxident
Mit dem AI Adapter gibst du ja der KI zunächst die Beschreibung was die KI tun soll, dann eine Beispielanfrage und eine Beispielantwort. Siehe Screenshot unterhalb.
Danach muss man über ein Javascript dem Adapter für das jeweilige Modell die Daten übermitteln - sprich das muss gleich sein wie die Beispielanfrage.
In meinem Fall ein Javascript das so aussieht:
var day = new Date().toLocaleString();
var cloudCover = getState('weatherunderground.0.forecast.0d.cloudCover').val;
var rlf = getState('javascript.0.Wetterstation.Aussenfeuchtigkeit').val;
var pressure = getState('javascript.0.Wetterstation.Druck_absolut').val;
var rain = getState('javascript.0.Wetterstation.Regen_Stunde').val;
var temp = getState('mqtt.0.ebusd.700.DisplayedOutsideTemp').val;
var wind = getState('javascript.0.Wetterstation.Wind').val;
var trend = getState('javascript.0.Wetterstation.Wetter_Trend').val;
var tempmax = getState('weatherunderground.0.forecast.0d.tempMax').val;
var sonnenstrahlung = getState('javascript.0.Wetterstation.Sonnenstrahlung').val;
var message = 'Aktuelles Datum und Uhrzeit ' + day + '. Wetterdaten: Temperatur ' + temp + '°C, ' + 'Vorhersage Tageshöchstemperatur' + tempmax + '°C, ' + 'Luftfeuchtigkeit ' + rlf + '%, ' + 'Wolkendecke ' + cloudCover + '%, ' + 'Wind ' + wind + 'kmh, ' + 'Regenmenge pro Stunde ' + rain + 'mm, ' + 'Sonnenstrahlung ' + sonnenstrahlung + +'W/m2, ' + 'Trend: ' + trend +'.';
sendTo('ai-toolbox.0', 'tool_request', {
'tool': 'weather-reporter',
'text': message,
}, async (result) => {
log(result);
});
Dann hab ich ein Blockly gebaut, dass mir 2 mal täglich das Javascript auslöst und mir das Ergebnis des AI Adapters und des jeweiligen Modells (Objekt Text-Response) per Push Nachricht auf mein Smartphone schickt.