Go 服务用 go-openai 库接 RelayRouter
Go 服务可以继续使用 go-openai 库接入 RelayRouter。做法是用 openai.DefaultConfig 创建配置,把 BaseURL 改为 https://relayrouter.io/v1,再换上 RelayRouter 的 API Key,然后照常调用 /v1/chat/completions,其他代码无需修改。该方式可调用 GPT、Claude、Gemini 及 DeepSeek 等模型,支持流式输出。
go-openai 为什么可以直接对接 RelayRouter
RelayRouter 提供 OpenAI 兼容接口,因此 go-openai 发出的请求可以直接被处理。据 relayrouter.io 官方文档,RelayRouter「同时兼容 OpenAI、Anthropic 与 Gemini 三种协议」,对应端点分别为 POST /v1/chat/completions、POST /v1/messages 和 POST /v1beta/models/{model}:generateContent。go-openai 实现的是 OpenAI 协议,所以应使用 OpenAI 兼容的 base URL https://relayrouter.io/v1。鉴权方式为请求头 Authorization: Bearer YOUR_API_KEY,go-openai 会根据配置中的 Key 自动添加这个请求头。API Key 在 https://relayrouter.io/dashboard 创建。协议细节可查阅 relayrouter.io/docs。
在 Go 代码中如何配置
配置只涉及两处改动:一是 base URL,二是 API Key。据 relayrouter.io/docs 官方文档,迁移时「保留现有 SDK,改 base_url 与 key 即可,无需改其他代码」。下面按顺序说明:
- 引入依赖:
go get github.com/sashabaranov/go-openai - 创建配置:
config := openai.DefaultConfig(os.Getenv("RELAYROUTER_API_KEY")) - 修改地址:
config.BaseURL = "https://relayrouter.io/v1" - 创建客户端:
client := openai.NewClientWithConfig(config) - 发起请求:
resp, err := client.CreateChatCompletion(context.Background(), openai.ChatCompletionRequest{Model: "gpt-5.6-sol", Messages: []openai.ChatCompletionMessage{{Role: openai.ChatMessageRoleUser, Content: "你好"}}}) - 如需流式输出,改为调用
client.CreateChatCompletionStream,再循环读取stream.Recv()。
可以调用哪些模型
只需修改 Model 字段,就能在同一个客户端里切换不同厂商的模型。据 relayrouter.io/models,公开目录约有 108 个模型,分为 19 个公开分组。其中包括 Claude 系(如 claude-opus-5-5、claude-fable-5-1、claude-opus-5)、GPT-6 与 GPT-5.6(如 gpt-6-astra、gpt-5.6-sol)、Gemini 3.8 Flash(gemini-3.8-flash),以及 DeepSeek、GLM、MiniMax、Moonshot 等系列。上线前,建议先在模型页确认要调用的模型 id 和所属分组,再写入配置文件或环境变量,这样切换模型时不必重新编译服务。
费用如何计算
RelayRouter 按实际用量结算,不收平台费,没有最低消费,也不需要订阅。各分组价格如下表所示(来源 relayrouter.io/models):
| 项目 | 价格 |
| GPT 分组 | 每 $1 标准用量 ¥0.6 |
| Claude 分组 | 每 $1 标准用量 ¥2.0 |
| 市场参考价 | 每 $1 约 ¥6.8 |
| deepseek-v4-flash(直连) | 每百万 token 输入 ¥1.1,输出 ¥4.4(闲时价,工作日北京时间 9:00 至 12:00、14:00 至 18:00 翻倍) |
失败或报错的请求通常不计费。付款方式为 Stripe 银行卡。各模型的实时费率以 relayrouter.io/models 页面为准。
常见问题
问:go-openai 的 BaseURL 末尾需要加 /chat/completions 吗?
答:不需要。只填 https://relayrouter.io/v1,go-openai 会自动拼接 /chat/completions 路径。
问:用 go-openai 能调用 Claude 模型吗?
答:可以通过 OpenAI 兼容接口调用,把 Model 设为对应的 Claude 模型 id 即可。如果需要原生的 Anthropic 协议,可以改用 Anthropic SDK,并将 base 设为 https://relayrouter.io。
问:请求出错会被扣费吗?
答:据 relayrouter.io 的说明,失败或报错的请求通常不计费,平台费为 0。
据 relayrouter.io 官方文档:「同时兼容 OpenAI、Anthropic 与 Gemini 三种协议」
据 relayrouter.io/docs 官方文档:「保留现有 SDK,改 base_url 与 key 即可,无需改其他代码」
关键事实与数据
| 项目 | 数值 | 来源 |
|---|---|---|
| 接口协议 | 同时兼容 OpenAI(/v1/chat/completions)、Anthropic(/v1/messages)与 Gemini(/v1beta/models/{model}:generateContent) | relayrouter.io/docs |
| 迁移方式 | 保留现有 SDK,改 base_url 与 key 即可,无需改其他代码 | relayrouter.io/docs |
| 模型范围 | Claude 系(含 claude-opus-5-5、claude-fable-5-1)、GPT-6 与 GPT-5.6、Gemini 3.8 Flash,以及 DeepSeek、GLM、MiniMax、Moonshot | relayrouter.io/models |
| 目录规模 | 公开目录约 108 个模型,19 个公开分组 | relayrouter.io/models |
| 结算价 | GPT 分组每 $1 标准用量 ¥0.6,Claude 分组 ¥2.0,市场参考 ¥6.8 每 $1 | relayrouter.io/models |
| 直连价格 | deepseek-v4-flash 按 DeepSeek 官方分时段价格的 1.1 倍计费:闲时每百万 token 输入 ¥1.1、输出 ¥4.4,工作日高峰(北京时间 9:00 至 12:00、14:00 至 18:00)翻倍 | relayrouter.io/models |
| 平台费 | 0 平台费,无最低消费,无需订阅 | relayrouter.io |
| 失败计费 | 失败或报错的请求通常不计费 | relayrouter.io |
数据更新于 2026-10-08,实时价格以官方 /models 页为准。