LaiTool/src/main/setting/gptSetting.js

99 lines
2.9 KiB
JavaScript
Raw Normal View History

2024-07-13 15:44:13 +08:00
import path from 'path'
import os from 'os'
import { define } from '../../define/define'
2024-08-03 12:46:12 +08:00
import { errorMessage, successMessage } from '../Public/generalTools'
2024-07-13 15:44:13 +08:00
import axios from 'axios'
import { ServiceBase } from '../../define/db/service/serviceBase'
2024-08-03 12:46:12 +08:00
import { isEmpty } from 'lodash'
import { ValidateJson } from '../../define/Tools/validate'
2024-07-13 15:44:13 +08:00
export class GptSetting extends ServiceBase {
constructor() {
super()
axios.defaults.baseURL = define.serverUrl
}
/**
* 获取服务强上面的提示词相关的数据
*/
async InitServerGptOptions() {
try {
// 获取提示词类型数据
let promptRes = await axios.get('/api/Prompt/GetPromptType/100/1')
let promptType = promptRes.data.data
// 获取提示词数据
let prompt = await axios.get('/api/Prompt/GetPromptString/all/100/1')
let promptData = prompt.data.data
let gptOptions = {
promptType: promptType,
promptData: promptData
}
return successMessage(gptOptions, '请求成功', 'GptSetting_InitServerGptOptions')
} catch (error) {
return errorMessage(
'获取服务端提示词数据错误,错误信息如下:' + error.toString(),
'GptSetting_InitServerGptOptions'
)
}
}
// 获取软件设置里面的AI设置没有的话设置初始值
async GetAISetting() {
try {
await this.InitService()
let res = this.softService.GetSoftWarePropertyData('aiSetting')
2024-08-03 12:46:12 +08:00
if (isEmpty(res)) {
2024-07-13 15:44:13 +08:00
// 没有数据需要额外初始化
res.data = {
laiapi: {
gpt_url: 'https://laitool.net/v1/chat/completions',
api_key: undefined,
model: undefined
},
kimi: {
gpt_url: 'https://api.moonshot.cn/v1/chat/completions',
api_key: undefined,
model: undefined
},
doubao: {
gpt_url: 'https://ark.cn-beijing.volces.com/api/v3/chat/completions',
api_key: undefined,
model: undefined
}
}
} else {
2024-08-03 12:46:12 +08:00
let tryP = ValidateJson(res)
if (!tryP) {
throw new Error('AI设置的数据格式不正确')
}
res = JSON.parse(res)
2024-07-13 15:44:13 +08:00
}
2024-08-03 12:46:12 +08:00
return successMessage(res, '请求成功', 'GptSetting_GetAISetting')
2024-07-13 15:44:13 +08:00
} catch (error) {
return errorMessage(
'获取软件设置里面的AI设置错误错误信息如下' + error.toString(),
'GptSetting_GetAISetting'
)
}
}
/**
* 保存软件中的AI设置
* @param {*} value
*/
async SaveAISetting(value) {
try {
await this.InitService()
let res = this.softService.SaveSoftwarePropertyData('aiSetting', JSON.stringify(value))
return res
} catch (error) {
return errorMessage(
'保存软件设置里面的AI设置错误错误信息如下' + error.toString(),
'GptSetting_SaveAISetting'
)
}
}
}