@@ -223,13 +223,15 @@ async def chat_completion_stream_generator(
223223                        if  (request .stream_options 
224224                                and  request .stream_options .include_usage ):
225225                            if  (request .stream_options .continuous_usage_stats 
226-                                     or  output .finish_reason  is  not   None ):
226+                                     or  res .outputs [i ].finish_reason 
227+                                     is  not   None ):
227228                                prompt_tokens  =  len (res .prompt_token_ids )
228229                                completion_tokens  =  0 
229230                                usage  =  UsageInfo (
230231                                    prompt_tokens = prompt_tokens ,
231232                                    completion_tokens = completion_tokens ,
232-                                     total_tokens = prompt_tokens  +  completion_tokens ,
233+                                     total_tokens = prompt_tokens  + 
234+                                     completion_tokens ,
233235                                )
234236                            if  request .stream_options .continuous_usage_stats :
235237                                chunk .usage  =  usage 
@@ -265,16 +267,22 @@ async def chat_completion_stream_generator(
265267                                    model = model_name )
266268                                if  (request .stream_options  and 
267269                                        request .stream_options .include_usage ):
268-                                     if  (request .stream_options .continuous_usage_stats 
269-                                             or  output .finish_reason  is  not   None ):
270-                                         prompt_tokens  =  len (res .prompt_token_ids )
271-                                         completion_tokens  =  len (res .outputs [i ].token_ids )
270+                                     if  (request .stream_options .
271+                                             continuous_usage_stats 
272+                                             or  res .outputs [i ].finish_reason 
273+                                             is  not   None ):
274+                                         prompt_tokens  =  len (
275+                                             res .prompt_token_ids )
276+                                         completion_tokens  =  len (
277+                                             res .outputs [i ].token_ids )
272278                                        usage  =  UsageInfo (
273279                                            prompt_tokens = prompt_tokens ,
274280                                            completion_tokens = completion_tokens ,
275-                                             total_tokens = prompt_tokens  +  completion_tokens ,
281+                                             total_tokens = prompt_tokens  + 
282+                                             completion_tokens ,
276283                                        )
277-                                     if  request .stream_options .continuous_usage_stats :
284+                                     if  (request .stream_options .
285+                                             continuous_usage_stats ):
278286                                        chunk .usage  =  usage 
279287                                    else :
280288                                        chunk .usage  =  None 
@@ -343,7 +351,8 @@ async def chat_completion_stream_generator(
343351                                usage  =  UsageInfo (
344352                                    prompt_tokens = prompt_tokens ,
345353                                    completion_tokens = completion_tokens ,
346-                                     total_tokens = prompt_tokens  +  completion_tokens ,
354+                                     total_tokens = prompt_tokens  + 
355+                                     completion_tokens ,
347356                                )
348357                            if  request .stream_options .continuous_usage_stats :
349358                                chunk .usage  =  usage 
@@ -375,7 +384,8 @@ async def chat_completion_stream_generator(
375384                                usage  =  UsageInfo (
376385                                    prompt_tokens = prompt_tokens ,
377386                                    completion_tokens = completion_tokens ,
378-                                     total_tokens = prompt_tokens  +  completion_tokens ,
387+                                     total_tokens = prompt_tokens  + 
388+                                     completion_tokens ,
379389                                )
380390                            if  request .stream_options .continuous_usage_stats :
381391                                chunk .usage  =  usage 
0 commit comments