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

# 路由

> 了解如何将请求路由到不同上游提供商，以及高可用和计费保护机制。

## 路由是如何工作的

YouRouter 提供两种请求路由模式：自动路由和手动路由。这一行为由 `vendor` 请求头控制。

### 默认行为：自动路由（`auto`）

为了获得更高可靠性，我们推荐你使用自动路由模式。如果你省略 `vendor`，或者显式设置为 `auto`，就会进入这一模式。

在 `auto` 模式下，YouRouter 会根据所请求模型的可用性和成本情况，将流量智能路由到合适的上游提供商。比如你请求 `gpt-4o`，如果 OpenAI 当前出现延迟，我们可以无缝切换到 Azure OpenAI 等其他上游提供商，以保证请求尽量不中断。对于强调高可用的生产应用，这通常是最合适的默认选择。

### 手动路由：指定上游提供商

如果你必须使用某个特定上游提供商的模型或专属能力，也可以手动指定路由。做法很简单：在请求头里设置目标上游提供商的 `vendor` 值。

例如，如果你想确保 `gpt-4o` 一定由 Azure 处理，就可以发送 `vendor: azure`。

<CodeGroup>
  ```python Python theme={null}
  import os
  from openai import OpenAI

  client = OpenAI(
      api_key=os.environ["YOUROUTER_API_KEY"],
      base_url="https://api.yourouter.ai/v1"
  )

  response = client.chat.completions.create(
      model="gpt-4o",
      messages=[{"role": "user", "content": "Hello from Azure OpenAI!"}],
      extra_headers={"vendor": "azure"}
  )

  print(response.choices[0].message.content)
  ```

  ```bash cURL theme={null}
  curl https://api.yourouter.ai/v1/chat/completions \
    -H "Authorization: Bearer $YOUROUTER_API_KEY" \
    -H "Content-Type: application/json" \
    -H "vendor: openai" \
    -d '{
      "model": "gpt-4o",
      "messages": [{"role": "user", "content": "Hello from OpenAI!"}]
    }'
  ```
</CodeGroup>

### 可用上游提供商

| 上游提供商        | `vendor` 值   |
| ------------ | ------------ |
| Anthropic    | `anthropic`  |
| AWS Bedrock  | `aws`        |
| Azure OpenAI | `azure`      |
| DeepSeek     | `deepseek`   |
| Google       | `google`     |
| Mistral AI   | `mistral`    |
| OpenAI       | `openai`     |
| Volcengine   | `volcengine` |
| xAI          | `x`          |

## 零完成保险

YouRouter 的计费策略是：只有在请求成功且返回非空结果时才会收费。对于错误请求，例如 `500`，或者返回零 completion token 的情况，不会扣费。这项保护默认对所有请求开启。

## 最佳实践

* **生产环境优先使用 `auto`**：如果你的应用重视可用性，建议默认使用 `auto`，以获得自动故障切换和更高稳定性。
* **只有在明确需要时才手动指定上游提供商**：如果你依赖某个上游提供商的专属模型、能力或兼容行为，再使用 `vendor` 固定路由。
* **查看上游提供商原生文档**：如果你通过手动路由访问某个上游提供商的专属能力，仍建议查阅该上游提供商的官方文档。YouRouter 支持像 [请求透传](/zh/features/request-forwarding) 中描述的那样，将这些参数直接透传到上游。

更多接口示例，请参考 [Chat Completions](/zh/guides/chat-completions)。
