接口地址少了 `/v1`,为什么会报错

接口地址少了/v1,为什么会报错

很多 AI 软件在配置供应商时,都会让你填写一个Base URL。有时候文档、控制台、别人分享的地址看起来都差不多,但实际能不能用,关键往往差在最后的/v1

比如原来填的是:

https://api.example.com

请求模型列表时报错:

FormatException: Unexpected character <!doctype html>

加上/v1后变成:

https://api.example.com/v1

问题就解决了。

这个报错的核心意思是:软件本来想拿到 JSON 数据,但服务器返回了一个网页。

正常模型接口应该返回类似:

{ "data": [] }

但实际返回的是:

<!doctype html>

这说明请求没有打到真正的 API 接口,而是打到了网页入口、控制台页面、404 页面,或者某个网关错误页。

/v1的作用,就是告诉服务端:我要访问的是第一版 API 接口,不是普通网页。

所以配置 OpenAI 兼容接口时,优先检查三件事:

  1. Base URL是否是 API 地址,不是官网或控制台地址
  2. 地址末尾是否需要/v1
  3. API Key 是否正确,没有多复制空格

可以记住一个简单判断:

看到<!doctype html>,先查 URL。

因为这类错误通常不是模型坏了,也不是 Key 一定错了,而是软件请求到了网页,不是接口。大多数情况下,把地址改成供应商文档里的 OpenAI-compatible API 地址,并补上/v1,就能解决。