From 3392abaf4b0a697411dee136d78b0253c2f401ee Mon Sep 17 00:00:00 2001 From: sunanzhi Date: Wed, 12 Mar 2025 14:53:06 +0800 Subject: [PATCH] fix: prevent duplicate model names --- module/ai-model/iml.go | 9 ++++----- service/ai-model/iml.go | 9 ++++++--- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/module/ai-model/iml.go b/module/ai-model/iml.go index 033a05df..b819f1e9 100644 --- a/module/ai-model/iml.go +++ b/module/ai-model/iml.go @@ -61,12 +61,7 @@ func (i *imlProviderModelModule) UpdateProviderModel(ctx *gin.Context, provider if modelInfo == nil || modelInfo.Provider != provider { return fmt.Errorf("model not found") } - // check model name duplicate - if has := i.providerModelService.CheckNameDuplicate(ctx, provider, input.Name, input.Id); has { - return fmt.Errorf("model name: `%s` duplicate", input.Name) - } if err := i.providerModelService.Save(ctx, input.Id, &ai_model.Model{ - Name: &input.Name, AccessConfiguration: &input.AccessConfiguration, ModelParameters: &input.ModelParameters, }); err != nil { @@ -115,6 +110,10 @@ func (i *imlProviderModelModule) AddProviderModel(ctx *gin.Context, provider str if has := i.providerModelService.CheckNameDuplicate(ctx, provider, input.Name, ""); has { return nil, fmt.Errorf("model name: `%s` duplicate", input.Name) } + // check provider model exist + if _, has := p.GetModel(input.Name); has { + return nil, fmt.Errorf("provider model already exist") + } id := uuid.New().String() typeValue := "chat" if err := i.providerModelService.Save(ctx, id, &ai_model.Model{ diff --git a/service/ai-model/iml.go b/service/ai-model/iml.go index 79d7faf7..9a4dc176 100644 --- a/service/ai-model/iml.go +++ b/service/ai-model/iml.go @@ -72,10 +72,13 @@ func (i *imlProviderModelService) CheckNameDuplicate(ctx context.Context, provid v, _ := i.store.First(ctx, map[string]interface{}{"provider": provider, "name": name}) if v == nil { return false - } else if excludeId != "" && v.UUID != excludeId { - return true + } else { + if excludeId == "" { + return true + } else { + return v.UUID != excludeId + } } - return false } func (i *imlProviderModelService) OnComplete() {