From 347b640614ec4476125f25d95ec993594beb6cd4 Mon Sep 17 00:00:00 2001 From: GeekMaster Date: Thu, 8 May 2025 09:29:31 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=A8=A1=E5=9E=8B=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E6=8A=A5=E6=95=B0=E6=8D=AE=E5=BA=93=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E4=B8=8D=E5=AD=98=E5=9C=A8=E7=9A=84=20bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/handler/admin/chat_model_handler.go | 12 ++++++---- api/store/model/chat_model.go | 12 +++++----- api/store/mysql.go | 2 +- api/store/vo/chat_model.go | 4 ++-- web/src/views/admin/ChatModel.vue | 29 ++++++++++++------------- 5 files changed, 31 insertions(+), 28 deletions(-) diff --git a/api/handler/admin/chat_model_handler.go b/api/handler/admin/chat_model_handler.go index 5ad9f182..471e8f08 100644 --- a/api/handler/admin/chat_model_handler.go +++ b/api/handler/admin/chat_model_handler.go @@ -40,8 +40,8 @@ func (h *ChatModelHandler) Save(c *gin.Context) { Power int `json:"power"` MaxTokens int `json:"max_tokens"` // 最大响应长度 MaxContext int `json:"max_context"` // 最大上下文长度 - Description string `json:"description"` //模型描述 - Category string `json:"category"` //模型类别 + Desc string `json:"desc"` //模型描述 + Tag string `json:"tag"` //模型标签 Temperature float32 `json:"temperature"` // 模型温度 KeyId int `json:"key_id,omitempty"` CreatedAt int64 `json:"created_at"` @@ -66,8 +66,8 @@ func (h *ChatModelHandler) Save(c *gin.Context) { item.Power = data.Power item.MaxTokens = data.MaxTokens item.MaxContext = data.MaxContext - item.Description = data.Description - item.Category = data.Category + item.Desc = data.Desc + item.Tag = data.Tag item.Temperature = data.Temperature item.KeyId = uint(data.KeyId) item.Type = data.Type @@ -100,12 +100,16 @@ func (h *ChatModelHandler) List(c *gin.Context) { session := h.DB.Session(&gorm.Session{}) enable := h.GetBool(c, "enable") name := h.GetTrim(c, "name") + modelType := h.GetTrim(c, "type") if enable { session = session.Where("enabled", enable) } if name != "" { session = session.Where("name LIKE ?", name+"%") } + if modelType != "" { + session = session.Where("type", modelType) + } var items []model.ChatModel var cms = make([]vo.ChatModel, 0) res := session.Order("sort_num ASC").Find(&items) diff --git a/api/store/model/chat_model.go b/api/store/model/chat_model.go index b753c347..cf42e154 100644 --- a/api/store/model/chat_model.go +++ b/api/store/model/chat_model.go @@ -5,20 +5,20 @@ import ( ) type ChatModel struct { - Id uint `gorm:"column:id;primaryKey;autoIncrement" json:"id"` - Description string `gorm:"column:description;type:varchar(1024);not null;default:'';comment:模型类型描述" json:"description"` - Category string `gorm:"column:category;type:varchar(1024);not null;default:'';comment:模型类别" json:"category"` + Id uint `gorm:"column:id;primaryKey;autoIncrement" json:"id"` + Desc string `gorm:"column:desc;type:varchar(1024);not null;default:'';comment:模型类型描述" json:"desc"` + Tag string `gorm:"column:tag;type:varchar(1024);not null;default:'';comment:模型标签" json:"tag"` Type string `gorm:"column:type;type:varchar(10);not null;default:chat;comment:模型类型(chat,img)" json:"type"` Name string `gorm:"column:name;type:varchar(255);not null;comment:模型名称" json:"name"` Value string `gorm:"column:value;type:varchar(255);not null;comment:模型值" json:"value"` SortNum int `gorm:"column:sort_num;type:tinyint(1);not null;comment:排序数字" json:"sort_num"` - Enabled bool `gorm:"column:enabled;type:tinyint(1);not null;default:0;comment:是否启用模型" json:"enabled"` + Enabled bool `gorm:"column:enabled;type:tinyint(1);not null;default:0;comment:是否启用模型" json:"enabled"` Power int `gorm:"column:power;type:smallint;not null;comment:消耗算力点数" json:"power"` Temperature float32 `gorm:"column:temperature;type:float(3,1);not null;default:1.0;comment:模型创意度" json:"temperature"` MaxTokens int `gorm:"column:max_tokens;type:int;not null;default:1024;comment:最大响应长度" json:"max_tokens"` MaxContext int `gorm:"column:max_context;type:int;not null;default:4096;comment:最大上下文长度" json:"max_context"` - Open bool `gorm:"column:open;type:tinyint(1);not null;comment:是否开放模型" json:"open"` - KeyId uint `gorm:"column:key_id;type:int;not null;comment:绑定API KEY ID" json:"key_id"` + Open bool `gorm:"column:open;type:tinyint(1);not null;comment:是否开放模型" json:"open"` + KeyId uint `gorm:"column:key_id;type:int;not null;comment:绑定API KEY ID" json:"key_id"` Options string `gorm:"column:options;type:text;not null;comment:模型自定义选项" json:"options"` CreatedAt time.Time `gorm:"column:created_at;type:datetime" json:"created_at"` UpdatedAt time.Time `gorm:"column:updated_at;type:datetime" json:"updated_at"` diff --git a/api/store/mysql.go b/api/store/mysql.go index 8a582740..8233c695 100644 --- a/api/store/mysql.go +++ b/api/store/mysql.go @@ -19,7 +19,7 @@ import ( func NewGormConfig() *gorm.Config { return &gorm.Config{ - Logger: logger.Default.LogMode(logger.Error), + Logger: logger.Default.LogMode(logger.Warn), NamingStrategy: schema.NamingStrategy{ TablePrefix: "chatgpt_", // 设置表前缀 SingularTable: false, // 使用单数表名形式 diff --git a/api/store/vo/chat_model.go b/api/store/vo/chat_model.go index 427fa4e8..b4076e19 100644 --- a/api/store/vo/chat_model.go +++ b/api/store/vo/chat_model.go @@ -10,8 +10,8 @@ type ChatModel struct { Open bool `json:"open"` MaxTokens int `json:"max_tokens"` // 最大响应长度 MaxContext int `json:"max_context"` // 最大上下文长度 - Description string `json:"description"` // 模型描述 - Category string `json:"category"` //模型类别 + Desc string `json:"desc"` // 模型描述 + Tag string `json:"tag"` //模型标签 Temperature float32 `json:"temperature"` // 模型温度 KeyId uint `json:"key_id,omitempty"` KeyName string `json:"key_name"` diff --git a/web/src/views/admin/ChatModel.vue b/web/src/views/admin/ChatModel.vue index b7387336..8cd433da 100644 --- a/web/src/views/admin/ChatModel.vue +++ b/web/src/views/admin/ChatModel.vue @@ -3,6 +3,12 @@
+ + + {{ v.label }} + + + 搜索 新增
@@ -25,7 +31,7 @@ - + - - - @@ -79,7 +78,7 @@ - + {{ v.label }} @@ -92,8 +91,8 @@ - - + + @@ -137,8 +136,8 @@ /> - - + + @@ -237,7 +236,7 @@ const rules = reactive({ }) const loading = ref(true) const formRef = ref(null) -const type = ref([ +const modelTypes = ref([ { label: '聊天', value: 'chat' }, { label: '绘图', value: 'img' }, { label: '语音', value: 'tts' }, @@ -344,7 +343,7 @@ const add = function () { const edit = function (row) { title.value = '修改模型' showDialog.value = true - item.value = row + item.value = Object.assign({}, row) } const save = function () {