__init__.py — 这是 agent_loop 子包的初始化文件¶
文件路径: verl/experimental/agent_loop/__init__.py
文件概述¶
这是 agent_loop 子包的初始化文件,负责对外暴露该模块的核心类。它从各子模块中导入关键类,并通过 __all__ 声明公开 API。
关键代码讲解¶
from .agent_loop import AgentLoopBase, AgentLoopManager, AgentLoopWorker, AsyncLLMServerManager
from .single_turn_agent_loop import SingleTurnAgentLoop
from .tool_agent_loop import ToolAgentLoop
_ = [SingleTurnAgentLoop, ToolAgentLoop]
__all__ = ["AgentLoopBase", "AgentLoopManager", "AsyncLLMServerManager", "AgentLoopWorker"]
导入说明¶
| 导入的类 | 来源 | 用途 |
|---|---|---|
AgentLoopBase |
agent_loop.py |
Agent 循环的抽象基类 |
AgentLoopManager |
agent_loop.py |
管理多个 Agent Loop Worker |
AgentLoopWorker |
agent_loop.py |
执行批量推理的工作节点 |
AsyncLLMServerManager |
agent_loop.py |
异步 LLM 服务器管理器(负载均衡) |
SingleTurnAgentLoop |
single_turn_agent_loop.py |
单轮对话 Agent |
ToolAgentLoop |
tool_agent_loop.py |
支持工具调用的多轮 Agent |
关于 _ = [SingleTurnAgentLoop, ToolAgentLoop]¶
这行代码的目的是触发模块级的副作用。SingleTurnAgentLoop 和 ToolAgentLoop 在定义时通过 @register(...) 装饰器将自己注册到全局的 _agent_loop_registry 字典中。赋值给 _ 只是为了确保这些类在导入时被加载,从而完成注册。
核心类/函数列表¶
AgentLoopBase: Agent 循环抽象基类AgentLoopManager: Agent 循环管理器AgentLoopWorker: Agent 循环工作节点AsyncLLMServerManager: 异步 LLM 服务管理器
与其他模块的关系¶
- 被
fully_async_policy、one_step_off_policy等上层模块依赖 - 通过注册机制,
SingleTurnAgentLoop和ToolAgentLoop可以通过名字动态实例化
小结¶
该 __init__.py 是 agent_loop 模块的入口,通过集中导入和注册机制,让上层代码可以方便地使用不同类型的 Agent 循环实现。