@@ -161,8 +161,10 @@ def process_outputs(
161161 engine_core_output )
162162
163163 # 3) Create and handle RequestOutput objects.
164- if request_output := self ._make_request_output (
165- req_state , detokenizer_output ):
164+ if detokenizer_output is not None :
165+ request_output = self ._make_request_output (
166+ req_state , detokenizer_output )
167+
166168 if req_state .queue is not None :
167169 # AsyncLLM: put into queue for handling by generate().
168170 req_state .queue .put_nowait (request_output )
@@ -172,6 +174,8 @@ def process_outputs(
172174
173175 # Free completed requests.
174176 if request_output .finished :
177+ assert detokenizer_output .finish_reason is not None
178+
175179 self .request_states .pop (req_id )
176180 if not engine_core_output .finished :
177181 # If req not finished in EngineCore, but Detokenizer
@@ -180,7 +184,8 @@ def process_outputs(
180184
181185 # Track per-request stats
182186 iteration_stats .update_from_finished_request (
183- request_output , req_state .stats )
187+ detokenizer_output .finish_reason , request_output ,
188+ req_state .stats )
184189
185190 return OutputProcessorOutput (
186191 request_outputs = request_outputs ,
@@ -191,12 +196,8 @@ def process_outputs(
191196 @staticmethod
192197 def _make_request_output (
193198 request_state : RequestState ,
194- detokenizer_output : Optional [DetokenizerOutput ],
195- ) -> Optional [RequestOutput ]:
196-
197- if detokenizer_output is None :
198- return None
199-
199+ detokenizer_output : DetokenizerOutput ,
200+ ) -> RequestOutput :
200201 request_output = RequestOutput .new (
201202 request_state .request_id ,
202203 request_state .prompt ,
@@ -207,7 +208,8 @@ def _make_request_output(
207208 )
208209 if detokenizer_output .finished :
209210 completion_output = request_output .outputs [0 ]
210- completion_output .finish_reason = detokenizer_output .finish_reason
211+ completion_output .finish_reason = str (
212+ detokenizer_output .finish_reason )
211213 completion_output .stop_reason = detokenizer_output .stop_reason
212214
213215 return request_output
0 commit comments