74 lines
3.6 KiB
Go
74 lines
3.6 KiB
Go
package v1
|
||
|
||
import "github.com/gogf/gf/v2/frame/g"
|
||
|
||
// === 大模型异步任务管理 ===
|
||
|
||
type TaskListReq struct {
|
||
g.Meta `path:"/tasks" method:"get" mime:"json" tags:"管理后台-任务管理" summary:"大模型异步任务列表"`
|
||
Page int `json:"page" in:"query" d:"1" v:"min:1" dc:"页码"`
|
||
PageSize int `json:"page_size" in:"query" d:"20" v:"min:1|max:100" dc:"每页数量"`
|
||
Status string `json:"status" in:"query" dc:"筛选状态"`
|
||
Platform string `json:"platform" in:"query" dc:"筛选平台(sora/kling/midjourney/suno)"`
|
||
PublicTaskID string `json:"public_task_id" in:"query" dc:"任务ID(精确匹配)"`
|
||
ModelName string `json:"model_name" in:"query" dc:"筛选模型名(精确匹配)"`
|
||
TenantID int64 `json:"tenant_id" in:"query" dc:"筛选租户ID"`
|
||
UserID int64 `json:"user_id" in:"query" dc:"筛选用户ID"`
|
||
StartDate string `json:"start_date" in:"query" dc:"开始时间(YYYY-MM-DD 或 YYYY-MM-DD HH:mm:ss)"`
|
||
EndDate string `json:"end_date" in:"query" dc:"结束时间(YYYY-MM-DD 或 YYYY-MM-DD HH:mm:ss)"`
|
||
}
|
||
|
||
type ModelTaskItem struct {
|
||
ID int64 `json:"id"`
|
||
PublicTaskID string `json:"public_task_id"`
|
||
Platform string `json:"platform"`
|
||
Action string `json:"action"`
|
||
Status string `json:"status"`
|
||
Progress string `json:"progress"`
|
||
ModelName string `json:"model_name"`
|
||
// UpstreamModel 上游供应商实际使用的模型名(仅任务详情返回,排障时用于和请求模型对照)
|
||
UpstreamModel string `json:"upstream_model,omitempty"`
|
||
FailReason string `json:"fail_reason,omitempty"`
|
||
PreDeductAmount float64 `json:"pre_deduct_amount"`
|
||
ActualCost float64 `json:"actual_cost"`
|
||
BillingSettled bool `json:"billing_settled"`
|
||
ResultURL string `json:"result_url,omitempty"`
|
||
ResultThumbURL string `json:"result_thumb_url,omitempty"` // 结果图预览缩略图 URL(仅任务详情、re-host 图片任务返回)
|
||
TenantID int64 `json:"tenant_id"`
|
||
UserID int64 `json:"user_id"`
|
||
SubmitTime string `json:"submit_time,omitempty"`
|
||
// StartTime 上游开始执行任务的时间(仅任务详情返回;详情时间线用它区分「排队耗时」与「执行耗时」)
|
||
StartTime string `json:"start_time,omitempty"`
|
||
FinishTime string `json:"finish_time,omitempty"`
|
||
CreatedAt string `json:"created_at"`
|
||
// RequestID 任务提交时的原始请求 ID(req_xxxxx,仅任务详情返回),关联 aud_request_logs.request_id
|
||
RequestID string `json:"request_id,omitempty"`
|
||
// 上游排障标识(仅任务详情返回;从 private_data 提取,其余内部字段不外露):
|
||
// UpstreamTaskID 任务句柄(上游轮询查询用);UpstreamRequestID 提交调用追踪 ID(部分上游返回)
|
||
UpstreamTaskID string `json:"upstream_task_id,omitempty"`
|
||
UpstreamRequestID string `json:"upstream_request_id,omitempty"`
|
||
}
|
||
|
||
type TaskListRes struct {
|
||
List []ModelTaskItem `json:"list"`
|
||
Total int `json:"total"`
|
||
Page int `json:"page"`
|
||
PageSize int `json:"page_size"`
|
||
}
|
||
|
||
type TaskDetailReq struct {
|
||
g.Meta `path:"/tasks/{id}" method:"get" mime:"json" tags:"管理后台-任务管理" summary:"大模型异步任务详情"`
|
||
ID int64 `json:"id" in:"path" v:"required" dc:"任务ID"`
|
||
}
|
||
|
||
type TaskDetailRes struct {
|
||
Task ModelTaskItem `json:"task"`
|
||
}
|
||
|
||
type TaskCancelReq struct {
|
||
g.Meta `path:"/tasks/{id}/cancel" method:"post" mime:"json" tags:"管理后台-任务管理" summary:"取消大模型异步任务"`
|
||
ID int64 `json:"id" in:"path" v:"required" dc:"任务ID"`
|
||
}
|
||
|
||
type TaskCancelRes struct{}
|