From 3c3024ae54242782a035f2937fbc056d73eb09b7 Mon Sep 17 00:00:00 2001 From: godo Date: Sun, 24 Nov 2024 22:24:55 +0800 Subject: [PATCH] change model --- frontend/src/components/ai/aisetting.vue | 16 +++++++++-- frontend/src/stores/model.ts | 35 +++++++++++++++++------- 2 files changed, 38 insertions(+), 13 deletions(-) diff --git a/frontend/src/components/ai/aisetting.vue b/frontend/src/components/ai/aisetting.vue index ca42597..6aa2ec4 100644 --- a/frontend/src/components/ai/aisetting.vue +++ b/frontend/src/components/ai/aisetting.vue @@ -113,6 +113,16 @@ onMounted(async () => { //modelList.value = modelStore.modelList; //console.log(modelList.value) pageLoading.value = false; + modelStore.cateList.forEach((item: any) => { + const currentModel = modelStore.modelList.find((el: any) => el.category === item && el.isdef === 1); + if (currentModel) { + currentsModel.value[item] = currentModel.model; + } else { + const firstModel = modelStore.getCurrentModelList(item)[0]; + currentsModel.value[item] = firstModel ? firstModel.model : ''; + } + }); + }); async function changeDir() { const path: any = await OpenDirDialog(); @@ -164,7 +174,7 @@ async function changeDir() { clearable> - + {{ t("common.confim") }} @@ -178,8 +188,8 @@ async function changeDir() { - + diff --git a/frontend/src/stores/model.ts b/frontend/src/stores/model.ts index 795f2c0..e0d0d1b 100644 --- a/frontend/src/stores/model.ts +++ b/frontend/src/stores/model.ts @@ -142,17 +142,29 @@ export const useModelStore = defineStore('modelStore', () => { return modelList.value } async function resetData(res: any) { - const data = await res.json() - //console.log(data) + const data = await res.json(); + // console.log(data); if (data && data.length > 0) { - await db.clear("modelslist") - await db.addAll("modelslist", data) - nextTick(() => { - modelList.value = data - }) - + // 获取当前modelList中的模型名称 + const existingModels:any = []; + const has = await db.getAll("modelslist"); + has.forEach((model: any) => { + if(model.isdef && model.isdef > 0) { + existingModels.push(model.model) + } + }) + data.forEach((d:any) => { + if (existingModels.includes(d.model)) { + d.isdef = 1 + } + }); + await db.clear("modelslist"); + await db.addAll("modelslist", data); + modelList.value = data; } - } + // 重新获取所有模型列表 + +} async function refreshOllama() { const res = await fetchGet(`${aiUrl}/ai/refreshOllama`) //console.log(res) @@ -182,7 +194,10 @@ export const useModelStore = defineStore('modelStore', () => { await db.modify("modelslist", "action", action, { isdef: 0 }) //console.log(model) if (model !== "") { - return await db.modify("modelslist", "model", model, { isdef: 1 }) + const data = await db.get("modelslist", { model }) + if (data) { + return await db.update("modelslist", data.id, { isdef: 1 }) + } } else { const data = await db.get("modelslist", { action }) if (data) {