<template>
|
<div>
|
<el-dialog
|
:title="form.sessionName + '——对话设置'"
|
:visible.sync="show"
|
:close-on-click-modal="false"
|
:destroy-on-close="true"
|
width="600px"
|
>
|
<div class="config-item">
|
<div class="title">请选择对话模式:</div>
|
<div>
|
<el-select v-model="form.mode" size="small" disabled>
|
<el-option label="知识库问答" value="kb"/>
|
</el-select>
|
</div>
|
</div>
|
<div class="config-item">
|
<div class="title">请选择知识库:</div>
|
<div>
|
<el-select v-model="form.kbName" size="small">
|
<el-option label="SouthWest_Neclear_Develepment_KB" value="SouthWest_Neclear_Develepment_KB"/>
|
</el-select>
|
</div>
|
</div>
|
<div class="config-item">
|
<div class="title">历史对话轮数:</div>
|
<div>
|
<el-input v-model="form.topK" type="number" size="small"/>
|
</div>
|
</div>
|
<div class="config-item">
|
<div class="title">匹配知识条数:</div>
|
<div>
|
<el-input v-model="form.scoreThreshold" type="number" size="small"/>
|
</div>
|
</div>
|
<div class="config-item">
|
<div class="title">匹配知识分数阈值:</div>
|
<div>
|
<el-slider
|
v-model="form.temperature"
|
@change="saveConfig"
|
:min="0.00"
|
:max="2.00"
|
:step="0.01">
|
</el-slider>
|
</div>
|
</div>
|
<div>
|
<el-checkbox v-model="form.returnDirect">仅返回检索结果</el-checkbox>
|
</div>
|
<span slot="footer" class="dialog-footer">
|
<el-button @click="close" size="small">取 消</el-button>
|
<el-button @click="saveConfig" type="primary" size="small">保 存</el-button>
|
</span>
|
</el-dialog>
|
</div>
|
</template>
|
|
<script>
|
import {editSession, getSessionDetail} from "@/api/session";
|
|
export default {
|
name: "SessionConfig",
|
props: {
|
id: {
|
type: String
|
}
|
},
|
watch: {
|
id: {
|
handler(newV) {
|
if (newV) {
|
getSessionDetail(newV).then(res => {
|
this.form = res.data.data
|
})
|
}
|
}
|
}
|
},
|
data() {
|
return {
|
show: false,
|
form: {
|
id: '',
|
sessionName: '',
|
mode: "",
|
kbName: "",
|
topK: null,
|
scoreThreshold: null,
|
stream: true,
|
model: "",
|
temperature: 0,
|
maxTokens: 0,
|
promptName: "",
|
returnDirect: false
|
}
|
};
|
},
|
methods: {
|
saveConfig() {
|
editSession(this.form).then(res => {
|
if (res.data.code == 200) {
|
this.$message.success("保存成功")
|
}
|
})
|
},
|
setShow(value) {
|
this.show = value
|
},
|
close() {
|
this.show = false
|
}
|
}
|
}
|
</script>
|
|
<style scoped>
|
.config-item {
|
margin-bottom: 10px;
|
}
|
.title {
|
margin-bottom: 5px;
|
}
|
</style>
|