Base URL
Base URL 是 API 请求所使用的一段固定基础地址,客户端会在它后面拼接具体 Endpoint 组成完整请求地址。改 Base URL 就等于换了一个服务端。
Base URL 指 API 请求地址中固定不变的前半段,通常包含协议、域名与版本号。客户端把它与具体的 Endpoint 路径拼接后,才得到一次请求的完整地址。官方 SDK 一般允许通过参数或环境变量覆盖 Base URL,这也是第三方兼容服务只需改一行配置就能接入的原因。
拆开看是怎么拼的
https://api.example.com/v1 + /chat/completions
└────── Base URL ──────┘ └──── Endpoint ────┘
Base URL 决定请求发到哪台服务器,Endpoint 决定在那台服务器上做哪件事。
和 Endpoint 的区别
这是最常见的混淆点:
| Base URL | Endpoint | |
|---|---|---|
| 变化频率 | 一个服务通常只有一个 | 每种功能一个 |
| 决定什么 | 请求发给谁 | 请求要做什么 |
| 谁来配置 | 客户端初始化时设一次 | 每次调用时选择 |
Base URL 不是完整请求地址,单独拿它去请求通常什么也得不到。
为什么它是兼容层的关键
官方 SDK 把 Base URL 做成了正式参数(也常支持对应的环境变量),所以第三方服务只要把自己的网关做成同样的接口形状,你改一行地址、换一把密钥就能连上。
但要注意:能连上只说明地址和认证对了,不代表参数行为一致。 兼容程度怎么逐项验证,见 OpenAI 兼容接口怎么判断。
实践建议
把 Base URL 和密钥都做成配置项而不是写死在代码里。做到这一点之后,切换服务商是改配置而不是改代码,判断失误的代价会小得多。