跳转到主要内容
YouRouter 提供两种主要方式来使用聊天模型:
  1. OpenAI 兼容 API:适合绝大多数场景,使用统一接口调用不同模型。
  2. 上游提供商原生 API:适合需要统一接口未暴露的上游特有能力的高级场景。
关于如何选择上游提供商和模型,请参考 路由指南

OpenAI 兼容 API

这是使用 YouRouter 最简单、最灵活的方式。你可以直接使用熟悉的 OpenAI SDK,并通过极少的代码变更在不同模型和上游提供商之间切换。

基础用法

下面的示例演示了如何发送一个基础 chat completion 请求。你可以修改 modelvendor 请求头,以切换不同模型和上游提供商。

高级功能

多轮对话

如果要保持连续对话,只需要把完整对话历史放入 messages 数组中。

流式响应

对于聊天机器人等实时交互场景,可以用流式输出边生成边返回。把 stream=True 传入请求即可。

函数调用 / 工具调用

你可以让模型调用工具或函数,与外部系统交互。这通常是一个多步骤流程:
  1. 发送包含工具定义的请求。
  2. 模型返回它想调用哪些工具。
  3. 你在代码中实际执行这些工具。
  4. 再把工具执行结果返回给模型,由模型生成最终自然语言回复。

Vision(多模态补全)

很多模型支持多模态输入,可以在请求中直接附带图片。这适用于图片描述、图像分析和视觉问答等场景。gpt-4oclaude-3-5-sonnet-20240620gemini-1.5-pro-latest 等模型都支持视觉能力。

参数


上游提供商原生 API

对于一些高级场景,如果你需要统一 OpenAI 兼容接口中没有暴露的上游提供商特有字段或能力,可以直接请求上游提供商的原生接口。这种情况下你必须带上 vendor 请求头。
YouRouter 会将整个请求体,以及除 Authorization 外的所有请求头,原样转发给上游。更多说明见 请求透传

Gemini(Google)

Generate Content

Endpoint: POST /v1/projects/cognition/locations/us/publishers/google/models/{model}:generateContent

Safety Settings

你可以通过在请求中加入 safetySettings 来配置内容安全阈值。完整的分类和阈值列表,请参考官方 Google AI 文档

Claude(Anthropic)

Messages API

Endpoint: POST /v1/messages

Claude 的工具调用

你可以给 Claude 提供一组工具,它会根据用户请求决定何时调用。整个流程依然是多步对话:你的代码负责执行工具,再把结果回传给 Claude。 下面是一个完整的工具调用生命周期示例:

最佳实践

  • 路由:生产环境建议使用 auto 获得更高可用性。只有在需要固定模型版本或特有能力时,才固定上游提供商。详见 路由指南
  • 错误处理:网络问题和上游提供商故障都可能发生,建议实现可靠的错误处理与指数退避重试,尤其是长耗时任务。
  • 流式输出:凡是面向用户的交互型应用,都建议开启流式输出,提升实时性和体验。
  • 系统提示词:高质量的 system prompt 对模型行为、语气和风格影响很大,建议持续测试和优化。
  • Token 管理:始终关注输入上下文和输出生成的 token 限制,并利用响应中的 usage 信息跟踪成本与截断风险。