ayh015's picture
Upload folder using huggingface_hub
d588dab verified
|
Raw
History Blame Contribute Delete
2.12 kB
# Rollout Buffer
## Overview
Rollout Buffer is an independent component for asynchronous agent trajectory generation, with the main function of using the LLM OpenAI Server launched by slime training to generate agent trajectories.
### Workflow
```
slime Training Process ←─── HTTP API ───→ Rollout Buffer
↓ ↓
LLM Server ←─────── HTTP Requests ─────── Agent Framework
↓ ↓
Model Response ──────────────────────→ Trajectory Generation
```
For each different Agent task, there should be a corresponding independent Generator class, responsible for generating trajectories for that type of task. Rollout Buffer automatically reads and loads different types of Generators.
## Quick Start
### Basic Usage Process
1. **Copy Template**: Copy `base_generator.py` as a template
2. **Modify Task Type**: Change `TASK_TYPE` to your task name (cannot duplicate with other Generators)
3. **Implement Core Function**: Implement the `run_rollout()` function
4. **Optional Customization**: Rewrite five optional functions as needed
Generator files must end with `_generator.py` and be placed in the `generator/` directory:
```
generator/
β”œβ”€β”€ base_generator.py # Math task implementation (default template)
└── your_task_generator.py # Your custom task
```
Each Generator file must define `TASK_TYPE` and `run_rollout()`.
In addition, Rollout Buffer also provides some customizable functions to meet special needs of different tasks. If no custom implementation is provided, the system will use default implementations (located in `slime_plugins/rollout_buffer/default_func.py`).
### Example Script
First, you need to follow [Example: Qwen3-4B Model](../../docs/en/models/qwen3-4B.md) to configure the environment, download data and convert model checkpoints. And then run the following scripts:
```bash
cd slime_plugins/rollout_buffer
bash rollout_buffer_example.sh
# In a different terminal
python buffer.py
```