> ## Documentation Index
> Fetch the complete documentation index at: https://docs.coreweave.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Routing quick start

> Route a small share of task traffic to a candidate model and verify the rollout.

Use weighted routing to introduce a candidate model without changing the task name used by your application.

<Note>
  Before you begin, you need a task with applied routing and a candidate model that is available in Studio.
</Note>

<Steps>
  <Step title="Add the candidate">
    Open the task's **Routing** page, select **Add model**, and choose the candidate. Start it at weight `0` if you want to save the configuration before serving traffic.
  </Step>

  <Step title="Set rollout weights">
    Give the candidate a small positive weight and keep the current model in the configuration. Weights are relative: weights `1` and `9` send approximately 10% and 90% of traffic.

    For conversational applications, include `wandb.thread_id` with requests so every conversation remains on one model during the rollout.
  </Step>

  <Step title="Save the routing configuration">
    Choose the task version that should receive the change and select **Save routing**. Wait until the deployment is **Applied** at the current revision before relying on the new configuration.
  </Step>

  <Step title="Verify the rollout">
    Send representative requests through the proxy. In **Analytics**, confirm that the candidate receives the intended traffic share and does not increase the error rate.

    Use evaluation results and application metrics to decide whether to increase the candidate's weight. Set its weight back to `0` to stop new weighted traffic without removing it from the configuration.
  </Step>
</Steps>

<Card title="Routing and version behavior" href="/model-distillation/studio/routing-and-versions" arrow="true">
  Learn about sticky routing, parameter overrides, versions, and rollback.
</Card>
