mirror of
https://github.com/fawney19/Aether.git
synced 2026-01-02 15:52:26 +08:00
fix: 修复模型映射中重复关联的问题
在批量分配模型和编辑模型映射时,需要检查不仅是主模型名是否已关联, 还要检查其映射名称是否已存在,防止同一个上游模型被重复关联。
This commit is contained in:
@@ -433,11 +433,17 @@ const availableGlobalModels = computed(() => {
|
|||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
|
||||||
// 计算可添加的上游模型(排除已关联的)
|
// 计算可添加的上游模型(排除已关联的,包括主模型名和映射名称)
|
||||||
const availableUpstreamModelsBase = computed(() => {
|
const availableUpstreamModelsBase = computed(() => {
|
||||||
const existingModelNames = new Set(
|
const existingModelNames = new Set<string>()
|
||||||
existingModels.value.map(m => m.provider_model_name)
|
for (const m of existingModels.value) {
|
||||||
)
|
// 主模型名
|
||||||
|
existingModelNames.add(m.provider_model_name)
|
||||||
|
// 映射名称
|
||||||
|
for (const mapping of m.provider_model_mappings ?? []) {
|
||||||
|
if (mapping.name) existingModelNames.add(mapping.name)
|
||||||
|
}
|
||||||
|
}
|
||||||
return upstreamModels.value.filter(m => !existingModelNames.has(m.id))
|
return upstreamModels.value.filter(m => !existingModelNames.has(m.id))
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@@ -449,7 +449,17 @@ interface UpstreamModelGroup {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const groupedAvailableUpstreamModels = computed<UpstreamModelGroup[]>(() => {
|
const groupedAvailableUpstreamModels = computed<UpstreamModelGroup[]>(() => {
|
||||||
|
// 收集当前表单已添加的名称
|
||||||
const addedNames = new Set(formData.value.aliases.map(a => a.name.trim()))
|
const addedNames = new Set(formData.value.aliases.map(a => a.name.trim()))
|
||||||
|
|
||||||
|
// 收集所有已存在的映射名称(包括主模型名和映射名称)
|
||||||
|
for (const m of props.models) {
|
||||||
|
addedNames.add(m.provider_model_name)
|
||||||
|
for (const mapping of m.provider_model_mappings ?? []) {
|
||||||
|
if (mapping.name) addedNames.add(mapping.name)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const availableModels = filteredUpstreamModels.value.filter(m => !addedNames.has(m.id))
|
const availableModels = filteredUpstreamModels.value.filter(m => !addedNames.has(m.id))
|
||||||
|
|
||||||
const groups = new Map<string, UpstreamModelGroup>()
|
const groups = new Map<string, UpstreamModelGroup>()
|
||||||
|
|||||||
Reference in New Issue
Block a user