Thread last-request and cache usage fields through the exec event bridge (N3 WP6) #38

Closed
weichen wants to merge 1 commits from feature/n3-exec-usage-fields into main
2 changed files with 15 additions and 6 deletions
+10 -6
View File
@@ -403,12 +403,16 @@ func (b *Backend) run(ctx context.Context, model string, budget *runtime.Budget,
logs.WriteByte('\n') logs.WriteByte('\n')
if onProcess != nil { if onProcess != nil {
onProcess(exec.ProcessEvent{ onProcess(exec.ProcessEvent{
Type: ev.Type, Type: ev.Type,
Text: ev.Text, Text: ev.Text,
Tool: ev.Tool, Tool: ev.Tool,
Detail: ev.Detail, Detail: ev.Detail,
PromptTokens: ev.PromptTokens, PromptTokens: ev.PromptTokens,
CompletionTokens: ev.CompletionTokens, CompletionTokens: ev.CompletionTokens,
LastPromptTokens: ev.LastPromptTokens,
LastCompletionTokens: ev.LastCompletionTokens,
CacheReadTokens: ev.CacheReadTokens,
CacheWriteTokens: ev.CacheWriteTokens,
}) })
} }
}, },
+5
View File
@@ -57,6 +57,11 @@ type ProcessEvent struct {
// PromptTokens / CompletionTokens 在 Type=usage 时填写。 // PromptTokens / CompletionTokens 在 Type=usage 时填写。
PromptTokens int PromptTokens int
CompletionTokens int CompletionTokens int
// 以下在 Type=usage 或 message_end 时填写(N3 WP6:上一请求与缓存命中拆分)。
LastPromptTokens int
LastCompletionTokens int
CacheReadTokens int
CacheWriteTokens int
} }
const ( const (