Browse Source

修复了一些bug

Pchen 1 year ago
parent
commit
a27b24b5e2

+ 14 - 10
API/ChatGPT.js

@@ -22,30 +22,34 @@ function getConfigValue(configName) {
 // 读取配置信息并设置相应的变量
 async function loadConfigValues() {
     try {
-        apiKey = await getConfigValue('apiKey')
-        apiUrl = await getConfigValue('apiUrl')
-        app_code = await getConfigValue('app_code')
-        model = await getConfigValue('model')
+        gpt_apiKey = await getConfigValue('apiKey')
+        gpt_apiUrl = await getConfigValue('apiUrl')
+        gpt_app_code = await getConfigValue('app_code')
+        gpt_model = await getConfigValue('model')
+        gpt_presets = await getConfigValue('presets')
     } catch (error) {
-        console.error('加载api接口设置失败!', error)
+        console.error('加载GPT接口设置失败!', error)
     }
 }
 
 // 调用函数加载配置信息
 loadConfigValues()
 
-
 async function getGPTMessage(message) {
     const requestData = {
-        app_code: app_code,
+        app_code: gpt_app_code,
         messages: [{ "role": "user", "content": message }],
-        model: model
+        model: gpt_model
+    }
+
+    if(gpt_presets) {
+        requestData.messages.unshift({ "role": "system", "content": gpt_presets })
     }
 
-    const token = "Bearer " + apiKey
+    const token = "Bearer " + gpt_apiKey
 
     try {
-        const responseData = await axios.post(apiUrl, requestData, {
+        const responseData = await axios.post(gpt_apiUrl, requestData, {
             headers: { 'Content-Type': 'application/json', Authorization: token }
         })
 

+ 9 - 6
API/tongyi.js

@@ -42,7 +42,6 @@ async function getTYMessage(message) {
         model: ty_model,
         input: {
             messages: [
-                { "role": "system", "content": ty_presets },
                 { "role": "user", "content": message }
             ],
         },
@@ -52,25 +51,29 @@ async function getTYMessage(message) {
         }
     }
 
+    if (ty_presets) {
+        requestData.input.messages.unshift({ "role": "system", "content": ty_presets })
+    }
+    
     const token = "Bearer " + ty_apiKey
 
     try {
         const responseData = await axios.post(ty_apiUrl, requestData, {
             headers: { 'Content-Type': 'application/json', Authorization: token }
-        })
+        });
 
-        const apiMessage = responseData.data.output.text
+        const apiMessage = responseData.data.output.text;
 
-        return apiMessage
+        return apiMessage;
     } catch (error) {
         console.error("向api接口发送请求时出现错误")
-        return error
+        return error;
     }
 }
 
 // 更新api设置到数据库
 function updateTYConfig(configName, configValue) {
-    const query = 'REPLACE INTO tongyiconfig (config, value) VALUES (?, ?)';
+    const query = 'REPLACE INTO tongyiconfig (config, value) VALUES (?, ?)'
     db.run(query, [configName, configValue], (err) => {
         if (err) {
             console.error('更新数据失败:', err);

+ 2 - 0
README.md

@@ -165,6 +165,8 @@ V2.0、V3.0和V3.5取值为[1,8192],默认为2048。
 
 **模型名称:**填写你想使用的模型的名称,如gpt-3.5-turbo。
 
+**预设内容:**填写你对机器人的设定和要求,填写越详细效果越好,但会增加token的使用量。
+
 
 
 #### 通义千问

File diff suppressed because it is too large
+ 0 - 0
public/css/app.eb900591.css


+ 1 - 1
public/index.html

@@ -1 +1 @@
-<!doctype html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="favicon.ico"><title>webbot</title><script defer="defer" src="js/chunk-vendors.310ecf7c.js"></script><script defer="defer" src="js/app.7570e8fa.js"></script><link href="css/chunk-vendors.0e83c255.css" rel="stylesheet"><link href="css/app.0388ddb0.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but webbot doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>
+<!doctype html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><title>WechatBot控制台</title><script defer="defer" src="js/chunk-vendors.310ecf7c.js"></script><script defer="defer" src="js/app.1fc89f61.js"></script><link href="css/chunk-vendors.0e83c255.css" rel="stylesheet"><link href="css/app.eb900591.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but webbot doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>

File diff suppressed because it is too large
+ 0 - 0
public/js/app.1fc89f61.js


File diff suppressed because it is too large
+ 0 - 0
public/js/app.1fc89f61.js.map


File diff suppressed because it is too large
+ 0 - 0
public/js/chunk-vendors.310ecf7c.js.map


+ 3 - 4
router.js

@@ -16,10 +16,8 @@ const {
     loadConfigValues
 } = require('./wechat/main')
 
-//sqlite数据库路径
-let sqliteDbPath = "./db/data.db"
 //打开数据库
-var db = new sqlite3.Database(sqliteDbPath)
+var db = new sqlite3.Database("./db/data.db")
 
 const router = express.Router()
 
@@ -213,12 +211,13 @@ router.post('/gettyconfig', async (req, res) => {
 })
 
 router.post('/gptconfig',async(req,res) => {
-    const { apiKey,apiUrl,app_code,model } = req.body
+    const { apiKey,apiUrl,app_code,model,presets } = req.body
     try {
         updateGPTConfig("apiKey", apiKey)
         updateGPTConfig("apiUrl", apiUrl)
         updateGPTConfig("app_code", app_code)
         updateGPTConfig("model",model)
+        updateGPTConfig("presets",presets)
         res.send({status: 200,msg: '设置成功!'})
     } catch (error) {
         res.send({status: 500, msg: '设置失败!'})

+ 1 - 4
wechat/main.js

@@ -3,12 +3,9 @@ const { getGPTMessage } = require('../API/ChatGPT')
 const { getXunfeiMessage } = require('../API/xunfei')
 const { getTYMessage } = require('../API/tongyi')
 const sqlite3 = require('sqlite3')
-const { response } = require("express")
 
-//sqlite数据库路径
-let sqliteDbPath = "./db/data.db"
 //打开数据库
-let db = new sqlite3.Database(sqliteDbPath)
+    let db = new sqlite3.Database("./db/data.db")
 
 const wechaty = WechatyBuilder.build()
 

Some files were not shown because too many files changed in this diff