From e7a44b64dceb984b0bb243bfdcae73edb099e5f1 Mon Sep 17 00:00:00 2001
From: zhangxiao <898441624@qq.com>
Date: 星期一, 26 八月 2024 21:04:49 +0800
Subject: [PATCH] agent
---
src/views/dmx/model/components/addPageModel.vue | 179 ++++++++++++++++-------------------------------------------
1 files changed, 50 insertions(+), 129 deletions(-)
diff --git a/src/views/dmx/model/components/addPageModel.vue b/src/views/dmx/model/components/addPageModel.vue
index 616dac0..9003dcb 100644
--- a/src/views/dmx/model/components/addPageModel.vue
+++ b/src/views/dmx/model/components/addPageModel.vue
@@ -18,53 +18,39 @@
layout="vertical"
>
<div>
- <a-form-item field="model_type" label="妯″瀷绫诲瀷">
- <a-select v-model="form.model_type" placeholder="璇烽�夋嫨">
- <a-option
- v-for="item of form.options"
- :value="item.value"
- :label="item.label"
- ></a-option>
- <!-- <a-option value="embedding">embedding</a-option>
- <a-option value="rerank">rerank</a-option>
- <a-option value="image2text">image2text</a-option> -->
- </a-select>
- </a-form-item>
- <a-form-item field="llm_name" label="妯″瀷鍚嶇О">
- <a-input v-model="form.llm_name" placeholder="璇疯緭鍏ユā鍨嬪悕绉�" />
- </a-form-item>
-
- <!-- <a-form-item field="volc_ak" label="鐏北 ACCESS_KEY">
- <a-input v-model="form.volc_ak" placeholder="璇疯緭鍏ョ伀灞� ACCESS_KEY" />
- <a-button
- type="primary"
- @click="handleClick"
- style="margin-left: 10px"
- >
- <template #icon>
- <icon-plus />
- </template>
- </a-button>
- </a-form-item>
- <a-form-item field="volc_sk" label="鐏北 SECRET_KEY">
- <a-input v-model="form.volc_sk" placeholder="璇疯緭鍏ョ伀灞� SECRET_KEY" />
- </a-form-item> -->
- <a-form-item field="api_base" label="鍩虹URL">
- <a-input v-model="form.api_base" placeholder="璇疯緭鍏ュ熀纭�URL" />
- </a-form-item>
- <a-form-item field="name" label="API-Key">
- <a-input v-model="form.name" placeholder="API-Key" />
- </a-form-item>
- <!-- <a-form-item field="describe" label="Base-Url">
- <a-input v-model="form.name" placeholder="Base-Url" />
- </a-form-item> -->
- <a-form-item
+ <div v-for="(item, index) in form.formData.params" :key="index">
+ <div v-if="item.value_type === 'select'">
+ <a-form-item
+ :field="item.key"
+ :label="item.name"
+ :required="item.required"
+ >
+ <a-select v-model="form[item.key]" placeholder="璇烽�夋嫨">
+ <a-option
+ v-for="(list, v) in item.options"
+ :value="v"
+ :label="v"
+ ></a-option>
+ </a-select>
+ </a-form-item>
+ </div>
+ <div v-else-if="item.value_type === 'input'">
+ <a-form-item
+ :field="item.key"
+ :label="item.name"
+ :required="item.required"
+ >
+ <a-input v-model="form[item.key]" placeholder="璇疯緭鍏�" />
+ </a-form-item>
+ </div>
+ </div>
+ <!-- <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"
@@ -81,7 +67,7 @@
></Upload>
</a-space>
</a-form-item>
- <a-form-item field="all_params" label="澧炲姞鍏跺畠鍙傛暟閰嶇疆">
+ <!-- <a-form-item field="all_params" label="澧炲姞鍏跺畠鍙傛暟閰嶇疆">
<a-button
type="primary"
@click="handleAddClick"
@@ -91,7 +77,7 @@
<icon-plus />
</template>
</a-button>
- </a-form-item>
+ </a-form-item> -->
<a-form-item v-for="(item, index) in form.addFomList" :key="index">
<div class="addInput">
@@ -115,27 +101,6 @@
</div>
</a-form-item>
</div>
- <!-- <div v-else>
- <a-form-item field="name" label="API-Key">
- <a-input v-model="form.name" placeholder="API-Key" />
- </a-form-item>
- <a-form-item field="describe" label="Base-Url">
- <a-input v-model="form.name" placeholder="Base-Url" />
- </a-form-item>
-
- <a-form-item field="section" label="妯″瀷鍥剧墖">
- <a-space direction="vertical" :style="{ width: '100%' }">
- <Upload
- :action="uploadAction"
- :limit="1"
- :url="form.urlS"
- @handleRemove="deleteRemove"
- @update:fileList="updateFileList"
- @success="handleSuccess"
- ></Upload>
- </a-space>
- </a-form-item>
- </div> -->
<a-form-item>
<div style="width: 100%; text-align: right">
@@ -151,7 +116,7 @@
<script lang="ts" setup>
import { reactive, ref, computed, watch, watchEffect, onMounted } from 'vue';
- import { addLlm, getLlmDetail, editLlm } from '@/api/model';
+ import { addLlm, getLlmDetail, editLlm, getFactoryDetail } 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';
@@ -186,15 +151,8 @@
const form = reactive({
size: 'medium',
name: '',
+ formData: { logo: '' },
llm_factory: '',
- model_type: '',
- province: 'haidian',
- options: [
- { label: 'chat', value: 'chat' },
- { label: 'embedding', value: 'embedding' },
- { label: 'rerank', value: 'rerank' },
- { label: 'image2text', value: 'image2text' },
- ],
llm_name: '',
api_base: '',
volc_ak: '',
@@ -205,44 +163,13 @@
slider: 5,
score: 5,
switch: false,
- multiSelect: ['section one'],
- treeSelect: '',
raptor: false,
addFomList: <any[]>[],
});
+
const form_ref = ref();
const rules = {
- model_type: [
- {
- required: true,
- message: '璇烽�夋嫨妯″瀷绫诲瀷',
- },
- ],
- llm_name: [
- {
- required: true,
- message: '鍚嶇О涓嶅厑璁镐负绌�',
- },
- ],
- volc_sk: [
- {
- required: true,
- message: '璇疯緭鍏olc_sk',
- },
- ],
- volc_ak: [
- {
- required: true,
- message: '璇疯緭鍏olc_ak',
- },
- ],
- api_base: [
- {
- required: true,
- message: '璇疯緭鍏pi_base',
- },
- ],
logo: [
{
required: true,
@@ -281,46 +208,31 @@
const all_params = form.addFomList.map((item) => {
return item.name + ':' + item.value;
});
+ console.log(form, 9999);
form_ref.value
?.validate()
.then(async (res) => {
if (!res) {
+ form.formData.logo = uploadUrl.value[0] || '';
+ form.llm_factory = editList.value.llm_factory;
+ delete form.formData;
if (props.title == '缂栬緫') {
- console.log(imageUrls.value, 999);
- 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: uploadUrl.value[0] || '',
- });
+ const data = await editLlm(form);
if ((data as any).code == 200) {
message.success('娣诲姞鎴愬姛');
addPageModelVisible.value = false;
- emit('refresh-parent');
+ emit('refresh-parent', editList.value.llm_factory);
} else {
message.error('娣诲姞澶辫触');
}
} else {
- 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: uploadUrl.value[0] || '',
- });
+ const data = await addLlm(form);
if ((data as any).code == 200) {
message.success('娣诲姞鎴愬姛');
addPageModelVisible.value = false;
- emit('refresh-parent');
+ emit('refresh-parent', editList.value.llm_factory);
} else {
message.error('娣诲姞澶辫触');
}
@@ -408,6 +320,15 @@
imageUrls.value.push(httpUrl + data.data.logo);
};
+ const getFactory = async () => {
+ const { data } = await getFactoryDetail({
+ factory_name: editList.value.llm_factory,
+ });
+ form.formData = data;
+ };
+ onMounted(() => {
+ getFactory();
+ });
watchEffect(() => {
if (props.editList.name) {
--
Gitblit v1.8.0