- 新增 ActivePull 实体、DAO、DTO 及 Service,支持主动拉取任务管理 - 新增 ComposeCallback、VideoCallback、HttpNodeCallback 多类型回调接口 - FlowExecution 增加 NodeGroupId 和 TotalTokens 字段,支持节点组追踪与 Token 统计 - ExecutedNodes 结构由字符串列表改为包含执行状态的节点对象列表 - 重构回调通知机制,统一 Notify 函数调用 - 优化输出项类型判断逻辑,新增文件类型标识
59 lines
2.6 KiB
Go
59 lines
2.6 KiB
Go
package entity
|
||
|
||
import (
|
||
"ai-agent/workflow/consts/node"
|
||
|
||
"gitea.com/red-future/common/beans"
|
||
)
|
||
|
||
// NodeExecution 节点执行记录
|
||
// 记录每个节点的入参、出参、token消耗、执行状态等信息
|
||
type NodeExecution struct {
|
||
beans.SQLBaseDO `orm:",inherit"` // 嵌入基础字段:Id, TenantId, Creator, CreatedAt, Updater, UpdatedAt, DeletedAt
|
||
|
||
FlowExecutionId int64 `orm:"flow_execution_id" json:"flowExecutionId" description:"流程执行ID"`
|
||
NodeId string `orm:"node_id" json:"nodeId" description:"节点ID"`
|
||
NodeName string `orm:"node_name" json:"nodeName" description:"节点名称"`
|
||
NodeGroupId string `orm:"node_group_id" json:"nodeGroupId" description:"节点组ID"`
|
||
InputParams map[string]interface{} `orm:"input_params" json:"inputParams" description:"节点输入参数"`
|
||
OutputParams map[string]interface{} `orm:"output_params" json:"outputParams" description:"节点输出参数"`
|
||
PromptTokens int `orm:"prompt_tokens" json:"promptTokens" description:"提示词token消耗"`
|
||
CompletionTokens int `orm:"completion_tokens" json:"completionTokens" description:"补全token消耗"`
|
||
TotalTokens int `orm:"total_tokens" json:"totalTokens" description:"总token消耗"`
|
||
Status node.NodeExecutionStatus `orm:"status" json:"status" description:"执行状态:1-运行中,2-成功,3-失败,4-暂停,5-等待执行"`
|
||
DurationMs int64 `orm:"duration_ms" json:"durationMs" description:"执行时长(毫秒)"`
|
||
ErrorMessage string `orm:"error_message" json:"errorMessage" description:"错误信息"`
|
||
}
|
||
|
||
type nodeExecutionCol struct {
|
||
beans.SQLBaseCol
|
||
FlowExecutionId string
|
||
NodeId string
|
||
NodeName string
|
||
NodeGroupId string
|
||
InputParams string
|
||
OutputParams string
|
||
PromptTokens string
|
||
CompletionTokens string
|
||
TotalTokens string
|
||
Status string
|
||
DurationMs string
|
||
ErrorMessage string
|
||
}
|
||
|
||
var NodeExecutionCol = nodeExecutionCol{
|
||
SQLBaseCol: beans.DefSQLBaseCol,
|
||
FlowExecutionId: "flow_execution_id",
|
||
NodeId: "node_id",
|
||
NodeName: "node_name",
|
||
NodeGroupId: "node_group_id",
|
||
InputParams: "input_params",
|
||
OutputParams: "output_params",
|
||
PromptTokens: "prompt_tokens",
|
||
CompletionTokens: "completion_tokens",
|
||
TotalTokens: "total_tokens",
|
||
Status: "status",
|
||
DurationMs: "duration_ms",
|
||
ErrorMessage: "error_message",
|
||
}
|