From 99b65bead634e488113d9ac9731c40d2fc0bef09 Mon Sep 17 00:00:00 2001 From: ningyv <1793599591@qq.com> Date: Fri, 14 Feb 2025 15:39:01 +0800 Subject: [PATCH] feat: Local deployment popup optimization --- .../core/src/pages/guide/LocalAiDeploy.tsx | 102 ++++++++++++------ 1 file changed, 69 insertions(+), 33 deletions(-) diff --git a/frontend/packages/core/src/pages/guide/LocalAiDeploy.tsx b/frontend/packages/core/src/pages/guide/LocalAiDeploy.tsx index 2c52ec68..68b8d071 100644 --- a/frontend/packages/core/src/pages/guide/LocalAiDeploy.tsx +++ b/frontend/packages/core/src/pages/guide/LocalAiDeploy.tsx @@ -15,6 +15,7 @@ const LocalAiDeploy = forwardRef((props: any, ref: any const [form] = Form.useForm() const { fetchData } = useFetch() const [modelList, setModelList] = useState([]) + const [tagList, setTagList] = useState([]) const [teamList, setTeamList] = useState([]) const { deployLocalModel, getTeamOptionList } = useDeployLocalModel() @@ -22,17 +23,27 @@ const LocalAiDeploy = forwardRef((props: any, ref: any * 获取本地模型列表 * @returns 本地模型列表 */ - const getLocalModelList = async () => { - const response = await fetchData>( - 'model/local/can_deploy', - { method: 'GET', eoTransformKeys: ['is_popular'] } - ) + const getLocalModelList = async (keyword?: string) => { + const response = await fetchData>('model/local/can_deploy', { + method: 'GET', + eoTransformKeys: ['is_popular'], + ...(keyword ? { eoParams: { keyword } } : {}) + }) const { code, data, msg } = response if (code === STATUS_CODE.SUCCESS) { - const modelList = data.models?.map((x: LocalModelItem) => { - return { ...x, label: x.name, value: x.id } - }) - setModelList(modelList) + if (!keyword) { + const modelList = data.models?.map((x: LocalModelItem) => { + return { ...x, label: x.name, value: x.id } + }) + setModelList(modelList) + } else { + const tagList = data.models?.map((x: LocalModelItem) => { + return { ...x, label: x.name, value: x.id } + }) + tagList.unshift({ id: 'default', name: 'default' }) + form.setFieldValue('model', 'default') + setTagList(tagList) + } } else { message.error(msg || $t(RESPONSE_TIPS.error)) return [] @@ -42,12 +53,11 @@ const LocalAiDeploy = forwardRef((props: any, ref: any /** * 部署热门模型 * @param id 模型ID - * @returns + * @returns */ const deployPopularModel = async (id: string) => { await deployLocalModel({ - modelID: id, - team: form.getFieldValue('team') + modelID: id }) onClose?.() } @@ -66,14 +76,17 @@ const LocalAiDeploy = forwardRef((props: any, ref: any /** * 部署本地AI - * @returns + * @returns */ const deployLocalAIServer = () => { return new Promise((resolve, reject) => { form .validateFields() .then(async (value) => { - await deployLocalModel(value) + await deployLocalModel({ + modelID: value.model, + team: value.team + }) resolve(true) }) .catch((errorInfo) => reject(errorInfo)) @@ -94,7 +107,7 @@ const LocalAiDeploy = forwardRef((props: any, ref: any name="partitionInsideCert" autoComplete="off" > - +
@@ -119,23 +133,45 @@ const LocalAiDeploy = forwardRef((props: any, ref: any {$t('热点模型')}
- {modelList.length ? - modelList - .filter((item) => item.is_popular) - .map((item) => ( - { - deployPopularModel(item.id) - }} - > - {item.name} - - )) : null} + onClick={() => { + deployPopularModel(item.id) + }} + > + {item.name} + + )) + : null}
+ + +