Skip to content

Commit b8569ce

Browse files
authored
Merge pull request #91 from yokowu/feat-model-provider
feat(model): 支持配置自定义模型
2 parents 8aaed6a + c83285c commit b8569ce

File tree

2 files changed

+18
-15
lines changed

2 files changed

+18
-15
lines changed

backend/domain/model.go

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ type CheckModelReq struct {
8484
}
8585

8686
type GetProviderModelListReq struct {
87-
Provider consts.ModelProvider `json:"provider" query:"provider" validate:"required,oneof=SiliconFlow OpenAI Ollama DeepSeek Moonshot AzureOpenAI BaiZhiCloud Hunyuan BaiLian Volcengine"`
87+
Provider consts.ModelProvider `json:"provider" query:"provider" validate:"required,oneof=SiliconFlow OpenAI Ollama DeepSeek Moonshot AzureOpenAI BaiZhiCloud Hunyuan BaiLian Volcengine Other"`
8888
BaseURL string `json:"base_url" query:"base_url" validate:"required"`
8989
APIKey string `json:"api_key" query:"api_key"`
9090
APIHeader string `json:"api_header" query:"api_header"`
@@ -114,23 +114,23 @@ type GetTokenUsageReq struct {
114114

115115
type CreateModelReq struct {
116116
UserID string `json:"-"`
117-
ShowName string `json:"show_name"` // 模型显示名称
118-
ModelName string `json:"model_name" validate:"required"` // 模型名称 如: deepseek-v3
119-
Provider consts.ModelProvider `json:"provider" validate:"required,oneof=SiliconFlow OpenAI Ollama DeepSeek Moonshot AzureOpenAI BaiZhiCloud Hunyuan BaiLian Volcengine"` // 提供商
120-
APIBase string `json:"api_base" validate:"required"` // 接口地址 如:https://api.qwen.com
121-
APIKey string `json:"api_key"` // 接口密钥 如:sk-xxxx
117+
ShowName string `json:"show_name"` // 模型显示名称
118+
ModelName string `json:"model_name" validate:"required"` // 模型名称 如: deepseek-v3
119+
Provider consts.ModelProvider `json:"provider" validate:"required,oneof=SiliconFlow OpenAI Ollama DeepSeek Moonshot AzureOpenAI BaiZhiCloud Hunyuan BaiLian Volcengine Other"` // 提供商
120+
APIBase string `json:"api_base" validate:"required"` // 接口地址 如:https://api.qwen.com
121+
APIKey string `json:"api_key"` // 接口密钥 如:sk-xxxx
122122
APIVersion string `json:"api_version"`
123123
APIHeader string `json:"api_header"`
124124
ModelType consts.ModelType `json:"model_type"` // 模型类型 llm:对话模型 coder:代码模型
125125
}
126126

127127
type UpdateModelReq struct {
128-
ID string `json:"id"` // 模型ID
129-
ModelName *string `json:"model_name"` // 模型名称
130-
ShowName string `json:"show_name"` // 模型显示名称
131-
Provider *consts.ModelProvider `json:"provider" validate:"required,oneof=SiliconFlow OpenAI Ollama DeepSeek Moonshot AzureOpenAI BaiZhiCloud Hunyuan BaiLian Volcengine"` // 提供商
132-
APIBase *string `json:"api_base"` // 接口地址 如:https://api.qwen.com
133-
APIKey *string `json:"api_key"` // 接口密钥 如:sk-xxxx
128+
ID string `json:"id"` // 模型ID
129+
ModelName *string `json:"model_name"` // 模型名称
130+
ShowName *string `json:"show_name"` // 模型显示名称
131+
Provider *consts.ModelProvider `json:"provider" validate:"required,oneof=SiliconFlow OpenAI Ollama DeepSeek Moonshot AzureOpenAI BaiZhiCloud Hunyuan BaiLian Volcengine Other"` // 提供商
132+
APIBase *string `json:"api_base"` // 接口地址 如:https://api.qwen.com
133+
APIKey *string `json:"api_key"` // 接口密钥 如:sk-xxxx
134134
APIVersion *string `json:"api_version"`
135135
APIHeader *string `json:"api_header"`
136136
Status *consts.ModelStatus `json:"status"` // 状态 active:启用 inactive:禁用
@@ -149,9 +149,9 @@ type ModelTokenUsage struct {
149149
}
150150

151151
type ModelBasic struct {
152-
Name string `json:"name"` // 模型名称
153-
Provider consts.ModelProvider `json:"provider" validate:"required,oneof=SiliconFlow OpenAI Ollama DeepSeek Moonshot AzureOpenAI BaiZhiCloud Hunyuan BaiLian Volcengine"` // 提供商
154-
APIBase string `json:"api_base"` // 接口地址 如:https://api.qwen.com
152+
Name string `json:"name"` // 模型名称
153+
Provider consts.ModelProvider `json:"provider" validate:"required,oneof=SiliconFlow OpenAI Ollama DeepSeek Moonshot AzureOpenAI BaiZhiCloud Hunyuan BaiLian Volcengine Other"` // 提供商
154+
APIBase string `json:"api_base"` // 接口地址 如:https://api.qwen.com
155155
}
156156

157157
type ModelUsage struct {

backend/internal/model/usecase/model.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,9 @@ func (m *ModelUsecase) Update(ctx context.Context, req *domain.UpdateModelReq) (
225225
if req.APIHeader != nil {
226226
up.SetAPIHeader(*req.APIHeader)
227227
}
228+
if req.ShowName != nil {
229+
up.SetShowName(*req.ShowName)
230+
}
228231
if req.Status != nil {
229232
if *req.Status == consts.ModelStatusActive {
230233
if err := tx.Model.Update().

0 commit comments

Comments
 (0)