การใช้ CHATGPT กับ Node js

Mar 16 2023
ChatGPT คืออะไร : ChatGPT เป็นแชทบอทปัญญาประดิษฐ์ที่พัฒนาโดย OpenAI และเปิดตัวในเดือนพฤศจิกายน 2565 สร้างขึ้นบนโมเดลภาษาขนาดใหญ่ในตระกูล GPT-3 ของ OpenAI และได้รับการปรับแต่งอย่างละเอียดโดยใช้ทั้งวิธีการเรียนรู้ของเครื่องภายใต้การดูแลซึ่งการฝึกอบรม ข้อมูลมีรหัสคำตอบอยู่ด้วย ดังนั้นโมเดลจึงได้รับการฝึกฝนด้วยคำตอบที่ถูกต้อง ] และการเสริมกำลัง [ วิธีการเรียนรู้ของเครื่องที่ตัวแทนอัจฉริยะ (โปรแกรมคอมพิวเตอร์) โต้ตอบกับสภาพแวดล้อมและเรียนรู้ที่จะกระทำภายในนั้น ] เทคนิคการเรียนรู้

ChatGPT คืออะไร :

ChatGPT เป็นแชทบ็อตปัญญาประดิษฐ์ที่พัฒนาโดย OpenAI และเปิดตัวในเดือนพฤศจิกายน 2565 สร้างขึ้นบนโมเดลภาษาขนาดใหญ่ในตระกูล GPT-3 ของ OpenAI และได้รับการปรับแต่งอย่างละเอียดโดยใช้ทั้งวิธีการเรียนรู้ของเครื่องภายใต้การดูแล ซึ่งข้อมูลการฝึกอบรมมีคำตอบ คีย์ด้วยเพื่อให้โมเดลได้รับการฝึกฝนด้วยคำตอบที่ถูกต้อง ] และการเสริมกำลัง [ วิธีการเรียนรู้ของเครื่องที่ตัวแทนอัจฉริยะ (โปรแกรมคอมพิวเตอร์) โต้ตอบกับสภาพแวดล้อมและเรียนรู้ที่จะกระทำภายในนั้น ] เทคนิคการเรียนรู้

พูดง่ายๆ ว่า “ChatGPT เป็นแชทบอทที่แชทกับผู้ใช้ด้วยภาษามนุษย์”

นำไปใช้ในแอปพลิเคชัน Node js

หากต้องการใช้ ChatGPT ในแอปพลิเค ชันโหนด js เราจะใช้OpenAI apis สำหรับการใช้ openAI apis เราจำเป็นต้องได้รับคีย์ API จาก openAI และใช้ไลบรารีไคลเอนต์ API เช่น openai npm package เพื่อส่งคำขอไปยัง API จากแอปพลิเคชัน node js ของเรา

รับรหัส API จากเว็บไซต์ OpenAI:

ไปที่เว็บไซต์ openAI ( https://openai.com/ )และหลังจากสมัครใช้งาน ให้ค้นหาส่วน "API" ในการตั้งค่าบัญชีของคุณ และสร้างรหัส API อย่าลืมเก็บรหัส API ของคุณเป็นความลับและปลอดภัย

สร้างแอปพลิเคชันโหนดพื้นฐาน :

ไปที่เทอร์มินัลก่อนและสร้างโครงการโดยใช้

mkdir chatgpt-nodeproject
cd chatgpt-nodeproject
code .

npm init -y
npm install express openai dotenv 
touch server.js
touch .env
touch config.js

PORT=5003
OPEN_AI_KEY="PASTE YOUR API KEY HERE"

require('dotenv').config({ debug: process.env.DEBUG });

let cfg = { 
        port: process.env.PORT,
        openaikey:process.env.OPEN_AI_KEY
     }

module.exports = {
        cfg
}

const express = require('express');
const config =  require("./config").cfg;
const app = express();
app.use(express.json());

app.listen(config.port, () => {
  console.log(`Example app listening at http://localhost:${config.port}`);
});

const { Configuration, OpenAIApi } = require("openai");
const configuration = new Configuration({
    apiKey: config.openaikey,
});
const openai = new OpenAIApi(configuration);

app.post("/find-complexity", async(req,res)=> {
    try{
        const {prompt} = req.body;
        const response = openai.createCompletion({
            model: "text-davinci-003",
            prompt: `${prompt} The complexity of this function is `, //{"prompt": "const example = (arr)=> { arr.map((item)=> { console.log(item)});}"}
          });
        return res.status(200).json({success:true,data:(await response).data.choices[0].text})
    }catch(error){console.log(error,"error....")}
})

const express = require('express');
const config =  require("./config").cfg;
const { Configuration, OpenAIApi } = require("openai");
const configuration = new Configuration({
    apiKey: config.openaikey,
});
const openai = new OpenAIApi(configuration);
const app = express();

app.use(express.json());

app.post("/factual-answering", async(req,res)=> { 
    try{
        const {prompt} = req.body;
        const response = await openai.createCompletion({
            model: "text-davinci-003",
            prompt: `${prompt}`, // {"prompt": "Q: Pros and cons of callback and Promise\nA:"}
            max_tokens: 100,
          });
        return res.status(200).json({success:true,data:(await response).data.choices[0].text})
    }catch(error){console.log(error,"error....")}
})
  
app.post("/find-complexity", async(req,res)=> {
    try{
        const {prompt} = req.body;
        const response = openai.createCompletion({
            model: "text-davinci-003",
            prompt: `${prompt} The complexity of this function is `, //{"prompt": "const example = (arr)=> { arr.map((item)=> { console.log(item)});}"}
          });
        return res.status(200).json({success:true,data:(await response).data.choices[0].text})
    }catch(error){console.log(error,"error....")}
})

app.post("/imageGenerator-from-text", async(req,res)=> {
    try{
        const {prompt} = req.body;
        const response = await openai.createImage({
            prompt: `${prompt}`, //{"prompt": "kasoli in winter"}
            n: 2, // number of images to create
            size: "1024x1024",
          });          
        return res.status(200).json({success:true,data:(await response).data})
    }catch(error){console.log(error,"error....")}
})

app.post("/interview-questions", async(req,res)=> {
    try{
        const {prompt} = req.body;
        const response = await openai.createCompletion({
            model: "text-davinci-003",
            prompt: `${prompt}`,//{  "prompt": "Create a list of 8 questions for interview in MERN:"}
            max_tokens : 150
        });

    return res.status(200).json({success:true,data:(await response).data.choices[0].text})
    }catch(error){console.log(error,"error....")}
})

app.listen(config.port, () => {
  console.log(`Example app listening at http://localhost:${config.port}`);
});

ไปที่บุรุษไปรษณีย์และกดคำขอ POST “http://localhost:5003/factual-answering”

คุณยังสามารถโคลน repo ของฉัน “ https://github.com/aditiipriya/chatgptImplementation ”

หวังว่ามันจะช่วย .. ขอบคุณ !! :)