103 lines
5.5 KiB
Go
103 lines
5.5 KiB
Go
package entity
|
|
|
|
import (
|
|
"model-gateway/consts/model"
|
|
|
|
"gitea.redpowerfuture.com/red-future/common/beans"
|
|
)
|
|
|
|
type modelManageCol struct {
|
|
beans.SQLBaseCol
|
|
ModelSupplier string
|
|
ModelName string
|
|
ModelType string
|
|
BaseURL string
|
|
SystemModel string
|
|
HttpMethod string
|
|
ChatModel string
|
|
ResponseType string
|
|
ApiKey string
|
|
Enabled string
|
|
RequestHeadMapping string
|
|
RequestBodyMapping string
|
|
ResponseMapping string
|
|
ResponseBodyMapping string
|
|
MaxConcurrency string
|
|
TokenPredictPrice string
|
|
TokenPredictPriceUnit string
|
|
MaxTokens string
|
|
MaxDuration string
|
|
LastFrame string
|
|
}
|
|
|
|
var ModelManageCol = modelManageCol{
|
|
SQLBaseCol: beans.DefSQLBaseCol,
|
|
ModelSupplier: "model_supplier",
|
|
ModelName: "model_name",
|
|
ModelType: "model_type",
|
|
BaseURL: "base_url",
|
|
SystemModel: "system_model",
|
|
HttpMethod: "http_method",
|
|
ChatModel: "chat_model",
|
|
ResponseType: "response_type",
|
|
ApiKey: "api_key",
|
|
Enabled: "enabled",
|
|
RequestHeadMapping: "request_head_mapping",
|
|
RequestBodyMapping: "request_body_mapping",
|
|
ResponseMapping: "response_mapping",
|
|
ResponseBodyMapping: "response_body_mapping",
|
|
MaxConcurrency: "max_concurrency",
|
|
TokenPredictPrice: "token_predict_price",
|
|
TokenPredictPriceUnit: "token_predict_price_unit",
|
|
MaxTokens: "max_tokens",
|
|
MaxDuration: "max_duration",
|
|
LastFrame: "last_frame",
|
|
}
|
|
|
|
type ModelManage struct {
|
|
beans.SQLBaseDO `orm:",inline"`
|
|
ModelSupplier model.SupplierType `orm:"model_supplier" json:"modelSupplier" description:"模型供应商"`
|
|
ModelName string `orm:"model_name" json:"modelName" description:"模型名称"`
|
|
ModelType model.ModelType `orm:"model_type" json:"modelType" description:"模型类型"`
|
|
BaseURL string `orm:"base_url" json:"baseUrl" description:"模型地址"`
|
|
SystemModel *bool `orm:"system_model" json:"systemModel" description:"系统模型"`
|
|
HttpMethod string `orm:"http_method" json:"httpMethod" description:"http方法"`
|
|
ChatModel *bool `orm:"chat_model" json:"ChatModel" description:"是否聊天模型"`
|
|
ResponseType model.ResponseType `orm:"response_type" json:"responseType" description:"返回类型:1同步,2异步,3流"`
|
|
ApiKey string `orm:"api_key" json:"apiKey" description:"api key"`
|
|
Enabled *bool `orm:"enabled" json:"enabled" description:"是否启用"`
|
|
RequestHeadMapping map[string]string `orm:"request_head_mapping" json:"requestHeadMapping" description:"请求头映射"`
|
|
RequestBodyMapping map[string]any `orm:"request_body_mapping" json:"requestBodyMapping" description:"请求体映射"`
|
|
ResponseMapping map[string]any `orm:"response_mapping" json:"responseMapping" description:"响应映射"`
|
|
ResponseBodyMapping map[string]string `orm:"response_body_mapping" json:"responseBodyMapping" description:"响应主体映射"`
|
|
MaxConcurrency int `orm:"max_concurrency" json:"maxConcurrency" description:"最大并发数"`
|
|
TokenMapping *TokenMapping `orm:"token_mapping" json:"tokenMapping" description:"token映射"`
|
|
AsyncTaskMapping *AsyncTaskMapping `orm:"async_task_mapping" json:"asyncTaskMapping" description:"异步任务映射"`
|
|
TokenPredictPrice float64 `orm:"token_predict_price" json:"tokenPredictPrice" description:"模型Token预估价格"`
|
|
TokenPredictPriceUnit string `orm:"token_predict_price_unit" json:"tokenPredictPriceUnit" description:"模型token预估价格单位(秒,百万Token,千Token,字数)"`
|
|
MaxTokens int `orm:"max_tokens" json:"maxTokens" description:"最大token数"`
|
|
MaxDuration int `orm:"max_duration" json:"maxDuration" description:"最大时长(秒)"`
|
|
LastFrame string `orm:"last_frame" json:"lastFrame" description:"视频的尾帧图像"`
|
|
}
|
|
|
|
type TokenMapping struct {
|
|
PromptTokens string `json:"promptTokens" dc:"输入token"`
|
|
CompletionTokens string `json:"completionTokens" dc:"输出token"`
|
|
TotalTokens string `json:"totalTokens" dc:"总token"`
|
|
}
|
|
|
|
type AsyncTaskMapping struct {
|
|
Url string `json:"url" dc:"url"`
|
|
HttpMethod string `json:"httpMethod" dc:"http方法" d:"POST"`
|
|
RequestHeadMapping map[string]string `json:"requestHeadMapping" description:"请求头映射"`
|
|
ResponseMapping map[string]any `json:"responseMapping" description:"响应映射"`
|
|
TaskId string `json:"taskId" dc:"任务id"`
|
|
TaskStatus string `json:"taskStatus" dc:"任务状态"`
|
|
TaskStatusPending string `json:"taskStatusPending" dc:"任务状态-待处理"`
|
|
TaskStatusRunning string `json:"taskStatusRunning" dc:"任务状态-运行中"`
|
|
TaskStatusSuccess string `json:"taskStatusSuccess" dc:"任务状态-成功"`
|
|
TaskStatusFailed string `json:"taskStatusFailed" dc:"任务状态-失败"`
|
|
TaskStatusCancel string `json:"taskStatusCancel" dc:"任务状态-取消"`
|
|
TaskStatusUnknown string `json:"taskStatusUnknown" dc:"任务状态-未知"`
|
|
}
|