* fix(detokenizer_manager.py): fix truncated decoded output (#586)
Co-authored-by: hnyls2002 <hnyls2002@gmail.com>
This commit is contained in:
@@ -11,7 +11,7 @@ from sglang.srt.hf_transformers_utils import get_tokenizer
|
||||
from sglang.srt.managers.controller.infer_batch import FINISH_MATCHED_STR
|
||||
from sglang.srt.managers.io_struct import BatchStrOut, BatchTokenIDOut
|
||||
from sglang.srt.server_args import PortArgs, ServerArgs
|
||||
from sglang.utils import get_exception_traceback, graceful_registry
|
||||
from sglang.utils import find_printable_text, get_exception_traceback, graceful_registry
|
||||
|
||||
asyncio.set_event_loop_policy(uvloop.EventLoopPolicy())
|
||||
|
||||
@@ -55,9 +55,13 @@ class DetokenizerManager:
|
||||
# Trim stop str
|
||||
# TODO(lmzheng): handle the case where multiple stop strs are hit
|
||||
output_strs = []
|
||||
incomplete_strs = []
|
||||
for i in range(len(recv_obj.rids)):
|
||||
new_text = read_texts[i][len(surr_texts[i]) :]
|
||||
output_strs.append(recv_obj.decoded_texts[i] + new_text)
|
||||
complete_new_text = find_printable_text(new_text)
|
||||
incomplete_new_text = new_text[len(complete_new_text) :]
|
||||
output_strs.append(recv_obj.decoded_texts[i] + complete_new_text)
|
||||
incomplete_strs.append(incomplete_new_text)
|
||||
|
||||
if isinstance(recv_obj.finished_reason[i], FINISH_MATCHED_STR):
|
||||
pos = output_strs[i].find(recv_obj.finished_reason[i].matched)
|
||||
@@ -67,7 +71,8 @@ class DetokenizerManager:
|
||||
self.send_to_tokenizer.send_pyobj(
|
||||
BatchStrOut(
|
||||
rids=recv_obj.rids,
|
||||
output_str=output_strs,
|
||||
output_strs=output_strs,
|
||||
incomplete_strs=incomplete_strs,
|
||||
meta_info=recv_obj.meta_info,
|
||||
finished_reason=recv_obj.finished_reason,
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user