From ffdde4d7d6a1bfc071816e358942370bdfafbb9a Mon Sep 17 00:00:00 2001
From: liudong <liudong>
Date: 星期二, 13 八月 2024 14:56:17 +0800
Subject: [PATCH] 智能体列表查询

---
 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