123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- const axios = require('axios')
- const sqlite3 = require('sqlite3')
- const db = new sqlite3.Database("./db/data.db")
- function getConfigValue(configName) {
- return new Promise((resolve, reject) => {
- const query = 'SELECT value FROM tongyiconfig WHERE config = ?';
- db.get(query, [configName], (err, row) => {
- if (err) {
- reject(err);
- } else {
- const configValue = row ? row.value : null;
- // 处理字符串 'null',如果是 'null' 则返回 null
- resolve(configValue === 'null' ? null : configValue)
- }
- })
- })
- }
- // 读取配置信息并设置相应的变量
- async function loadConfigValues() {
- try {
- ty_apiKey = await getConfigValue('apiKey')
- ty_apiUrl = await getConfigValue('apiUrl')
- ty_maxTokensStr = await getConfigValue('max_tokens')
- ty_temperatureStr = await getConfigValue('temperature')
- ty_model = await getConfigValue('model')
- ty_presets = await getConfigValue('presets')
- ty_temperature = parseFloat(ty_temperatureStr)
- ty_max_tokens = parseInt(ty_maxTokensStr)
- } catch (error) {
- console.error('加载通义api接口设置失败!', error)
- }
- }
- // 调用函数加载配置信息
- loadConfigValues()
- async function getTYMessage(message) {
- const requestData = {
- model: ty_model,
- input: {
- messages: [
- { "role": "user", "content": message }
- ],
- },
- parameters: {
- max_tokens: ty_max_tokens,
- temperature: ty_temperature
- }
- }
- 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;
- return apiMessage;
- } catch (error) {
- console.error("向api接口发送请求时出现错误")
- return error;
- }
- }
- // 更新api设置到数据库
- function updateTYConfig(configName, configValue) {
- const query = 'REPLACE INTO tongyiconfig (config, value) VALUES (?, ?)'
- db.run(query, [configName, configValue], (err) => {
- if (err) {
- console.error('更新数据失败:', err);
- }
- loadConfigValues()
- })
- }
- module.exports = {
- updateTYConfig, getTYMessage
- }
|