跳转至

schemas.py — Rollout 数据结构

文件概述

定义异步推理请求和多轮对话的数据结构(约 670 行)。

核心数据类

AsyncRolloutRequest

异步推理请求的封装:

@dataclass
class AsyncRolloutRequest:
    request_id: str            # 唯一请求 ID
    prompt_ids: list[int]      # prompt token IDs
    sampling_params: dict      # 采样参数
    image_data: list = None    # 图像数据(多模态)
    video_data: list = None    # 视频数据(多模态)

Message

多轮对话中的单条消息:

@dataclass
class Message:
    role: str       # "user", "assistant", "system", "tool"
    content: str    # 消息内容

FinishReasonTypeEnum

生成结束原因枚举:

class FinishReasonTypeEnum(str, Enum):
    COMPLETED = "completed"    # 正常完成
    LENGTH = "length"          # 达到最大长度
    ABORTED = "aborted"       # 被中止
    TOOL_CALLS = "tool_calls"  # 工具调用

与其他模块的关系

  • 被 rollout/replica.py 中的 RolloutReplica 使用
  • 被异步推理管理器使用来构造和跟踪请求

小结

定义了异步推理流程中的核心数据结构,支持多模态输入和多轮对话场景。