执行记录与用量计量
大约 2 分钟后端开发开发指南
执行记录与用量计量
运行记录描述一次业务执行,用量记录描述一次模型调用。会话与消息组织交互历史,这四类数据通过运行、会话和消息主键关联。
四类记录
| 表 | 记录对象 | 主要用途 |
|---|---|---|
ai_conversation | 一段会话 | 历史列表、归属与连续对话 |
ai_message | 会话内消息 | 输入、回答、状态与回放 |
ai_run | 一次执行 | 成败、耗时、版本、输入输出与轨迹 |
ai_usage | 一次模型调用 | tokens、计量数量、单位与费用 |
一次应用运行可能调用多个模型,对应一条运行和多条用量。模板流程未调用模型时,运行仍然存在,模型 tokens 为 0。
记录归属
服务入口装配 RecordScope:资源类型、资源主键、来源通道,以及已有运行、节点和密钥 ID。流程节点、专家团成员和问数阶段将调用用量挂在父运行下。
| 字段 | 含义 |
|---|---|
resourceType / resourceId | 本次执行所属业务资源 |
channel | web、api、embed、wechat 或 debug |
version | 执行的资源版本 |
state | running、success、error、stopped |
durationMs | 执行耗时,单位毫秒 |
trace | 节点、成员或检索等领域轨迹 |
记录器职责
RunRecorder:开始、结束和关联执行。UsageRecorder:写入模型调用用量。ConversationRecorder:创建会话、写入消息并核对会话归属。
运行开始同步取得主键,作为事件中的 runId;收尾与消息按现有记录管线回写。工作线程使用入口采集的调用身份快照。
用量与费用
ai_usage 保存模型、用途、供应商、输入/输出 tokens、运行和节点等字段。用途 category 沿用模型用途编码,例如 chat、embedding、image;重排按 rerank 入账,知识库视觉识别按 vision 入账,与对话用量分开统计。quantity 与 unit 表示实际计量:tokens、图片张数、识别秒数或合成字符数。
平台费用取决于模型目录中配置的计价与服务返回的计量。核对服务商账单时,同时确认模型目录中的配置价格与用量记录中的计量。
定位一次执行
先按资源、时间和通道查运行,再检查 state、error、输入输出与 trace。涉及模型时按 runId 查看用量;涉及多轮交互时继续检查会话和消息。
联调时的记录核对见 联调与运行验证。源码定位:engine/ops/pojo/entity、engine/ops/record 与业务侧记录查询服务。
