From 6d453537c8acf92ea5d9decbf6744df07f00efb1 Mon Sep 17 00:00:00 2001 From: liudong <liudong> Date: 星期六, 03 八月 2024 22:29:25 +0800 Subject: [PATCH] 智能体管理的页面开发和功能开发 --- src/views/dmx/IntelligentAgent/components/editAgent.vue | 149 ++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 134 insertions(+), 15 deletions(-) diff --git a/src/views/dmx/IntelligentAgent/components/editAgent.vue b/src/views/dmx/IntelligentAgent/components/editAgent.vue index 813ca79..f4c81de 100644 --- a/src/views/dmx/IntelligentAgent/components/editAgent.vue +++ b/src/views/dmx/IntelligentAgent/components/editAgent.vue @@ -1,6 +1,6 @@ <template> - <a-button v-if="typeAngint=='edit'" type="text" size="small" @click="handleClick"> + <a-button v-if="typeAngint=='edit'" type="text" size="small" @click="editClick"> <template #icon> <icon-tool /> </template> @@ -20,22 +20,38 @@ <div style="width: 50%;height: 100%"> <div style="padding: 10px;font-size: 12px;color: #2a2a2b;">鏅鸿兘浣撶敾鍍�</div> <div> - + <a-textarea v-model="system" placeholder="" disabled style="height: 400px;background: #ffffff;color: #666666" /> </div> </div> <div style="background:#eeeeee;width: 50%;"> <a-form ref="formRef" :rules="rules" :model="form" @submit="handleSubmit" layout="vertical" > - <a-collapse :default-active-key="['1']"> - <a-collapse-item header="AI妯″瀷閰嶇疆" key="1"> - + <a-collapse-item header="鍩虹淇℃伅" key="0" v-if="typeAngint == 'edit'"> + <a-input v-model="form.name" placeholder="璇疯緭鍏ユ櫤鑳戒綋鍚嶇О" style="width:200px;margin-top: 10px" /> </a-collapse-item> - <a-collapse-item header="寮�鍦哄紩瀵�" :key="'2'"> + <a-collapse-item header="AI妯″瀷閰嶇疆" key="1"> + <a-space direction="vertical" size="large"> + <a-select :size="'large'" v-model="form.llm_id" :style="{width:'25rem'}" placeholder="璇烽�夋嫨 ..."> + <a-optgroup :label="index" v-for="(item,index) in modelList" :key=index> + <a-option + v-for="(obj) in item" + :key='obj.fid' + :value="obj.llm_id" + > + {{obj.llm_name}} + </a-option> + </a-optgroup> + </a-select> + </a-space> + </a-collapse-item> + <a-collapse-item header="寮�鍦哄紩瀵�" :key="'2'" disabled> </a-collapse-item> <a-collapse-item header="鐭ヨ瘑搴�" key="3"> - + <a-select v-model="form.kb_ids" :style="{width:'25rem'}" placeholder="璇烽�夋嫨 ..." multiple > + <a-option v-for="(item) in tabs" :key="item.id" :value="item.id">{{item.name}}</a-option> + </a-select> </a-collapse-item> <a-collapse-item header="宸ュ叿" key="4" disabled> </a-collapse-item> @@ -44,7 +60,7 @@ </a-collapse> <a-form-item> - <div style="position: absolute;right: 10px;top: 10px"> + <div style="position: absolute;right: 10px;top: 0px;z-index: 99999"> <!-- <a-button @click="visible = false">鍙栨秷</a-button>--> <a-button style="margin-left: 10px" type="primary" html-type="submit">淇濆瓨</a-button> </div> @@ -85,16 +101,60 @@ <script lang="ts" setup> import { onMounted, onBeforeMount, reactive, ref, nextTick } from "vue"; import { IconSend } from "@arco-design/web-vue/es/icon"; +import { queryKbList, queryModelList } from "@/api/kbList"; +import useLoading from "@/hooks/loading"; +import { dialogSet } from "@/api/Agent"; +import { Message } from "@arco-design/web-vue"; +const { setLoading } = useLoading(true); const props = defineProps(['typeAngint','formData']) const visible = ref(false); const loading = ref(false); const form = reactive({ - + name: "", + icon: "", + language: "English", + prompt_config: { + empty_response: "", + prologue: "浣犲ソ锛� 鎴戞槸浣犵殑鍔╃悊锛屾湁浠�涔堝彲浠ュ府鍒颁綘鐨勫悧锛�", + quote: true, + self_rag: true, + system: "绀轰緥锛歕n" + + "浣犳槸 XX锛屽叿鏈� XX 缁忛獙锛屾搮闀� XX锛屸�n" + + "浣犵殑浠诲姟鏄� XX 锛岄渶瑕佹寜鐓т互涓嬫楠ゆ墽琛岋細\n" + + "1. XX\n" + + "2. XX\n" + + "3. 鈥n", + parameters: [ + { + "key": "knowledge", + "optional": false + } + ] + }, + kb_ids: [ + "985eda244efc11ef9a7a0242ac120006" + ], + llm_id: "qwen-plus", + llm_setting: { + temperature: 0.1, + top_p: 0.3, + presence_penalty: 0.4, + frequency_penalty: 0.7, + max_tokens: 512 + }, + similarity_threshold: 0.2, + vector_similarity_weight: 0.30000000000000004, + top_n: 8 }); +const system = ref(''); +const embdId = ref(''); +const modelList = ref({}); +const renderData = ref([]); const formRef = ref(null); +let tabs = ref([]) const height = ref('calc(100vh - 150px)') const heightrg = ref('calc(100vh - 100px)') - +const emit = defineEmits(['cancelModal']) const rules = { name: [ { @@ -105,15 +165,42 @@ } -const handleSubmit = ({values, errors}) => { - console.log('values:', values, '\nerrors:', errors) +const handleSubmit = async({values, errors}) => { + // console.log('values:', values, '\nerrors:', errors) + let title = '鍒涘缓鎴愬姛'; + let formNew = {...form} + if(props.typeAngint == 'edit'){ + formNew.dialog_id = form.id; + delete formNew.id; + delete formNew.off; + title = '淇敼鎴愬姛'; + } + + const data = await dialogSet(formNew); + if(data.code == 0){ + Message.success(title); + handleCancel() + + } + } + +const editClick = (data) => { + visible.value = true; + + console.log(props.formData); + Object.assign(form,props.formData); + console.log(form); + system.value = form.prompt_config.system; + +}; const handleClick = (data) => { visible.value = true; nextTick(()=>{ Object.assign(form,data); console.log(form); + system.value = form.prompt_config.system; }) }; defineExpose({ @@ -132,12 +219,25 @@ }; const handleCancel = () => { visible.value = false; + emit('cancelModal') } const handleOpened =(el) => { - formRef.value.resetFields(); -} + // formRef.value.resetFields(); + +} +const queryModel = async (params) => { + try { + const data = await queryModelList(params); + console.log(data.data, '澶фā鍨嬪垪琛�'); + modelList.value = data.data + } catch (err) { + // you can report use errorHandler or other + } finally { + + } +}; const file = ref(); const onChange = (_, currentFile) => { @@ -150,8 +250,27 @@ file.value = currentFile; }; -onBeforeMount(()=>{ + +const knowledgeData = async ( + params = { page: 1, page_size: 20 } +) => { + setLoading(true); + try { + const { data } = await queryKbList(params); + console.log(data, 'data'); + tabs.value = data; + console.log(tabs.value, 'tabs'); + } catch (err) { + // you can report use errorHandler or other + } finally { + setLoading(false); + } +}; + +onBeforeMount(()=>{ + queryModel({}) + knowledgeData() }) onMounted(()=>{ -- Gitblit v1.8.0