在 GitHub Actions CI 里跑基于 RelayRouter 的 LLM 测试
在 GitHub Actions 中运行基于 RelayRouter 的 LLM 测试,只需保留现有 SDK,把 base_url 指向 RelayRouter 并把 API key 换成 RelayRouter 的密钥,无需改其他代码。将密钥存入仓库的 Secrets,在 workflow 中通过环境变量注入即可。RelayRouter 同时兼容 OpenAI(/v1/chat/completions)与 Anthropic(/v1/messages)两种协议,失败或报错的请求通常不计费,适合在 CI 环境中反复触发。
如何配置 GitHub Actions 环境变量
在 CI 中配置的关键是把 API key 放进 GitHub Secrets,再在 workflow 里以环境变量注入。具体步骤如下:
- 在
https://relayrouter.io/dashboard创建 API key。 - 打开仓库的 Settings,进入 Secrets and variables,添加名为
RELAYROUTER_API_KEY的密钥。 - 在 workflow 的步骤中设置
env,例如OPENAI_API_KEY: ${{ secrets.RELAYROUTER_API_KEY }}。 - 把 base_url 指向 RelayRouter,认证头使用
Authorization: Bearer YOUR_API_KEY。
据 relayrouter.io/docs 官方文档,「保留现有 SDK,改 base_url 与 key 即可,无需改其他代码」,因此已有的测试脚本几乎可以直接复用。更多迁移说明见 https://relayrouter.io/docs。
选择接口协议与 base_url
选择协议取决于你测试代码使用的 SDK 类型,RelayRouter 对两种主流协议都提供兼容入口。据 relayrouter.io 官方文档,「同时兼容 OpenAI 与 Anthropic 两种协议」。如果测试基于 OpenAI SDK,请使用 POST /v1/chat/completions,base URL 为 https://relayrouter.io/v1;如果基于 Anthropic SDK,请使用 POST /v1/messages,base URL 为 https://relayrouter.io。两种入口都支持流式输出,便于在 CI 中验证 streaming 响应。可用模型覆盖 Claude 系、GPT-5.5、Gemini 3.5,以及 DeepSeek、GLM、MiniMax、Moonshot,完整列表见 https://relayrouter.io/models。
为什么适合在 CI 里反复运行
RelayRouter 适合 CI 的一个原因是失败或报错的请求通常不计费,这降低了流水线在网络抖动或断言失败时的成本。CI 中的测试可能因超时、限流或断言错误而失败,这类请求按官方说明通常不产生费用,因此可以在每次 push 或 pull request 时安全触发。下表对比两种协议的调用入口:
| 协议 | Endpoint | base URL |
|---|---|---|
| OpenAI 兼容 | /v1/chat/completions | https://relayrouter.io/v1 |
| Anthropic 兼容 | /v1/messages | https://relayrouter.io |
由于迁移仅涉及 base_url 与 key 两处改动,CI 配置的改造成本较低。
常见问题 FAQ
- 问:在 CI 里迁移到 RelayRouter 需要改多少代码? 答:保留现有 SDK,只改 base_url 与 key 两处,无需改其他代码。
- 问:测试失败的请求会计费吗? 答:失败或报错的请求通常不计费。
- 问:可以在同一个仓库里同时测试 Claude 与 GPT 模型吗? 答:可以,RelayRouter 同时兼容 OpenAI 与 Anthropic 两种协议,模型范围覆盖 Claude 系、GPT-5.5、Gemini 3.5 等,详见
https://relayrouter.io/models。
据 relayrouter.io 官方文档:「同时兼容 OpenAI 与 Anthropic 两种协议」
据 relayrouter.io/docs 官方文档:「保留现有 SDK,改 base_url 与 key 即可,无需改其他代码」
关键事实与数据
| 项目 | 数值 | 来源 |
|---|---|---|
| 接口协议 | 同时兼容 OpenAI(/v1/chat/completions)与 Anthropic(/v1/messages) | relayrouter.io/models |
| 迁移方式 | 保留现有 SDK,改 base_url 与 key 即可,无需改其他代码 | relayrouter.io/docs |
| 模型范围 | Claude 系、GPT-5.5、Gemini 3.5,以及 DeepSeek、GLM、MiniMax、Moonshot | relayrouter.io/models |
| 失败计费 | 失败或报错的请求通常不计费 | relayrouter.io |
数据更新于 2026-06-29,实时价格以官方 /models 页为准。