Skip to content
Navigation

Training framework with trajectory capture, data synthesis, evolution pipelines, and VeRL integration.

Installation

Part of the exo-ai monorepo:

bash
git clone https://github.com/Midsphere-AI/exo-ai.git && cd exo-ai
uv sync

For VeRL integration, install the extra from the packages/exo-train directory:

bash
uv sync --extra verl

Module path

python
import exo.train

Package exports

ExportModuleDescription
TrajectoryItemexo.train.trajectoryA single step in an agent execution trajectory
TrajectoryDatasetexo.train.trajectoryDataset of trajectory items with capture and export
TrajectoryStrategyexo.train.trajectoryABC for building trajectory items from messages
DefaultStrategyexo.train.trajectoryDefault strategy extracting input/output/tool_calls
TrajectoryErrorexo.train.trajectoryError during trajectory operations
Trainerexo.train.trainerAbstract base class for agent training
TrainConfigexo.train.trainerMinimal training configuration
TrainerStateexo.train.trainerTrainer lifecycle state enum
TrainMetricsexo.train.trainerMetrics produced by training or evaluation
TrainerErrorexo.train.trainerError during training operations
DataSynthesiserexo.train.synthesisABC for custom data synthesisers
TemplateSynthesiserexo.train.synthesisGenerate items via template transforms
SynthesisPipelineexo.train.synthesisOrchestrates data synthesis from trajectory items
SynthesisConfigexo.train.synthesisConfiguration for a synthesis pipeline run
SynthesisResultexo.train.synthesisOutput of a synthesis pipeline run
SynthesisStrategyexo.train.synthesisStrategy enum (llm, template, augment)
SynthesisErrorexo.train.synthesisError during data synthesis
augment_swap_ioexo.train.synthesisAugment by swapping input/output
augment_add_noiseexo.train.synthesisAugment by adding noise to input
filter_by_scoreexo.train.synthesisFilter items by minimum score
deduplicateexo.train.synthesisRemove duplicate items
split_datasetexo.train.synthesisSplit items into train/test sets
EvolutionPipelineexo.train.evolutionMulti-epoch evolution pipeline
EvolutionConfigexo.train.evolutionConfiguration for an evolution run
EvolutionStrategyexo.train.evolutionABC for evolution phase strategies
EvolutionStateexo.train.evolutionPipeline state enum
EvolutionPhaseexo.train.evolutionEvolution epoch phases enum
EpochResultexo.train.evolutionMetrics for a single evolution epoch
EvolutionResultexo.train.evolutionAggregate result of a full evolution run
EvolutionErrorexo.train.evolutionError during evolution operations
VeRLTrainerexo.train.verlConcrete trainer integrating with VeRL
VeRLConfigexo.train.verlVeRL-specific training configuration
VeRLAlgorithmexo.train.verlSupported VeRL RL algorithms enum
RewardSpecexo.train.verlDescriptor for a reward function

Submodules