@@ -165,6 +165,11 @@ By default, it's set to 0, which will disable the feature.
165
165
const responseMessages : Array < CoreAssistantMessage | CoreToolMessage > =
166
166
[ ] ;
167
167
const roundtrips : GenerateTextResult < TOOLS > [ 'roundtrips' ] = [ ] ;
168
+ const usage : CompletionTokenUsage = {
169
+ completionTokens : 0 ,
170
+ promptTokens : 0 ,
171
+ totalTokens : 0 ,
172
+ } ;
168
173
169
174
do {
170
175
// once we have a roundtrip, we need to switch to messages format:
@@ -219,13 +224,21 @@ By default, it's set to 0, which will disable the feature.
219
224
tracer,
220
225
} ) ;
221
226
227
+ // token usage:
228
+ const currentUsage = calculateCompletionTokenUsage (
229
+ currentModelResponse . usage ,
230
+ ) ;
231
+ usage . completionTokens += currentUsage . completionTokens ;
232
+ usage . promptTokens += currentUsage . promptTokens ;
233
+ usage . totalTokens += currentUsage . totalTokens ;
234
+
222
235
// add roundtrip information:
223
236
roundtrips . push ( {
224
237
text : currentModelResponse . text ?? '' ,
225
238
toolCalls : currentToolCalls ,
226
239
toolResults : currentToolResults ,
227
240
finishReason : currentModelResponse . finishReason ,
228
- usage : calculateCompletionTokenUsage ( currentModelResponse . usage ) ,
241
+ usage : currentUsage ,
229
242
warnings : currentModelResponse . warnings ,
230
243
logprobs : currentModelResponse . logprobs ,
231
244
} ) ;
@@ -267,7 +280,7 @@ By default, it's set to 0, which will disable the feature.
267
280
toolCalls : currentToolCalls ,
268
281
toolResults : currentToolResults ,
269
282
finishReason : currentModelResponse . finishReason ,
270
- usage : calculateCompletionTokenUsage ( currentModelResponse . usage ) ,
283
+ usage,
271
284
warnings : currentModelResponse . warnings ,
272
285
rawResponse : currentModelResponse . rawResponse ,
273
286
logprobs : currentModelResponse . logprobs ,
0 commit comments