package model import "time" // ModelInfo 模型信息 type ModelInfo struct { ID string `json:"id" gorm:"primaryKey;type:varchar(36)"` Name string `json:"name" gorm:"type:varchar(255);not null"` ModelType string `json:"model_type" gorm:"type:varchar(50);not null"` // chat/embedding/rerank/vlm Provider string `json:"provider" gorm:"type:varchar(50);not null"` // OpenAI/Ollama Model string `json:"model" gorm:"type:varchar(255);not null"` // 模型标识 APIKey string `json:"api_key" gorm:"type:text"` // API 密钥 BaseURL string `json:"base_url" gorm:"type:varchar(500)"` // 基础 URL APIEndpoint string `json:"api_endpoint" gorm:"type:varchar(500)"` // API 端点路径 Status string `json:"status" gorm:"type:varchar(20);default:active"` // active/inactive CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } func (ModelInfo) TableName() string { return "model_info" } // ModelListRequest 获取模型列表请求 type ModelListRequest struct { } // ModelListResponse 获取模型列表响应 type ModelListResponse struct { List []ModelInfo `json:"list"` } // CreateModelRequest 创建模型请求 type CreateModelRequest struct { Name string `json:"name" binding:"required"` ModelType string `json:"model_type" binding:"required"` Provider string `json:"provider" binding:"required"` Model string `json:"model" binding:"required"` APIKey string `json:"api_key" binding:"required"` BaseURL string `json:"base_url" binding:"required"` APIEndpoint string `json:"api_endpoint"` Status string `json:"status"` } // UpdateModelRequest 更新模型请求 type UpdateModelRequest struct { Name string `json:"name"` ModelType string `json:"model_type"` Provider string `json:"provider"` Model string `json:"model"` APIKey string `json:"api_key"` BaseURL string `json:"base_url"` APIEndpoint string `json:"api_endpoint"` Status string `json:"status"` } // TestModelRequest 测试模型连接请求 type TestModelRequest struct { Provider string `json:"provider" binding:"required"` Model string `json:"model" binding:"required"` APIKey string `json:"api_key" binding:"required"` BaseURL string `json:"base_url" binding:"required"` APIEndpoint string `json:"api_endpoint"` } // TestModelResponse 测试模型连接响应 type TestModelResponse struct { Success bool `json:"success"` Message string `json:"message"` }