-
Notifications
You must be signed in to change notification settings - Fork 36
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chatGPT Adapter #834
Comments
Also... alle Fragen wurden von ChatGPT selbst beantwortet :-D - ich finde das Ding echt Klasse - dann habe ich noch gefragt: Wofür könnte man ChatGPT in der Hausautomatisierung nutzen? Und sie antwortete: ChatGPT kann in verschiedenen Szenarien für die Hausautomatisierung nützlich sein. Hier sind einige Beispiele:
Beachten Sie jedoch, dass die Nutzung von ChatGPT in einer Hausautomatisierungsumgebung den Datenschutz und die Datensicherheit berücksichtigen sollte, um die Privatsphäre der Benutzer und die Sicherheit ihrer Daten zu gewährleisten. Auf die Frage wie ich sie in ioBroker einbinden könnte: Als KI-Textmodell kann ich Ihnen beim Entwerfen eines Adapters für ioBroker helfen, der meine API integriert. Allerdings kann ich nicht direkt den Code für Sie schreiben. Hier ist eine grobe Anleitung, wie Sie mit der Integration beginnen können:
const openai = require('openai');
openai.apiKey = 'YOUR_API_KEY';
async function generateResponse(prompt) {
try {
const result = await openai.Completion.create({
engine: 'text-davinci-002',
prompt: prompt,
max_tokens: 50,
n: 1,
stop: null,
temperature: 0.5,
});
const response = result.choices[0].text.trim();
return response;
} catch (error) {
console.error('Error generating response:', error);
return null;
}
}
Denken Sie daran, dass dies nur eine grundlegende Anleitung ist und Sie möglicherweise zusätzliche Anpassungen vornehmen müssen, um die API vollständig in Ihren ioBroker-Adapter zu integrieren. |
chatGPT ist genial. Ich lass mir von ihr meine ganzen Werbetexte schreiben. |
Ich habe mal mit wenig Aufwand ein Script geschrieben, das das was man Alexa gesagt hat in einen Datenpunkt schreibt. Der wiederum wird an ChatGPT gegeben und die Antwort über den Alexa2 Adapter ausgegeben und von Alexa gesprochen. So kann man über die Echo-Dots mit ChatGPT reden. |
Poste den doch mal - wäre doch sicher ein Anfang!;-) |
Kann ich machen. Bin aber jetzt grad auf dem Weg nach Kroatien. Wenn ich aus dem Urlaub zurück komme kann ich die relevanten stellen posten. Der gesamte code ist glaub ich zu spezifisch... |
Cool danke. |
So. Hier bin ich wieder. Urlaub vorbei
Hier kann man dann die gesprochenen Texte (also das was rlevant ist) aus dem JSON rauslesen.
Den Datenpunkt mit der Frage an OpenAi trigger ich so
Die Funktion zum Ausgabe der Sprache hab hier hier nicht, weil die ziemlich kompliziert ist beim mir. Im Grund müßt ihr abe rnur den Datenpunkt "alexa2.0.Echo-Devices..Commands.speak" beschreiben |
Super probiere ich bei Zeiten mal aus |
Adernapf
läuft! Spitze danke! |
Super Idee. Das könnte ich auch noch erweitern |
Wie hast du das Problem gelöst dass die Antworten so lang sind dass Alexa sie dann nicht ausgibt? Die Anfrage auf 30 Wörter begrenzt? Oder Nachricht aufgeteilt? |
Moin! Was mich verwirrt ist die Qualität der Ausgabe, z.T. meiner Ansicht nach komplett irre und nicht so, wie ich es aus dem ChatGPT per Browser kenne. Z.B. "Formuliere eine Ansage zu den folgenden Temperaturen: Außen 28°, Küche 25°, Garage 22°" ergibt eine gute, ordentlich formulierte Ansage (abgesehen davon, dass sie bei mir mit Punkt und Leerzeile beginnt). Dann versuchte ich es mit "Außentemperatur 28°" (ahnend, dass das Ergebnis nicht toll sein wird und eher aus einer Rückfrage besteht), und es kam ein langer Text, in dem Firmennamen, Rohrdurchmesser, T-Shirt-Größen und -Beschreibungen und technische Daten eines Fire TV vorkamen. Jedenfalls nichts, was irgendwie sinnreich zu gebrauchen wäre. Wo liegt das (mein) Problem? |
Hallo! Wie lang geht denn die Aussage dann? Äh ja bei mir kam nur Müll in der Abfrage raus, ich hab es mir komplett neu gemacht und nun gehts gut 🤣 |
ich hab jetzt nicht die Worte gezählt, aber sie hat schon eine Minute geredet… SSML ist eh interessant, weil man dort auch Geschwindigkeit, Tonlage usw. beeinflussen kann. |
Ich hab mir nen eigenen chatgpt Skript gemacht und da kommt jetzt kein Unsinn mehr raus |
oh… magst du das hier teilen? |
ich habe einen Datenpunkt mit frage und Antwort; vergiss nicht den api code! wenn du bei Message unten das hier einträgst: dann kriegst du einen geilen Rapper, der dir antwortet xD habe ich von dem Video CT3003 übernommen. ist sehr lustig, habe ich bei einem freund so eingerichtet:) const axios = require('axios'); let chatHistory = []; // Variable zum Speichern des Chatverlaufs on({id: QUESTION_DP_ID, change: "ne"}, function (obj) { let lastRequestTime = getState(LAST_INFO).val; // Funktion zum Löschen des Chatverlaufs const MAX_INACTIVE_TIME = 2 * 60 * 1000; // 2 Minuten in Millisekunden // Funktion zum Prüfen und Löschen des Chatverlaufs bei Inaktivität if (currentTime - lastRequestTimeNum > MAX_INACTIVE_TIME) { } async function sendChatGPTRequest(message) { // Überprüfe und lösche den Chatverlauf bei Inaktivität
} catch (error) { // Beispielanfrage an die Chat API sendChatGPTRequest(question) }); // Ende ON |
sehr vielen Dank! Werde ich die Tage ausprobieren. Die Begrenzung der Ausgabe finde ich auch sehr gut, damit ein verbaler Amoklauf vom ChatGPT nicht teuer wird. PS: bei mir gehen mit speak nur 27 Wörter… hängt evtl. noch von was anderem ab. Und: im Gegensatz zu speak werden Ausgaben bei ssml hintereinandergehängt, es wird also nicht die erste Ausgabe abgebrochen. |
ah klingt gut! ich habs jetzt auf 100 begrenzt und werde es testen! ich danke dir auch für den coolen Hinweis! |
Ich glaube wenn man in den Text den man an den Datenpunkt speak gibt alle 256 Zeichen einen ";" einbaut kann man auch längere Text ansagen lassen. Ich hab mir da eine Funkiton von ChtGPT prorammieren lassen die diese Semikolon in einen langen Text einbaut:
Gruss Ralf |
Inzwischen sind bei mir die Quotas ausgelaufen. Habt ihr das was gekauft? Wenn ja welches Modell? |
hello everyone, have you made any progress with the instance for iobroker? i've got the chatgpt voice assistant working so far but it would be cool if there was an instance to link it to. greetings |
Wie ist der Status dieses Projektes? Wird es irgendwann einen GPT4-Adapter geben, der auch Zugriff auf den Objektbaum hat? Er sollte ja selbst z.B. alle Hue-Lampen erkennen und auf die Anweisung „mach mal Party!“ die Lichter sinnvoll steuern. |
In der letzten Release vom JavaScript Adapter gibt es eine chatgpt Implementierung |
Sorry die Frage aber was heißt das konkret? Lg |
Ich habe gefunden, was DutchmanNL meinte: https://www.youtube.com/watch?v=OigIpE3Aez0 Das hat aber nichts mit der Idee hier zu tun, das ist nur ein integrierter Javascript-Code-Generator für die Skripte. |
Bitte beim Thema bleiben. Dinge die nicht in Zusammenhang mit einem ioBroker chatGPT Adapter stehen bitte woanders diskutieren. Das Topic wird sonst unnötig groß. |
Das habe ich ja genau erklärt in meinen Kommentar, dass der Hinweis von DutchmannNL eben off-topic war. Du hast den falschen Kommentar off-topic markiert. |
GPT4 Turbo wurde gerade vorgestellt: https://www.youtube.com/live/U9mJuUkhUzk Das hat viele Erweiterungen die für einen ioBroker-GPT4-Adapter hilfreich sind, wie grösserer Kontext (128k), json-Response und multiple functions calling, custom GPTs usw. Neu kann man direkt custom GPTs und Assistenten generieren, die dann den Kontext selbst behalten, er also nicht immer mitgeschickt werden muss. Eigentlich ideal für einen ioBroker-Adapter. Die Implementierung sollte nicht zu komplex sein. Die Anfrage per Alexa entgegen nehmen, einen komprimierten Objektbaum als Kontext mitschicken und die Property-Änderungen per json zurückerhalten. |
Sollte man nicht schon frühzeitig auch im Hinterkopf haben, LocalAI mit einzubeziehen? Meines Wissens nach ist die API identisch. |
Hey Leute, hat sich nun schon jemand die Mühe gemacht, aus den ganzen prachtvollen Ideen einen Adapter zu machen? Wäre schon nice. :-) |
Hallo, alles tolle Ideen hier :-) würde gerne auch eine llm integration in iObroker haben um gewisse abläufe zu automatisieren und intelligenter zu machen. schaut Euch mal bitte an, wie Salesforce dies für use cases im Marketing, Sales und Service umsetzt: https://help.salesforce.com/s/articleView?id=sf.generative_ai_trust_arch.htm&type=5 um das problem von @ELK169 oben zu lösen kann man im prompt template dann auch anweisungen geben, wie lang der ausgabetext werden kann im prompt template auch eine token obergrenze für die Antwort eingestellt werden. also wenn sich jemand an die STruktur eines solchen Adapters macht. dann wäre es super wenn man einige der bei Salesforce verfügbaren dinge mit einbaut. (ob man jetzt ausgereifte Toxicity detection oder audit trail braucht sei dahin gestellt.). Aber evtl. ein Masking/ Demasking mechanismus, so dass man den namen seiner Datenpunkte und geräte nicht dem LLM verraten muss und diese trotzdem auf der Return journey wieder spezifisch angesprochen werden können. a la: und was natürlich schön wäre, wenn man im Adapter konfigurieren könnte zu welchem LLM man sich verbindet. das wär a traum. was meint ihr dazu? |
Ja, das klingt doch schon sehr detailliert ;-) |
Bin gerade über diesen Request gestolpert, vielleicht ist der AI Toolbox Adapter ganz interessant für die genannten Anwendungsfälle! |
@ToGe3688 Definitiv. Danke für den Adapter! Jetzt müsste man ein wenig Brainstorming machen, wie man z.B. Datenpunkte sinnvoll übergibt und KI dann nach "Dingen" fragt oder gleich die Steuerung einzelner Zustände "delegiert". Viele Möglichkeiten. Könnte sehr spannend werden! |
Was ich super fände (wenn es denn umsetzbar wäre) wäre nicht nur ein reines LLM, sondern auch die Möglichkeit zu schaffen, dass IOBroker selbst "lernen" kann. Ich hab bis heute keinen vernüftigen Algorithmus gefunden der das Wohnzimmer mit dem Rolladen und/oder der vorgelagerten Pergola im Sommer richtig beschattet. Man macht ja ohne Smart-Home immer dann die Rolläden runter wenn es einem zu warm vorkommt oder zu hell oder... Ich hab ein Script das die Markise und Rolläden abhängig von Innen- Aussentemperatur, Stärke der Sonneneinstahlung, Jahreszeit, Helligkeit usw. steuert (im Herbst macht man z.B. bei ähnlichen Bedingungen den Rolladen eher nicht runter usw.) das aber nur ungenügend funktioniert. |
@derrapf Ja, das könnte irgendwann vielleicht das Endziel sein ;-) |
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
Der "Adapter" ist in KEINEM Repositoty. Der ist daher sls PRE-ALPHA zu klassizifizieren. Von einer Installation auf Pruktionssydtemen ist daher derzeit abzuraten Da es bisher kein Aufnahme in die Repositories gibt kann es auch keu e STABLE Release gevennund auch keinen vernünfrigen Link auf eibe stable Release. Dieses Repo duent nur zur Erfassung v Wünschen / Bedarf und Informationsaustausch zu APIs o.ä. Allfällige Probleme mit einem konkrten Adapter bitte als Issurs im Adapter Repository festhalten bzw. besprechen. Das ist hier eher offtopic. Alternativ steht das Forum für Diskussionen zur Verfügung. |
Ja, sehe ich auch so wie @mcm1957 Die Frage wäre ja, ob besagter Adapter in diese "Richtung" geht oder eher das Bedürfnis nach einer besseren Alexa bedient. Letzteres klappt auf jeden Fall schon sehr gut. |
Ich habe einen weiteren Adapter programmiert der jetzt in die Richtung eines "allgemeinen" Assistenten für ioBroker geht. Auch wieder erstmal im Alpha Status zum testen! Siehe https://github.com/ToGe3688/ioBroker.ai-assistant |
What kind of device or service would you like to see an adapter for?
An adapter for ChatGPT, OpenAI's large-scale AI language model. ChatGPT can be used to generate human-like text responses based on given input prompts. More information can be found at https://beta.openai.com/docs/api-reference/introduction.
Is the device connected to the internet or only available on a local network?
The ChatGPT service is connected to the internet and requires an internet connection to access the API.
Is an official App or Website available?
There is no official app, but the API documentation is available on the OpenAI website: https://beta.openai.com/docs/api-reference/introduction.
Is an official API including documentation available?
Yes, the official API documentation is available here: https://beta.openai.com/docs/api-reference/introduction.
Are other libraries for an integration available?
There is an official openai npm package for JavaScript, which can be found here: https://www.npmjs.com/package/openai. Other unofficial libraries may also be available for different programming languages, but the official JavaScript package is recommended for ioBroker integration.
Is this device already integrated in other Smart Home systems?
As ChatGPT is an AI language model and not a device, it is not natively integrated into other Smart Home systems. However, developers can create custom integrations for their specific use cases.
Is this device already integrated in homebridge? Might the ham adapter in combination with the homebridge plugin be sufficient?
ChatGPT is not directly integrated with homebridge. However, you may be able to create a custom homebridge plugin to access the ChatGPT API and use the ham adapter in combination with that plugin.
Additional context
Integrating ChatGPT with ioBroker would enable users to generate AI-generated responses based on various input prompts, which could be useful for automating tasks, providing information, or creating more interactive experiences within the ioBroker environment.
The text was updated successfully, but these errors were encountered: