Skip to content

Route a mixed-model workflow

Use an existing local-small profile for a bounded intermediate task and a stronger profile for synthesis. Configure them with model setup.

Set routes on saved steps

The triage flow declares inference.profile: local-small on classification and inference.profile: stronger on reduction. Its exact select step needs no model.

From a checkout or extracted native archive, inspect the plan before running it:

ribbit flow plan examples/flows/triage.yaml
ribbit flow run examples/flows/triage.yaml \
  --file fixtures/release/feedback.jsonl --input jsonl --stats

Read the plan and reported routes to confirm the intended provider/model choices. The triage guide describes the expected evidence and result.

Set routes in an inline flow

ribbit flow run --file fixtures/release/feedback.jsonl --input jsonl -- \
  classify --field body \
    --label 'blocking=Prevents purchases' --label 'other=Other feedback' \
    --profile local-small :: \
  reduce 'Summarize every ticket and cite its ID; verify labels against original bodies.' \
    --profile stronger

A flow-level --profile supplies a default. More specific definitions and step settings can override it. To replace managed routes across the whole flow for a controlled comparison, use --force-profile:

ribbit flow run examples/flows/triage.yaml \
  --file fixtures/release/feedback.jsonl --input jsonl --force-profile stronger --stats

This routes both semantic steps to stronger; it does not change the exact step or remove the classification stage. A direct stronger-model baseline is a separate single-command request, not merely a forced profile.

Compare with one stronger-model call

ribbit reduce \
  'Prioritize all tickets. Cite every ticket ID and preserve accessibility failures. Separate observations from hypotheses.' \
  --file fixtures/release/feedback.jsonl --input jsonl --profile stronger --stats

Check the same final facts in both results, then compare total elapsed time and requests. Unknown token usage is not zero. The supplied fixtures do not establish a speed or cost advantage for chaining; see when to chain models.