deepinfer-add
deepinfer/deepinfer/engine/llm_engine.py · a679bb8 · L591–631 · 固定 commit 上游
这是固定版本源码的只读摘录;可在线阅读,也可通过上游链接查看原文件。
591 assert compressed_prompt_token_ids.shape[0] == prompt_token_ids.shape[0]
592
593 try:
594 seq = Sequence(
595 prompt_token_ids=prompt_token_ids,
596 compressed_prompt_token_ids=compressed_prompt_token_ids,
597 **sequence_args,
598 )
599 except Exception:
600 logger.error("Failed to create sequence for request %s", request_id, exc_info=True)
601 raise
602
603 if ve_failed:
604 seq.status = SequenceStatus.FINISHED_VE_FAILED
605
606 so_pending = False
607 if sampling_params.so_args is not None:
608 so_args = sampling_params.so_args
609 if not enqueue:
610 # 调用方自行管理调度,无法靠 pump 重入,保持同步构建
611 seq.so_matcher = self.so_matcher_builder.build(so_args).result()
612 else:
613 so_pending = True
614
615 if chunk_checkpoints is not None:
616 seq.chunk_checkpoints = chunk_checkpoints
617 # Add the sequence group to the scheduler.
618 if enqueue:
619
620 def _enqueue(s: Sequence) -> None:
621 if s.so_matcher is not None and s.so_matcher.is_aborted():
622 s.status = SequenceStatus.FINISHED_SO_FAILED
623 self.scheduler.add_sequence(s)
624 if self.multi_modal_processor is not None:
625 self.multi_modal_processor.add(request_id, multi_modal_data)
626
627 if so_pending:
628 self.so_matcher_builder.submit(seq, sampling_params.so_args, _enqueue)
629 else:
630 _enqueue(seq)
631 return seq