You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
24 lines
1.1 KiB
24 lines
1.1 KiB
package model
|
|
|
|
import "time"
|
|
|
|
// AIUsageRecord AI使用记录
|
|
type AIUsageRecord struct {
|
|
Id int64 `gorm:"column:id;primaryKey;autoIncrement" json:"id"`
|
|
UserId int64 `gorm:"column:user_id;index;not null" json:"userId"`
|
|
ProviderId int64 `gorm:"column:provider_id;index" json:"providerId"`
|
|
ModelId string `gorm:"column:model_id;type:varchar(100)" json:"modelId"`
|
|
InputTokens int `gorm:"column:input_tokens;default:0" json:"inputTokens"`
|
|
OutputTokens int `gorm:"column:output_tokens;default:0" json:"outputTokens"`
|
|
Cost float64 `gorm:"column:cost;type:decimal(10,6);default:0" json:"cost"`
|
|
ApiKeyId int64 `gorm:"column:api_key_id;default:0" json:"apiKeyId"`
|
|
Status string `gorm:"column:status;type:varchar(20);default:'ok'" json:"status"`
|
|
LatencyMs int `gorm:"column:latency_ms;default:0" json:"latencyMs"`
|
|
ErrorMessage string `gorm:"column:error_message;type:text" json:"errorMessage"`
|
|
CreatedAt time.Time `gorm:"column:created_at;autoCreateTime" json:"createdAt"`
|
|
}
|
|
|
|
// TableName 指定表名
|
|
func (AIUsageRecord) TableName() string {
|
|
return "ai_usage_record"
|
|
}
|
|
|