|  |  |  | 
|---|
|  |  |  | <a-form-item field="api_base" label="基础URL"> | 
|---|
|  |  |  | <a-input v-model="form.api_base" placeholder="请输入基础URL" /> | 
|---|
|  |  |  | </a-form-item> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <a-form-item | 
|---|
|  |  |  | <!-- <a-form-item | 
|---|
|  |  |  | field="raptor" | 
|---|
|  |  |  | label="是否支持 Vision" | 
|---|
|  |  |  | v-if="form.model_type === 'chat'" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <a-switch v-model="form.raptor" /> | 
|---|
|  |  |  | </a-form-item> | 
|---|
|  |  |  | </a-form-item> --> | 
|---|
|  |  |  | <a-form-item field="logo" label="模型图片"> | 
|---|
|  |  |  | <a-space direction="vertical" :style="{ width: '100%' }"> | 
|---|
|  |  |  | <Upload | 
|---|
|  |  |  | :action="uploadAction" | 
|---|
|  |  |  | :limit="1" | 
|---|
|  |  |  | :url="form.urlS" | 
|---|
|  |  |  | @update:fileList="updateFileList" | 
|---|
|  |  |  | @success="handleSuccess" | 
|---|
|  |  |  | ></Upload> | 
|---|
|  |  |  | 
|---|
|  |  |  | <Upload | 
|---|
|  |  |  | :action="uploadAction" | 
|---|
|  |  |  | :limit="1" | 
|---|
|  |  |  | :url="form.urlS" | 
|---|
|  |  |  | @update:fileList="updateFileList" | 
|---|
|  |  |  | @success="handleSuccess" | 
|---|
|  |  |  | ></Upload> | 
|---|
|  |  |  | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <script lang="ts" setup> | 
|---|
|  |  |  | import { reactive, ref, computed, watch } from 'vue'; | 
|---|
|  |  |  | import { addLlm, getLlmDetail } from '@/api/model'; | 
|---|
|  |  |  | import { reactive, ref, computed, watch, watchEffect, onMounted } from 'vue'; | 
|---|
|  |  |  | import { addLlm, getLlmDetail, editLlm } from '@/api/model'; | 
|---|
|  |  |  | import { Modal, Message } from '@arco-design/web-vue'; | 
|---|
|  |  |  | import message from '@arco-design/web-vue/es/message'; | 
|---|
|  |  |  | import { resolveUnref } from '@vueuse/core'; | 
|---|
|  |  |  | 
|---|
|  |  |  | const isType = computed(() => props.type); | 
|---|
|  |  |  | const editList = computed(() => props.editList); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | watch( | 
|---|
|  |  |  | () => editList.value.name, | 
|---|
|  |  |  | (newValue) => { | 
|---|
|  |  |  | getDetail(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | ); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const form = reactive({ | 
|---|
|  |  |  | size: 'medium', | 
|---|
|  |  |  | name: '', | 
|---|
|  |  |  | 
|---|
|  |  |  | volc_sk: '', | 
|---|
|  |  |  | logo: '', | 
|---|
|  |  |  | radio: 'radio one', | 
|---|
|  |  |  | urlS: '', | 
|---|
|  |  |  | slider: 5, | 
|---|
|  |  |  | score: 5, | 
|---|
|  |  |  | switch: false, | 
|---|
|  |  |  | 
|---|
|  |  |  | ?.validate() | 
|---|
|  |  |  | .then(async (res) => { | 
|---|
|  |  |  | if (!res) { | 
|---|
|  |  |  | const data = await addLlm({ | 
|---|
|  |  |  | llm_factory: editList.value.llm_factory, | 
|---|
|  |  |  | llm_name: form.llm_name, | 
|---|
|  |  |  | model_type: form.model_type, | 
|---|
|  |  |  | volc_ak: form.volc_ak, | 
|---|
|  |  |  | volc_sk: form.volc_sk, | 
|---|
|  |  |  | api_base: form.api_base, | 
|---|
|  |  |  | raptor: form.raptor, | 
|---|
|  |  |  | all_params: all_params, | 
|---|
|  |  |  | logo: imageUrls.value[0], | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | if ((data as any).retmsg == 'success') { | 
|---|
|  |  |  | message.success('添加成功'); | 
|---|
|  |  |  | emit('refresh-parent'); | 
|---|
|  |  |  | if (props.title == '编辑') { | 
|---|
|  |  |  | const data = await editLlm({ | 
|---|
|  |  |  | llm_factory: editList.value.llm_factory, | 
|---|
|  |  |  | llm_name: form.llm_name, | 
|---|
|  |  |  | model_type: form.model_type, | 
|---|
|  |  |  | volc_ak: form.volc_ak, | 
|---|
|  |  |  | volc_sk: form.volc_sk, | 
|---|
|  |  |  | api_base: form.api_base, | 
|---|
|  |  |  | all_params: all_params, | 
|---|
|  |  |  | logo: imageUrls.value[0], | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if ((data as any).code == 200) { | 
|---|
|  |  |  | message.success('添加成功'); | 
|---|
|  |  |  | addPageModelVisible.value = false; | 
|---|
|  |  |  | emit('refresh-parent'); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | message.error('添加失败'); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | message.error('添加失败'); | 
|---|
|  |  |  | const data = await addLlm({ | 
|---|
|  |  |  | llm_factory: editList.value.llm_factory, | 
|---|
|  |  |  | llm_name: form.llm_name, | 
|---|
|  |  |  | model_type: form.model_type, | 
|---|
|  |  |  | volc_ak: form.volc_ak, | 
|---|
|  |  |  | volc_sk: form.volc_sk, | 
|---|
|  |  |  | api_base: form.api_base, | 
|---|
|  |  |  | all_params: all_params, | 
|---|
|  |  |  | logo: imageUrls.value[0], | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if ((data as any).code == 200) { | 
|---|
|  |  |  | message.success('添加成功'); | 
|---|
|  |  |  | addPageModelVisible.value = false; | 
|---|
|  |  |  | emit('refresh-parent'); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | message.error('添加失败'); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | 
|---|
|  |  |  | editList.value.llm_factory, | 
|---|
|  |  |  | editList.value.name | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | console.log(data.data, 8888); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | form.llm_name = data.data.llm_name; | 
|---|
|  |  |  | form.model_type = data.data.model_type; | 
|---|
|  |  |  | form.volc_ak = data.data.volc_ak; | 
|---|
|  |  |  | form.volc_sk = data.data.volc_sk; | 
|---|
|  |  |  | form.api_base = data.data.api_base; | 
|---|
|  |  |  | form.raptor = data.data.raptor; | 
|---|
|  |  |  | form.addFomList = data.data.all_params.map((item) => { | 
|---|
|  |  |  | return { name: item.split(':')[0], value: item.split(':')[1] }; | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | form.urlS = data.data.logo; | 
|---|
|  |  |  | if (JSON.parse(data.data.all_params).length > 0) { | 
|---|
|  |  |  | form.addFomList = JSON.parse(data.data.all_params).map((item) => { | 
|---|
|  |  |  | return { name: item.split(':')[0], value: item.split(':')[1] }; | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | imageUrls.value = data.data.logo; | 
|---|
|  |  |  | }; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | watchEffect(() => { | 
|---|
|  |  |  | if (props.editList.name) { | 
|---|
|  |  |  | getDetail(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | </script> | 
|---|
|  |  |  | <style scoped lang="less"> | 
|---|
|  |  |  | .addInput { | 
|---|