tokenFactory/model/supplier_model_pricing_tabl...

57 lines
4.5 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package model
import (
"time"
)
// SupplierModelPricing 供应商「全局模型定价」表记录(按 supplier_application_id + model_name 唯一)。
// 仅作用于该供应商名下渠道;优先级低于 SupplierChannelModelPricing高于平台全局 Option。
type SupplierModelPricing struct {
ID int `json:"id" gorm:"primaryKey;comment:主键ID"`
SupplierApplicationID int `json:"supplier_application_id" gorm:"not null;uniqueIndex:uk_supplier_global_model;index;comment:供应商申请ID关联 supplier_applications.id"`
ModelName string `json:"model_name" gorm:"type:varchar(512);not null;uniqueIndex:uk_supplier_global_model;comment:模型名称(存库为 FormatMatching 规范化名)"`
QuotaType int8 `json:"quota_type" gorm:"not null;default:0;comment:计费类型 0按量倍率 1按次固定价"`
ModelPrice *float64 `json:"model_price,omitempty" gorm:"comment:按次固定价格(美元/次QuotaType=1 时生效"`
ModelRatio *float64 `json:"model_ratio,omitempty" gorm:"comment:输入倍率(与平台 ModelRatio 语义一致)"`
CompletionRatio *float64 `json:"completion_ratio,omitempty" gorm:"comment:输出相对输入倍率"`
CacheRatio *float64 `json:"cache_ratio,omitempty" gorm:"comment:缓存命中相对输入倍率"`
CreateCacheRatio *float64 `json:"create_cache_ratio,omitempty" gorm:"comment:缓存写入相对输入倍率"`
ImageRatio *float64 `json:"image_ratio,omitempty" gorm:"comment:图像计费倍率"`
AudioRatio *float64 `json:"audio_ratio,omitempty" gorm:"comment:音频输入倍率"`
AudioCompletionRatio *float64 `json:"audio_completion_ratio,omitempty" gorm:"comment:音频输出相对输入倍率"`
UpdatedByUserID int `json:"updated_by_user_id" gorm:"default:0;comment:最后更新人用户ID"`
CreatedAt time.Time `json:"created_at" gorm:"comment:创建时间"`
UpdatedAt time.Time `json:"updated_at" gorm:"comment:更新时间"`
}
// TableName 指定 GORM 表名 supplier_model_pricings供应商全局模型定价表
func (SupplierModelPricing) TableName() string {
return "supplier_model_pricings"
}
// SupplierChannelModelPricing 供应商「渠道模型定价」表记录supplier_application_id + channel_id + model_name 唯一)。
// 优先级最高:计费与定价页展示均先于供应商全局与平台全局。
type SupplierChannelModelPricing struct {
ID int `json:"id" gorm:"primaryKey;comment:主键ID"`
SupplierApplicationID int `json:"supplier_application_id" gorm:"not null;uniqueIndex:uk_supplier_ch_model;index;comment:供应商申请ID关联 supplier_applications.id"`
ChannelID int `json:"channel_id" gorm:"not null;uniqueIndex:uk_supplier_ch_model;index;comment:渠道ID关联 channels.id"`
ModelName string `json:"model_name" gorm:"type:varchar(512);not null;uniqueIndex:uk_supplier_ch_model;comment:模型名称(存库为 FormatMatching 规范化名)"`
QuotaType int8 `json:"quota_type" gorm:"not null;default:0;comment:计费类型 0按量倍率 1按次固定价"`
ModelPrice *float64 `json:"model_price,omitempty" gorm:"comment:按次固定价格(美元/次QuotaType=1 时生效"`
ModelRatio *float64 `json:"model_ratio,omitempty" gorm:"comment:输入倍率"`
CompletionRatio *float64 `json:"completion_ratio,omitempty" gorm:"comment:输出相对输入倍率"`
CacheRatio *float64 `json:"cache_ratio,omitempty" gorm:"comment:缓存命中相对输入倍率"`
CreateCacheRatio *float64 `json:"create_cache_ratio,omitempty" gorm:"comment:缓存写入相对输入倍率"`
ImageRatio *float64 `json:"image_ratio,omitempty" gorm:"comment:图像计费倍率"`
AudioRatio *float64 `json:"audio_ratio,omitempty" gorm:"comment:音频输入倍率"`
AudioCompletionRatio *float64 `json:"audio_completion_ratio,omitempty" gorm:"comment:音频输出相对输入倍率"`
UpdatedByUserID int `json:"updated_by_user_id" gorm:"default:0;comment:最后更新人用户ID"`
CreatedAt time.Time `json:"created_at" gorm:"comment:创建时间"`
UpdatedAt time.Time `json:"updated_at" gorm:"comment:更新时间"`
}
// TableName 指定 GORM 表名 supplier_channel_model_pricings供应商渠道模型定价表
func (SupplierChannelModelPricing) TableName() string {
return "supplier_channel_model_pricings"
}