From c83285cdc3aba60a30c9c52d6b970235a3935ffc Mon Sep 17 00:00:00 2001 From: yokowu <18836617@qq.com> Date: Wed, 16 Jul 2025 14:28:42 +0800 Subject: [PATCH] =?UTF-8?q?feat(model):=20=E6=94=AF=E6=8C=81=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E8=87=AA=E5=AE=9A=E4=B9=89=E6=A8=A1=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/domain/model.go | 30 ++++++++++++------------- backend/internal/model/usecase/model.go | 3 +++ 2 files changed, 18 insertions(+), 15 deletions(-) diff --git a/backend/domain/model.go b/backend/domain/model.go index 36d2896..64ff069 100644 --- a/backend/domain/model.go +++ b/backend/domain/model.go @@ -84,7 +84,7 @@ type CheckModelReq struct { } type GetProviderModelListReq struct { - Provider consts.ModelProvider `json:"provider" query:"provider" validate:"required,oneof=SiliconFlow OpenAI Ollama DeepSeek Moonshot AzureOpenAI BaiZhiCloud Hunyuan BaiLian Volcengine"` + Provider consts.ModelProvider `json:"provider" query:"provider" validate:"required,oneof=SiliconFlow OpenAI Ollama DeepSeek Moonshot AzureOpenAI BaiZhiCloud Hunyuan BaiLian Volcengine Other"` BaseURL string `json:"base_url" query:"base_url" validate:"required"` APIKey string `json:"api_key" query:"api_key"` APIHeader string `json:"api_header" query:"api_header"` @@ -114,23 +114,23 @@ type GetTokenUsageReq struct { type CreateModelReq struct { UserID string `json:"-"` - ShowName string `json:"show_name"` // 模型显示名称 - ModelName string `json:"model_name" validate:"required"` // 模型名称 如: deepseek-v3 - Provider consts.ModelProvider `json:"provider" validate:"required,oneof=SiliconFlow OpenAI Ollama DeepSeek Moonshot AzureOpenAI BaiZhiCloud Hunyuan BaiLian Volcengine"` // 提供商 - APIBase string `json:"api_base" validate:"required"` // 接口地址 如:https://api.qwen.com - APIKey string `json:"api_key"` // 接口密钥 如:sk-xxxx + ShowName string `json:"show_name"` // 模型显示名称 + ModelName string `json:"model_name" validate:"required"` // 模型名称 如: deepseek-v3 + Provider consts.ModelProvider `json:"provider" validate:"required,oneof=SiliconFlow OpenAI Ollama DeepSeek Moonshot AzureOpenAI BaiZhiCloud Hunyuan BaiLian Volcengine Other"` // 提供商 + APIBase string `json:"api_base" validate:"required"` // 接口地址 如:https://api.qwen.com + APIKey string `json:"api_key"` // 接口密钥 如:sk-xxxx APIVersion string `json:"api_version"` APIHeader string `json:"api_header"` ModelType consts.ModelType `json:"model_type"` // 模型类型 llm:对话模型 coder:代码模型 } type UpdateModelReq struct { - ID string `json:"id"` // 模型ID - ModelName *string `json:"model_name"` // 模型名称 - ShowName string `json:"show_name"` // 模型显示名称 - Provider *consts.ModelProvider `json:"provider" validate:"required,oneof=SiliconFlow OpenAI Ollama DeepSeek Moonshot AzureOpenAI BaiZhiCloud Hunyuan BaiLian Volcengine"` // 提供商 - APIBase *string `json:"api_base"` // 接口地址 如:https://api.qwen.com - APIKey *string `json:"api_key"` // 接口密钥 如:sk-xxxx + ID string `json:"id"` // 模型ID + ModelName *string `json:"model_name"` // 模型名称 + ShowName *string `json:"show_name"` // 模型显示名称 + Provider *consts.ModelProvider `json:"provider" validate:"required,oneof=SiliconFlow OpenAI Ollama DeepSeek Moonshot AzureOpenAI BaiZhiCloud Hunyuan BaiLian Volcengine Other"` // 提供商 + APIBase *string `json:"api_base"` // 接口地址 如:https://api.qwen.com + APIKey *string `json:"api_key"` // 接口密钥 如:sk-xxxx APIVersion *string `json:"api_version"` APIHeader *string `json:"api_header"` Status *consts.ModelStatus `json:"status"` // 状态 active:启用 inactive:禁用 @@ -149,9 +149,9 @@ type ModelTokenUsage struct { } type ModelBasic struct { - Name string `json:"name"` // 模型名称 - Provider consts.ModelProvider `json:"provider" validate:"required,oneof=SiliconFlow OpenAI Ollama DeepSeek Moonshot AzureOpenAI BaiZhiCloud Hunyuan BaiLian Volcengine"` // 提供商 - APIBase string `json:"api_base"` // 接口地址 如:https://api.qwen.com + Name string `json:"name"` // 模型名称 + Provider consts.ModelProvider `json:"provider" validate:"required,oneof=SiliconFlow OpenAI Ollama DeepSeek Moonshot AzureOpenAI BaiZhiCloud Hunyuan BaiLian Volcengine Other"` // 提供商 + APIBase string `json:"api_base"` // 接口地址 如:https://api.qwen.com } type ModelUsage struct { diff --git a/backend/internal/model/usecase/model.go b/backend/internal/model/usecase/model.go index 50f5a7d..07da554 100644 --- a/backend/internal/model/usecase/model.go +++ b/backend/internal/model/usecase/model.go @@ -225,6 +225,9 @@ func (m *ModelUsecase) Update(ctx context.Context, req *domain.UpdateModelReq) ( if req.APIHeader != nil { up.SetAPIHeader(*req.APIHeader) } + if req.ShowName != nil { + up.SetShowName(*req.ShowName) + } if req.Status != nil { if *req.Status == consts.ModelStatusActive { if err := tx.Model.Update().