refactor: refactor chat model, replace mode value with mode id. refactored system config module, add seperate configration for every chat model

This commit is contained in:
RockYang
2023-09-04 16:32:20 +08:00
parent 0cc9cf8b45
commit 7ecd7eeba1
28 changed files with 714 additions and 276 deletions

View File

@@ -1,8 +1,8 @@
<template>
<el-dialog
v-model="showDialog"
:close-on-click-modal="false"
:show-close="mobile !== ''"
:close-on-click-modal="true"
style="max-width: 600px"
:before-close="close"
:title="title"
>
@@ -16,14 +16,8 @@
<el-input v-model="form.mobile"/>
</el-form-item>
<el-form-item label="手机验证码">
<el-row :gutter="10">
<el-col :span="12">
<el-input v-model.number="form.code" maxlength="6"/>
</el-col>
<el-col :span="12">
<send-msg size="" :mobile="form.mobile"/>
</el-col>
</el-row>
<el-input v-model.number="form.code" maxlength="6" style="max-width: 200px; margin-right: 10px;"/>
<send-msg size="" :mobile="form.mobile"/>
</el-form-item>
</el-form>
</div>
@@ -64,10 +58,10 @@ const emits = defineEmits(['hide']);
const save = () => {
if (!validateMobile(form.value.mobile)) {
return ElMessage.error({message: "请输入正确的手机号码", appendTo: "#bind-mobile-form"});
return ElMessage.error("请输入正确的手机号码");
}
if (form.value.code === '') {
return ElMessage.error({message: "请输入短信验证码", appendTo: "#bind-mobile-form"});
return ElMessage.error("请输入短信验证码");
}
httpPost('/api/user/bind/mobile', form.value).then(() => {
@@ -78,7 +72,7 @@ const save = () => {
onClose: () => emits('hide', false)
})
}).catch(e => {
ElMessage.error({message: "绑定失败:" + e.message, appendTo: "#bind-mobile-form"});
ElMessage.error("绑定失败:" + e.message);
})
}

View File

@@ -4,12 +4,13 @@
v-model="showDialog"
:close-on-click-modal="true"
:before-close="close"
style="max-width: 600px"
title="用户设置"
>
<div class="user-info" id="user-info">
<el-form v-if="form.id" :model="form" label-width="120px">
<el-form-item label="昵称">
<el-input v-model="form.nickname"/>
<el-form-item label="账户">
<span>{{ form.mobile }}</span>
</el-form-item>
<el-form-item label="头像">
<el-upload
@@ -24,45 +25,14 @@
</el-icon>
</el-upload>
</el-form-item>
<el-form-item label="用户名">
<el-input v-model="form.username" readonly disabled/>
</el-form-item>
<el-form-item label="绑定手机号">
<el-input v-model="form.mobile" readonly disabled/>
</el-form-item>
<el-form-item label="聊天上下文">
<el-switch v-model="form.chat_config.enable_context"/>
</el-form-item>
<el-form-item label="聊天记录">
<el-switch v-model="form.chat_config.enable_history"/>
</el-form-item>
<el-form-item label="默认模型">
<el-select v-model="form.chat_config.model" placeholder="默认会话模型">
<el-option
v-for="item in models"
:key="item"
:label="item.toUpperCase()"
:value="item"
/>
</el-select>
</el-form-item>
<el-form-item label="MaxTokens">
<el-input v-model.number="form.chat_config.max_tokens"/>
</el-form-item>
<el-form-item label="创意度">
<el-slider v-model="form.chat_config.temperature" :max="2" :step="0.1"/>
<div class="tip">值越大 AI 回答越发散值越小回答越保守建议保持默认值</div>
</el-form-item>
<el-form-item label="剩余对话次数">
<el-tag>{{ form['calls'] }}</el-tag>
</el-form-item>
<el-form-item label="剩余绘图次数">
<el-tag>{{ form['img_calls'] }}</el-tag>
</el-form-item>
<el-form-item label="消耗 Tokens">
<el-tag type="info">{{ form['tokens'] }}</el-tag>
<el-form-item label="累计消耗 Tokens">
<el-tag type="info">{{ form['total_tokens'] }}</el-tag>
</el-form-item>
<el-form-item label="API KEY">
<el-input v-model="form['chat_config']['api_key']"/>

View File

@@ -4,6 +4,7 @@
v-model="showDialog"
:close-on-click-modal="true"
:show-close="true"
style="max-width: 600px"
:before-close="close"
title="修改密码"
>

View File

@@ -74,11 +74,6 @@ const items = [
index: '/admin/dashboard',
title: '仪表盘',
},
{
icon: 'config',
index: '/admin/system',
title: '系统设置',
},
{
icon: 'user-fill',
@@ -96,11 +91,21 @@ const items = [
index: '/admin/apikey',
title: 'API-KEY 管理',
},
{
icon: 'model',
index: '/admin/chat/model',
title: '语言模型',
},
{
icon: 'reward',
index: '/admin/reward',
title: '众筹管理',
},
{
icon: 'config',
index: '/admin/system',
title: '系统设置',
},
{
icon: 'log',
index: '/admin/loginLog',