From 9cf32f84934cf13dba77e20fdddf8703e11b0c62 Mon Sep 17 00:00:00 2001
From: liudong <liudong>
Date: 星期二, 13 八月 2024 20:04:20 +0800
Subject: [PATCH] agent会话开发
---
src/views/dmx/IntelligentAgent/components/agentConfig.vue | 85 ++++++++++++++++++++++++++++++------------
1 files changed, 61 insertions(+), 24 deletions(-)
diff --git a/src/views/dmx/IntelligentAgent/components/agentConfig.vue b/src/views/dmx/IntelligentAgent/components/agentConfig.vue
index c05f1ef..2c6c42f 100644
--- a/src/views/dmx/IntelligentAgent/components/agentConfig.vue
+++ b/src/views/dmx/IntelligentAgent/components/agentConfig.vue
@@ -32,7 +32,7 @@
>
<a-row class="">
<a-col :span="24">
- <a-tabs type="capsule" size="large" v-model="keyLarge" @tab-click="console.log(keyLarge)">
+ <a-tabs type="capsule" size="large" :active-key="activeKey" @change="handleTabChange">
<a-tab-pane key="1" title="鍔╃悊璁剧疆">
<a-divider style="margin-bottom: 20px;margin-top: 0" />
<div style="width: 100%;" :style="{height:height}">
@@ -49,9 +49,10 @@
<a-form-item label="鏅鸿兘浣撳浘鏍�">
<a-space direction="vertical" :style="{ width: '100%' }">
<Upload
+ v-if="avatarShow"
:action="uploadAction"
:limit="1"
- :url="form.icon"
+ :url="form.icon ? httpUrl + form.icon : ''"
@update:fileList="updateFileList"
@success="handleSuccess"
></Upload>
@@ -162,8 +163,8 @@
:data="form.prompt_config.parameters"
style="width: 100%"
>
- <template #key="{ record, rowIndex }">
- <a-input v-model="record.key" placeholder="" />
+ <template #name="{ record, rowIndex }">
+ <a-input v-model="record.name" placeholder="" />
<!-- <a-input v-model="form.prompt_config.parameters[rowIndex].key" />-->
</template>
<template #optional="{ record }">
@@ -220,33 +221,33 @@
</a-select>
</a-form-item>
<a-form-item label="娓╁害">
- <a-switch size="small" />
+ <a-switch size="small" v-model="temperature" />
<a-space direction="vertical" size="large">
- <a-slider v-model="form.llm_setting.temperature" :step="0.01" :min="0" :max="1" :style="{ width: '350px', marginLeft: '20px' }" show-input />
+ <a-slider :disabled="!temperature" v-model="form.llm_setting.temperature" :step="0.01" :min="0" :max="1" :style="{ width: '350px', marginLeft: '20px',display: 'flex' }" show-input />
</a-space>
</a-form-item>
<a-form-item label="top P">
- <a-switch size="small" />
+ <a-switch size="small" v-model="top_p" />
<a-space direction="vertical" size="large">
- <a-slider v-model="form.llm_setting.top_p" :step="0.01" :min="0" :max="1" :style="{ width: '350px', marginLeft: '20px' }" show-input />
+ <a-slider :disabled="!top_p" v-model="form.llm_setting.top_p" :step="0.01" :min="0" :max="1" :style="{ width: '350px', marginLeft: '20px',display: 'flex' }" show-input />
</a-space>
</a-form-item>
<a-form-item label="鍑哄腑澶勭綒">
- <a-switch size="small" />
+ <a-switch size="small" v-model="presence_penalty" />
<a-space direction="vertical" size="large">
- <a-slider v-model="form.llm_setting.presence_penalty" :step="0.01" :min="0" :max="1" :style="{ width: '350px', marginLeft: '20px' }" show-input />
+ <a-slider :disabled="!presence_penalty" v-model="form.llm_setting.presence_penalty" :step="0.01" :min="0" :max="1" :style="{ width: '350px', marginLeft: '20px',display: 'flex' }" show-input />
</a-space>
</a-form-item>
<a-form-item label="棰戠巼澶勭綒">
- <a-switch size="small" />
+ <a-switch size="small" v-model="frequency_penalty" />
<a-space direction="vertical" size="large">
- <a-slider v-model="form.llm_setting.frequency_penalty" :step="0.01" :min="0" :max="1" :style="{ width: '350px', marginLeft: '20px' }" show-input />
+ <a-slider :disabled="!frequency_penalty" v-model="form.llm_setting.frequency_penalty" :step="0.01" :min="0" :max="1" :style="{ width: '350px', marginLeft: '20px',display: 'flex' }" show-input />
</a-space>
</a-form-item>
<a-form-item label="鏈�澶oken鏁�">
- <a-switch size="small" />
+ <a-switch size="small" v-model="max_tokens" />
<a-space direction="vertical" size="large">
- <a-slider v-model="form.llm_setting.max_tokens" :min="0" :max="2048" :style="{ width: '350px', marginLeft: '20px' }" show-input />
+ <a-slider :disabled="!max_tokens" v-model="form.llm_setting.max_tokens" :min="0" :max="2048" :style="{ width: '350px', marginLeft: '20px',display: 'flex' }" show-input />
</a-space>
</a-form-item>
</a-form>
@@ -259,7 +260,7 @@
</template>
<script lang="ts" setup>
-import { onMounted, onBeforeMount, reactive, ref, nextTick } from "vue";
+import { onMounted, onBeforeMount, reactive, ref, nextTick, onUnmounted, onBeforeUnmount } from "vue";
import { kbdocumentupload, queryKbList, queryModelList } from "@/api/kbList";
import useLoading from "@/hooks/loading";
import { Message } from "@arco-design/web-vue";
@@ -274,7 +275,7 @@
const formRef = ref();
const formRef1 = ref();
const formRef2 = ref();
-const keyLarge = ref('1');
+const activeKey = ref('1');
const form = reactive({
name: "",
icon: "",
@@ -289,6 +290,7 @@
parameters: [
{
index: 0,
+ name: "knowledge",
key: "knowledge",
optional: false
}
@@ -309,14 +311,22 @@
rerank_id:'',
top_k:1024,
});
+let temperature = ref(true);
+let top_p = ref(true);
+let presence_penalty = ref(true);
+let frequency_penalty = ref(true);
+let max_tokens = ref(true);
+const httpUrl = localStorage.getItem('httpUrl');
+let avatarShow = ref(true);
+
const height = ref('calc(500px)');
const props = defineProps(['typeAngint', 'formData']);
const emit = defineEmits(['queryList']);
const columns = [
{
title: '鍏抽敭瀛�',
- dataIndex: 'key',
- slotName: 'key',
+ dataIndex: 'name',
+ slotName: 'name',
},
{
title: '鍙��',
@@ -405,16 +415,24 @@
// post: '',// 宀椾綅
// txt: '',// 澶囨敞
// });
+ activeKey.value= '1'
formRef.value.resetFields();
formRef1.value.resetFields();
formRef2.value.resetFields();
+ nextTick(()=>{
+ if(props.typeAngint=='add'){
+ form.name = "";
+ form.icon = "";
+ form.prompt_config.system = "浣犳槸涓�涓櫤鑳藉姪鎵嬶紝璇锋�荤粨鐭ヨ瘑搴撶殑鍐呭鏉ュ洖绛旈棶棰橈紝璇峰垪涓剧煡璇嗗簱涓殑鏁版嵁璇︾粏鍥炵瓟銆傚綋鎵�鏈夌煡璇嗗簱鍐呭閮戒笌闂鏃犲叧鏃讹紝浣犵殑鍥炵瓟蹇呴』鍖呮嫭鈥滅煡璇嗗簱涓湭鎵惧埌鎮ㄨ鐨勭瓟妗堬紒鈥濊繖鍙ヨ瘽銆�" +
+ "鍥炵瓟闇�瑕佽�冭檻鑱婂ぉ鍘嗗彶銆俓n 浠ヤ笅鏄煡璇嗗簱锛歕n {knowledge}\n 浠ヤ笂鏄煡璇嗗簱銆�";
- if(props.typeAngint=='add'){
- form.name = "";
- form.prompt_config.system = "浣犳槸涓�涓櫤鑳藉姪鎵嬶紝璇锋�荤粨鐭ヨ瘑搴撶殑鍐呭鏉ュ洖绛旈棶棰橈紝璇峰垪涓剧煡璇嗗簱涓殑鏁版嵁璇︾粏鍥炵瓟銆傚綋鎵�鏈夌煡璇嗗簱鍐呭閮戒笌闂鏃犲叧鏃讹紝浣犵殑鍥炵瓟蹇呴』鍖呮嫭鈥滅煡璇嗗簱涓湭鎵惧埌鎮ㄨ鐨勭瓟妗堬紒鈥濊繖鍙ヨ瘽銆�" +
- "鍥炵瓟闇�瑕佽�冭檻鑱婂ぉ鍘嗗彶銆俓n 浠ヤ笅鏄煡璇嗗簱锛歕n {knowledge}\n 浠ヤ笂鏄煡璇嗗簱銆�";
- }
-
+ }
+ console.log(form,'鏂板缓鏅鸿兘浣撳脊绐�');
+ avatarShow.value = false;
+ setTimeout(() => {
+ avatarShow.value = true;
+ },100);
+ })
};
@@ -438,6 +456,15 @@
if(formNew.rerank_id){
delete formNew.top_k;
}
+
+ formNew.prompt_config.parameters = form.prompt_config.parameters.map(item => {
+ return {
+ ...item,
+ key: item.name
+ }
+ })
+
+ console.log(formNew,'formNew');
if (props.typeAngint == 'edit') {
formNew.dialog_id = form.id;
@@ -481,6 +508,7 @@
form.prompt_config.parameters.push({
index: form.prompt_config.parameters.length,
key: "",
+ name: "",
optional: true
});
nextTick(() => {
@@ -495,6 +523,10 @@
}
+function handleTabChange(key) {
+ // 澶勭悊鏍囩鏀瑰彉浜嬩欢
+ activeKey.value=key;
+}
const queryModel = async (params) => {
try {
@@ -536,6 +568,11 @@
onMounted(() => {});
+onBeforeUnmount(()=>{
+
+})
+
+
</script>
--
Gitblit v1.8.0