Browse Source

change model

master
godo 6 months ago
parent
commit
3c3024ae54
  1. 16
      frontend/src/components/ai/aisetting.vue
  2. 35
      frontend/src/stores/model.ts

16
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></el-input>
</div>
</el-form-item>
<el-form-item>
<el-button @click="saveConfig" type="info" plain>
{{ t("common.confim") }}
@ -178,8 +188,8 @@ async function changeDir() {
<el-form label-width="150px" style="padding: 0 30px 50px 0">
<el-form-item :label="t('model.' + item)" v-for="(item, index) in modelStore.cateList" :key="index">
<el-select v-model="currentsModel[item]" @change="(val: any) => modelStore.setCurrentModel(item, val)">
<el-option v-for="(el, key) in modelStore.getCurrentModelList(item)" :key="key"
:label="el.model" :value="el.model" />
<el-option v-for="(el, key) in modelStore.getCurrentModelList(item)" :key="key" :label="el.model"
:value="el.model" />
</el-select>
</el-form-item>
</el-form>

35
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) {

Loading…
Cancel
Save