Documentation Index
Fetch the complete documentation index at: https://docs.osmosis.ai/llms.txt
Use this file to discover all available pages before exploring further.
当您通过
osmosis train submit 提交训练任务时,Osmosis 会自动为您部署和运行 rollout — 您不需要选择或配置执行后端。本页面是开源 osmosis-ai 包的 SDK 级参考,适用于您希望自己驱动 rollout 的场景(例如自定义的本地测试框架或自托管实验环境)。AgentWorkflow 和 Grader 时,代码在哪里运行。您可以在当前 Python 进程中直接执行以保持简洁,也可以将每次执行隔离在 Docker 容器中。
ExecutionBackend 接口
所有后端都实现了ExecutionBackend 抽象类:
| 方法 | 描述 |
|---|---|
execute() | 针对单个请求运行 AgentWorkflow(以及可选的 Grader) |
max_concurrency | 最大并行执行数。0 表示无限制。 |
health() | 返回后端健康状态。默认实现返回 {"status": "ok"}。 |
LocalBackend
在当前 Python 进程中直接执行您的 AgentWorkflow 和 Grader。无需额外基础设施。| 参数 | 类型 | 描述 |
|---|---|---|
workflow | 类或 "module:attr" 字符串 | 您的 AgentWorkflow 子类或冒号分隔的导入路径(例如 "my_module:MyWorkflow") |
workflow_config | AgentWorkflowConfig | None | 传递给工作流的可选配置 |
grader | 类或 "module:attr" 字符串 | 您的 Grader 子类或冒号分隔的导入路径 |
grader_config | GraderConfig | None | 传递给评分器的可选配置 |
并发控制通过
AgentWorkflowConfig.concurrency.max_concurrent(默认值:4)进行管理。后端使用 ConcurrencyLimiter 来限制并行工作流执行数量。
错误分类: LocalBackend 将异常映射为结构化的错误类型 — TimeoutError 变为 TIMEOUT,ValueError/TypeError 变为 VALIDATION_ERROR,所有其他异常变为 AGENT_ERROR。
HarborBackend
通过harbor 包在 Docker 容器中执行您的 AgentWorkflow 和 Grader。每次执行都会获得独立的容器,拥有独立的文件系统和进程空间。
- 构造时预构建 Docker 镜像
- 每次执行在全新容器中运行
HarborAgentWorkflowContext扩展了AgentWorkflowContext,提供用于容器交互的environment对象 —environment.exec()、environment.upload_file()等
对比
| LocalBackend | HarborBackend | |
|---|---|---|
| 执行环境 | 当前 Python 进程 | Docker 容器 |
| 隔离性 | 无 — 共享进程内存 | 完全隔离 — 独立的文件系统和进程 |
| 启动速度 | 即时 | 需要构建 Docker 镜像 |
| 依赖管理 | 共享 Python 环境 | 每个容器独立管理 |
| 调试 | 直接 — 断点、print 语句 | 容器日志、trace 文件 |
| 适用场景 | 开发、评估、简单部署 | 生产环境、复杂 Agent |
选择后端
osmosis eval run 在内部使用 LocalBackend。如果您把 osmosis-ai 嵌入自己的测试框架,可以自行选择任一后端。
下一步
本地评估
使用
osmosis eval run 在本地评估 rollout,也可以作为训练前的 smoke test。Strands 集成
结合使用 AWS Strands Agent 框架,在 Osmosis 上训练。