| | |
| | | const emit = defineEmits(['update:fileList', 'success']); |
| | | |
| | | const fileList = ref([]); |
| | | // const urls = computed(() => { |
| | | // debugger; |
| | | // console.log(props.url, 999999); |
| | | // // if (props.urlS) { |
| | | // // console.log(props.urlS, 999999); |
| | | // // return props.urlS.split(','); |
| | | // // } |
| | | |
| | | // // return props.urlS ? [props.urlS] : []; |
| | | // }); |
| | | // watchEffect(() => { |
| | | // fileList.value = urls.value.map((item) => ({ |
| | | // uid: item, |
| | | // name: item, |
| | | // status: 'done', |
| | | // url: item, |
| | | // })); |
| | | // }); |
| | | watch( |
| | | () => props.url, |
| | | (newVal) => { |
| | | debugger; |
| | | console.log(newVal, 8888); |
| | | // if (newVal) { |
| | | // fileList.value = newVal.split(',').map((item) => ({ |
| | | // uid: item, |
| | | // name: item, |
| | | // status: 'done', |
| | | // url: item, |
| | | // })); |
| | | // } |
| | | if (newVal) { |
| | | fileList.value = newVal.split(',').map((item) => ({ |
| | | uid: item, |
| | | name: item, |
| | | status: 'done', |
| | | url: item, |
| | | })); |
| | | } |
| | | }, |
| | | { |
| | | deep: true, // 开启深度监听 |
| | |
| | | <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> |
| | |
| | | |
| | | const isType = computed(() => props.type); |
| | | const editList = computed(() => props.editList); |
| | | watchEffect(() => { |
| | | if (props.editList) { |
| | | console.log(props.editList, 9999); |
| | | // form.name = props.editList.name; |
| | | // form.llm_factory = props.editList.llm_factory; |
| | | // form.model_type = props.editList.model_type; |
| | | // form.province = props.editList.province; |
| | | // form.options = props.editList.options; |
| | | // form.llm_name = props.editList.llm_name; |
| | | // form.api_base = props.editList.api_base; |
| | | // form.volc_ak = props.editList.volc_ak; |
| | | // form.volc_sk = props.editList.volc_sk; |
| | | // form.logo = props.editList.logo; |
| | | } |
| | | }); |
| | | |
| | | const form = reactive({ |
| | | size: 'medium', |
| | |
| | | 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], |
| | | }); |
| | |
| | | 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], |
| | | }); |
| | |
| | | const onProgress = (currentFile) => { |
| | | file.value = currentFile; |
| | | }; |
| | | // onMounted(() => { |
| | | // if (editList.value) { |
| | | // getDetail(); |
| | | // form.urlS = editList.value.logo; |
| | | // } |
| | | // }); |
| | | |
| | | //获取详情 |
| | | const getDetail = async () => { |
| | |
| | | form.volc_sk = data.data.volc_sk; |
| | | form.api_base = data.data.api_base; |
| | | form.raptor = data.data.raptor; |
| | | // form.urlS = data.data.logo; |
| | | 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 { |
| | |
| | | <a-form-item field="name" label="模型名称"> |
| | | <a-input v-model="form.name" placeholder="请输入模型名称" /> |
| | | </a-form-item> |
| | | <a-form-item field="apiKey" label="API-Key"> |
| | | <!-- <a-form-item field="apiKey" label="API-Key"> |
| | | <a-input v-model="form.apiKey" placeholder="API-Key" /> |
| | | </a-form-item> |
| | | <a-form-item field="baseUrl" label="Base-Url"> |
| | | <a-input v-model="form.baseUrl" placeholder="Base-Url" /> |
| | | </a-form-item> |
| | | </a-form-item> --> |
| | | <a-form-item field="tags" label="模型描述"> |
| | | <a-textarea |
| | | v-model="form.tags" |
| | |
| | | <Upload |
| | | :action="uploadAction" |
| | | :limit="1" |
| | | :url="form.urlS" |
| | | @update:fileList="updateFileList" |
| | | @success="handleSuccess" |
| | | ></Upload> |
| | |
| | | </template> |
| | | |
| | | <script lang="ts" setup> |
| | | import { onMounted, onBeforeMount, reactive, ref, computed } from 'vue'; |
| | | import { |
| | | onMounted, |
| | | onBeforeMount, |
| | | watchEffect, |
| | | reactive, |
| | | ref, |
| | | computed, |
| | | } from 'vue'; |
| | | import { addLlmFactory, getLlmDetail } from '@/api/model'; |
| | | import { Message } from '@arco-design/web-vue'; |
| | | |
| | |
| | | api_base: '', |
| | | tags: '', |
| | | logo: '', |
| | | urlS: '', |
| | | }); |
| | | const formRef = ref(null); |
| | | |
| | |
| | | formRef.value?.resetFields(); |
| | | }; |
| | | |
| | | onMounted(() => { |
| | | if (editList.value) { |
| | | getDetail(); |
| | | // onMounted(() => { |
| | | // if (editList.value) { |
| | | // getDetail(); |
| | | // } |
| | | // }); |
| | | |
| | | // const getDetail = async () => { |
| | | // const data = await getLlmDetail( |
| | | // editList.value.llm_factory, |
| | | // editList.value.tags |
| | | // ); |
| | | |
| | | // form.urlS = data.data.urlS; |
| | | // imageUrls.value = data.data.logo; |
| | | // }; |
| | | |
| | | watchEffect(() => { |
| | | if (props.nameList) { |
| | | console.log(props.nameList); |
| | | form.name = props.nameList.llm_factory; |
| | | form.tags = props.nameList.tags; |
| | | form.urlS = props.nameList.logo; |
| | | } |
| | | |
| | | // getDetail(); |
| | | }); |
| | | |
| | | const getDetail = async () => { |
| | | const data = await getLlmDetail( |
| | | editList.value.llm_factory, |
| | | editList.value.name |
| | | ); |
| | | console.log(data.data, 8888); |
| | | |
| | | imageUrls.value = data.data.logo; |
| | | }; |
| | | </script> |
| | | |
| | | <script lang="ts"> |