35 lines
1.9 KiB
Go
35 lines
1.9 KiB
Go
package models
|
|
|
|
import "time"
|
|
|
|
// AiModelItem 模型条目:模型 ID + 展示名称
|
|
type AiModelItem struct {
|
|
ID string `json:"id"`
|
|
Name string `json:"name"`
|
|
}
|
|
|
|
// PlatformAiProvider 平台级 AI 服务商配置(DeepSeek / 豆包 / Codex 等)
|
|
// 表:yz_platform_ai_provider,建表 SQL 见 docs/sql/create_platform_ai_provider.sql
|
|
type PlatformAiProvider struct {
|
|
ID uint64 `orm:"column(id);pk;auto" json:"id"`
|
|
ProviderType string `orm:"column(provider_type);size(30)" json:"provider_type"` // 预设分类:deepseek / doubao / codex / custom
|
|
ApiType string `orm:"column(api_type);size(30)" json:"api_type"` // 协议类型:chat_completions / responses / anthropic
|
|
Name string `orm:"column(name);size(100)" json:"name"`
|
|
ApiBase string `orm:"column(api_base);size(255)" json:"api_base"`
|
|
ApiKey string `orm:"column(api_key);size(500)" json:"-"` // 不回传前端
|
|
ApiKeyMasked string `orm:"-" json:"api_key_masked"` // 回显掩码,如 sk-***abcd
|
|
Models string `orm:"column(models);type(text)" json:"-"` // JSON数组
|
|
ModelsList []AiModelItem `orm:"-" json:"models"`
|
|
DefaultModel string `orm:"column(default_model);size(255)" json:"default_model"`
|
|
IsDefault int8 `orm:"column(is_default);default(0)" json:"is_default"`
|
|
Status int8 `orm:"column(status);default(1)" json:"status"` // 0-禁用 1-启用
|
|
Remark string `orm:"column(remark);size(255)" json:"remark"`
|
|
CreateTime time.Time `orm:"column(create_time);auto_now_add;type(datetime)" json:"create_time"`
|
|
UpdateTime time.Time `orm:"column(update_time);auto_now;type(datetime)" json:"update_time"`
|
|
DeleteTime *time.Time `orm:"column(delete_time);type(datetime);null" json:"delete_time"`
|
|
}
|
|
|
|
func (m *PlatformAiProvider) TableName() string {
|
|
return "yz_platform_ai_provider"
|
|
}
|