| | |
| | | <template> |
| | | <div> |
| | | <el-dialog |
| | | :title="sessionName + '——对话设置'" |
| | | :title="form.sessionName + '——对话设置'" |
| | | :visible.sync="show" |
| | | :close-on-click-modal="false" |
| | | :destroy-on-close="true" |
| | |
| | | <div class="config-item"> |
| | | <div class="title">请选择对话模式:</div> |
| | | <div> |
| | | <el-select v-model="config.chatType" @change="saveConfig" size="small"> |
| | | <el-select v-model="form.mode" size="small" disabled> |
| | | <el-option label="知识库问答" value="kb"/> |
| | | </el-select> |
| | | </div> |
| | |
| | | <div class="config-item"> |
| | | <div class="title">请选择知识库:</div> |
| | | <div> |
| | | <el-select v-model="config.kb" @change="saveConfig" size="small"> |
| | | <el-option label="知识库A" value="kb1"/> |
| | | <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="config.hisChatNum" @input="saveConfig" type="number" size="small"/> |
| | | <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="config.matchKbNum" @input="saveConfig" type="number" size="small"/> |
| | | <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="config.matchKbScore" |
| | | v-model="form.temperature" |
| | | @change="saveConfig" |
| | | :min="0.00" |
| | | :max="2.00" |
| | |
| | | </div> |
| | | </div> |
| | | <div> |
| | | <el-checkbox v-model="config.returnMatchResult" @change="saveConfig">仅返回检索结果</el-checkbox> |
| | | <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: { |
| | | sessionName: { |
| | | id: { |
| | | type: String |
| | | } |
| | | }, |
| | | watch: { |
| | | id: { |
| | | handler(newV) { |
| | | if (newV) { |
| | | getSessionDetail(newV).then(res => { |
| | | this.form = res.data.data |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | show: false, |
| | | config: { |
| | | chatType: 'kb', |
| | | kb: 'kb1', |
| | | hisChatNum: 3, |
| | | matchKbNum: 3, |
| | | matchKbScore: 1, |
| | | returnMatchResult: false |
| | | form: { |
| | | id: '', |
| | | sessionName: '', |
| | | mode: "", |
| | | kbName: "", |
| | | topK: null, |
| | | scoreThreshold: null, |
| | | stream: true, |
| | | model: "", |
| | | temperature: 0, |
| | | maxTokens: 0, |
| | | promptName: "", |
| | | returnDirect: false |
| | | } |
| | | }; |
| | | }, |
| | | methods: { |
| | | saveConfig() { |
| | | console.log("触发保存了") |
| | | this.$emit('saveConfig', this.config) |
| | | editSession(this.form).then(res => { |
| | | if (res.data.code == 200) { |
| | | this.$message.success("保存成功") |
| | | } |
| | | }) |
| | | }, |
| | | setShow(value) { |
| | | this.show = value |
| | | }, |
| | | setConfig(config) { |
| | | this.config = config |
| | | }, |
| | | close() { |
| | | this.show = false |