Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. OpenAI Coding

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.2k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    736

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.0k

OpenAI Coding

Geplant Angeheftet Gesperrt Verschoben JavaScript
2 Beiträge 1 Kommentatoren 550 Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • Christoph1337C Offline
    Christoph1337C Offline
    Christoph1337
    schrieb am zuletzt editiert von
    #1

    Ich habe heute mal mit OpenAI gespielt. Selber kann ich nicht JavaScript programmieren. Also haben ich OpenAI nach einem Script gefragt, welches mir ermöglicht Anfragen an OpenAI zu senden und diese in je einem DP für Frage und Antwort zu bekommen.

    Aktuell sieht das Script dazu so aus:

    const ACCESS_TOKEN = "API-TOKEN";
    const MODEL_ID = "davinci";
    const QUESTION_DP_ID = "0_userdata.0.GlobalVars.OpenAIQuestion";
    const ANSWER_DP_ID = "0_userdata.0.GlobalVars.OpenAIAnswer";
    
    const http = require('http');
    
    on({id: QUESTION_DP_ID, change: "ne"}, function (obj) {
      // Hole den aktuellen Wert des Datenpunkts für die Frage
      const question = getState(QUESTION_DP_ID).val;
      console.log(`Frage: ${question}`);
    
      // Setze den Wert des Datenpunkts für die Antwort auf "keine Antwort verfügbar"
      setState(ANSWER_DP_ID, "keine Antwort verfügbar");
    
      // Erstelle die HTTP-POST-Optionen
      const options = {
        host: 'api.openai.com',
        path: '/v1/completions',
        method: 'POST',
        headers: {
          'Content-Type': 'application/json',
          'Authorization': `Bearer ${ACCESS_TOKEN}`
        }
      };
    
      // Erstelle den HTTP-POST-Request
      const req = http.request(options, (res) => {
        console.log(`Status: ${res.statusCode}`);
        console.log(`Headers: ${JSON.stringify(res.headers)}`);
        res.setEncoding('utf8');
        let responseData = '';
        res.on('data', (chunk) => {
          responseData += chunk;
        });
        res.on('end', () => {
          console.log(`Antwort: ${responseData}`);
          const responseJson = JSON.parse(responseData);
          if (responseJson.hasOwnProperty('choices')) {
            const answer = responseJson.choices[0].text;
            // Setze den Wert des Datenpunkts für die Antwort auf die erste Antwort
            setState(ANSWER_DP_ID, answer);
          }
        });
      });
    
      req.on('error', (e) => {
        console.error(`Problem mit dem Request: ${e.message}`);
      });
    
      // Sende den HTTP-POST-Request
      req.write(JSON.stringify({
        "model": MODEL_ID,
        "prompt": question,
        "max_tokens": 128
      }));
      req.end();
    });
    
    

    Ich hab keine Ahnung ob der Code Sinn ergibt. Leider konnte ich ihn bis jetzt nicht zum laufen bringen, da immer irgendwelche Module zu Fehlern geführt haben. OpenAI hat hier aber viele verschiedene Scripte generiert und versucht Hilfestellung zu leisten. Schon gruselig der Kram.

    Vielleicht hat ja jemand von euch eine Idee wie man so ein Script bauen könnte. Da gibt es sicher spannende SPielereien für.

    Christoph1337C 1 Antwort Letzte Antwort
    0
    • Christoph1337C Christoph1337

      Ich habe heute mal mit OpenAI gespielt. Selber kann ich nicht JavaScript programmieren. Also haben ich OpenAI nach einem Script gefragt, welches mir ermöglicht Anfragen an OpenAI zu senden und diese in je einem DP für Frage und Antwort zu bekommen.

      Aktuell sieht das Script dazu so aus:

      const ACCESS_TOKEN = "API-TOKEN";
      const MODEL_ID = "davinci";
      const QUESTION_DP_ID = "0_userdata.0.GlobalVars.OpenAIQuestion";
      const ANSWER_DP_ID = "0_userdata.0.GlobalVars.OpenAIAnswer";
      
      const http = require('http');
      
      on({id: QUESTION_DP_ID, change: "ne"}, function (obj) {
        // Hole den aktuellen Wert des Datenpunkts für die Frage
        const question = getState(QUESTION_DP_ID).val;
        console.log(`Frage: ${question}`);
      
        // Setze den Wert des Datenpunkts für die Antwort auf "keine Antwort verfügbar"
        setState(ANSWER_DP_ID, "keine Antwort verfügbar");
      
        // Erstelle die HTTP-POST-Optionen
        const options = {
          host: 'api.openai.com',
          path: '/v1/completions',
          method: 'POST',
          headers: {
            'Content-Type': 'application/json',
            'Authorization': `Bearer ${ACCESS_TOKEN}`
          }
        };
      
        // Erstelle den HTTP-POST-Request
        const req = http.request(options, (res) => {
          console.log(`Status: ${res.statusCode}`);
          console.log(`Headers: ${JSON.stringify(res.headers)}`);
          res.setEncoding('utf8');
          let responseData = '';
          res.on('data', (chunk) => {
            responseData += chunk;
          });
          res.on('end', () => {
            console.log(`Antwort: ${responseData}`);
            const responseJson = JSON.parse(responseData);
            if (responseJson.hasOwnProperty('choices')) {
              const answer = responseJson.choices[0].text;
              // Setze den Wert des Datenpunkts für die Antwort auf die erste Antwort
              setState(ANSWER_DP_ID, answer);
            }
          });
        });
      
        req.on('error', (e) => {
          console.error(`Problem mit dem Request: ${e.message}`);
        });
      
        // Sende den HTTP-POST-Request
        req.write(JSON.stringify({
          "model": MODEL_ID,
          "prompt": question,
          "max_tokens": 128
        }));
        req.end();
      });
      
      

      Ich hab keine Ahnung ob der Code Sinn ergibt. Leider konnte ich ihn bis jetzt nicht zum laufen bringen, da immer irgendwelche Module zu Fehlern geführt haben. OpenAI hat hier aber viele verschiedene Scripte generiert und versucht Hilfestellung zu leisten. Schon gruselig der Kram.

      Vielleicht hat ja jemand von euch eine Idee wie man so ein Script bauen könnte. Da gibt es sicher spannende SPielereien für.

      Christoph1337C Offline
      Christoph1337C Offline
      Christoph1337
      schrieb am zuletzt editiert von
      #2

      nach ein paar weiteren fragen klappt das script nun :D ...

      const ACCESS_TOKEN = "token";
      const MODEL_ID = "text-davinci-002";
      const QUESTION_DP_ID = "0_userdata.0.GlobalVars.OpenAIQuestion";
      const ANSWER_DP_ID = "0_userdata.0.GlobalVars.OpenAIAnswer";
      
      const https = require('https');
      
      on({id: QUESTION_DP_ID, change: "ne"}, function (obj) {
        // Get the current value of the question datapoint
        const question = getState(QUESTION_DP_ID).val;
        console.log(`Question: ${question}`);
      
        // Set the value of the answer datapoint to "no answer available"
        setState(ANSWER_DP_ID, "no answer available");
      
        // Create the HTTP POST options
        const options = {
          host: 'api.openai.com',
          path: '/v1/completions',
          method: 'POST',
          headers: {
            'Content-Type': 'application/json',
            'Authorization': `Bearer ${ACCESS_TOKEN}`
          }
        };
      
        // Create the HTTP POST request
        const req = https.request(options, (res) => {
          console.log(`Status: ${res.statusCode}`);
          console.log(`Headers: ${JSON.stringify(res.headers)}`);
          res.setEncoding('utf8');
          let responseData = '';
          res.on('data', (chunk) => {
            responseData += chunk;
          });
          res.on('end', () => {
            console.log(`Answer: ${responseData}`);
            const responseJson = JSON.parse(responseData);
            if (responseJson.hasOwnProperty('choices')) {
              const answer = responseJson.choices[0].text;
              // Set the value of the answer datapoint to the first answer
              setState(ANSWER_DP_ID, answer);
            }
          });
        });
      
        req.on('error', (e) => {
          console.error(`Problem with request: ${e.message}`);
        });
      
        // Send the HTTP POST request
        req.write(JSON.stringify({
          "model": MODEL_ID,
          "prompt": question,
          "max_tokens": 128
        }));
        req.end();
      });
      
      
      1 Antwort Letzte Antwort
      0
      Antworten
      • In einem neuen Thema antworten
      Anmelden zum Antworten
      • Älteste zuerst
      • Neuste zuerst
      • Meiste Stimmen


      Support us

      ioBroker
      Community Adapters
      Donate

      703

      Online

      32.6k

      Benutzer

      82.0k

      Themen

      1.3m

      Beiträge
      Community
      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
      ioBroker Community 2014-2025
      logo
      • Anmelden

      • Du hast noch kein Konto? Registrieren

      • Anmelden oder registrieren, um zu suchen
      • Erster Beitrag
        Letzter Beitrag
      0
      • Home
      • Aktuell
      • Tags
      • Ungelesen 0
      • Kategorien
      • Unreplied
      • Beliebt
      • GitHub
      • Docu
      • Hilfe