32 lines
1.3 KiB
Go
32 lines
1.3 KiB
Go
package app
|
|
|
|
import (
|
|
"time"
|
|
|
|
"gorm.io/datatypes"
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
// AIConfig AI配置模型
|
|
type AIConfig struct {
|
|
ID uint `gorm:"primarykey" json:"id"`
|
|
CreatedAt time.Time `json:"createdAt"`
|
|
UpdatedAt time.Time `json:"updatedAt"`
|
|
DeletedAt gorm.DeletedAt `gorm:"index" json:"-"`
|
|
|
|
Name string `gorm:"type:varchar(100);not null" json:"name"` // 配置名称
|
|
Provider string `gorm:"type:varchar(50);not null" json:"provider"` // 提供商 (openai/anthropic/custom)
|
|
BaseURL string `gorm:"type:varchar(500)" json:"baseUrl"` // API Base URL
|
|
APIKey string `gorm:"type:varchar(500)" json:"apiKey"` // API Key (加密存储)
|
|
Models datatypes.JSON `gorm:"type:jsonb" json:"models"` // 可用模型列表
|
|
DefaultModel string `gorm:"type:varchar(100)" json:"defaultModel"` // 默认模型
|
|
Settings datatypes.JSON `gorm:"type:jsonb" json:"settings"` // 其他设置 (temperature等)
|
|
IsActive bool `gorm:"default:false" json:"isActive"` // 是否激活
|
|
IsDefault bool `gorm:"default:false" json:"isDefault"` // 是否为默认配置
|
|
}
|
|
|
|
// TableName 指定表名
|
|
func (AIConfig) TableName() string {
|
|
return "ai_configs"
|
|
}
|