AI 严选AIAICN / API FIELD GUIDE
接入配置

AI API Base URL 怎么填?排查 /v1 与端点重复拼接

区分 SDK 的 Base URL 和完整请求地址,用本地路径检查排查 /v1 丢失、重复端点与配置覆盖,不发送真实 API 请求。

AI 严选 · 编辑整理(AI 辅助) · 写于 · 资料核对

本文目录
  1. 先把三种地址写在一张纸上
  2. 按客户端类型决定填到哪一层
  3. 运行一个不联网的路径检查
  4. 怎样判断已经修好
  5. 仍然失败时如何恢复
直接回答

先确认输入框需要“服务根地址”还是“完整端点”。SDK 的资源方法通常再拼接端点路径,把 /chat/completions 填进 Base URL 可能导致重复;直接使用 fetch 则需要完整地址。不要看到 404 就反复换 Key。

适用前提

适用于服务端使用 OpenAI 兼容客户端或自行发送 HTTP 请求的开发者。先找到目标平台的官方接入文档,确认使用 Chat 还是 Responses;本文不保证第三方平台支持全部 OpenAI 接口。

先把三种地址写在一张纸上

服务网站是给人访问的页面;Base URL 是客户端的 API 前缀;完整端点才是某次 HTTP 请求实际发送的位置。以 OpenAI Node 客户端源码为例,默认前缀是 https://api.openai.com/v1;具体前缀也可能被环境配置覆盖。不要把控制台的网址、文档页地址或登录页填进 API 配置。

官方依据:来源 1

按客户端类型决定填到哪一层

如果调用的是 client.chat.completions.create,先查 SDK 与服务商示例中的 baseURL,再查看实际发出的路径;不要自行再加一次 /chat/completions。若是自己写 fetch,需要提供该端点完整 URL。OpenRouter 的公开 Chat 请求路径是 /api/v1/chat/completions,不能把其前缀机械替换成其他平台的 /v1。

  1. 确认平台、协议、模型 ID 三者是同一套配置。
  2. 检查环境变量、配置文件与客户端初始化参数,确认最终采用哪个值。
  3. 只记录脱敏后的主机名和路径;不要输出 Authorization、查询参数里的令牌或请求正文。

官方依据:来源 2

运行一个不联网的路径检查

下面是教学用 URL 检查器,不是 SDK 内部实现。将其保存为 check-url.mjs,用 node check-url.mjs 执行。example.com 是保留示例域名;代码只做字符串与 URL 解析,不会向它发送请求。

JavaScript · 本地合成示例,不联网、不消耗 API 额度
function endpoint(base, path) {
  const url = new URL(base);
  if (url.protocol !== 'https:' || url.search || url.hash)
    throw new Error('检查协议、查询参数或锚点');
  if (/\/(chat\/completions|responses)\/?$/.test(url.pathname))
    throw new Error('Base URL 已包含业务端点');
  return base.replace(/\/+$/, '') + '/' + path.replace(/^\/+/, '');
}
const result = endpoint('https://api.example.com/v1/', '/chat/completions');
console.assert(result === 'https://api.example.com/v1/chat/completions');
console.log(result);
console.log(new URL('/chat/completions', 'https://api.example.com/v1/').pathname);
// 第二行是 /chat/completions:URL 根路径解析会丢掉 /v1。

怎样判断已经修好

本地检查器输出正确,只证明自己的拼接规则正确,不证明 SDK 或网络请求成功。应用里最终请求的 host 和 pathname 都应与官方示例一致,路径中只有一次所需版本前缀和端点。若返回 HTML 登录页,应先怀疑用错网站地址或反向代理路由;若请求被转到意外主机,暂停测试并检查重定向设置。

仍然失败时如何恢复

先回到上一次已知正确的配置,只改一个变量再比较。撤掉自定义的路径重写,使用同一平台文档给出的最小配置;确认资源方法不会被封装层再拼接一次。路径匹配后仍报错,再按状态码排查认证、限流或上游错误。不要用放宽跨域、公开 Key 或随意跟随重定向来掩盖路径问题。

来源与适用边界

2026-10-21 阅读下列官方资料。操作步骤为本站编辑归纳,代码与数字为本地合成示例;未调用付费模型,不是服务商实测报告,也不构成接口或性能承诺。

  1. https://raw.githubusercontent.com/openai/openai-node/master/src/client.ts
  2. https://openrouter.ai/docs/quickstart