BEFORE YOU START
You need:- A harness registered in your project.
- An API-hosted model for your agent to call during the run.
- A synthesis recipe that produces conversation openings ending with a user message.
Harness synthesis is available only through Generate from Scratch. Generate Completions and Generate from Failure Modes do not support harnesses.
HOW A HARNESS RUN WORKS
A synthesis run with a harness has two stages:- Oumi generates the conversation openings. The model you select under Model & Inference generates the recipe’s attributes, such as a question, a persona, or a scenario. A chat transform assembles them into the opening messages of each conversation.
- Your harness completes the conversations. Oumi sends each opening to your harness with a connection to the same model. Your harness runs the agent and its tools, then returns the resulting messages. Oumi saves the full conversation to the output dataset.
GENERATE A DATASET
- Go to Datasets and click Create Dataset, then choose Generate from Scratch to open the Builder.
- Under Model & Inference, select the API-hosted model your agent should call.
- Under Agent Runtime, select Your harness. In the Harness section that appears, choose a registered endpoint.
Review the configuration and click Execute. Give the job a Display Name and click Generate Dataset.
You can follow the run on the Jobs page. When the job completes, the new dataset appears on your Datasets page.
ADD A SIMULATED USER
If your agent asks questions during a conversation, expand User Model in the Builder and select a model to answer them. This setting is separate from the model selected under Model & Inference. When your agent pauses for input, Oumi generates the user’s reply and sends it back so the conversation can continue. If your recipe synthesizes a user persona, Oumi uses it to guide those replies. The persona is not shared with your agent. You can leave User Model empty if your agent does not need follow-up input. If it requests input without a user model configured, that row fails.BILLING
Synthesis with a harness follows the same billing model as other synthesis runs:- Attribute generation: Token usage to generate the conversation openings.
- Harness turns: Token usage for the calls your harness makes through the model connection.
- Simulated user: Token usage to generate user replies, if a user model is configured.
TROUBLESHOOTING
For endpoint implementation details, see the harness protocol.