deepseek的api base URL是什么

入门与上手

讲清 DeepSeek 的 API base URL 是什么、填在哪一层、哪种填法会报错,给一份配置与排查清单。

接 DeepSeek 时最常卡住的一步不是拿 Key,而是「地址填哪儿」:有人把整条完整接口地址塞进 base_url,有人把 base_url 和具体路径写反,结果一路 404 却看不出原因。这篇只讲地址这一件事:它由哪几段组成、官方与中转站两种来源怎么区分、写进代码和写进命令行分别该写到哪一级,最后给一套先查什么后查什么的对错判断顺序。

接 DeepSeek 时最常卡住的一步不是拿 Key,而是「地址填哪儿」。有人把整条完整接口地址塞进 base_url,有人把 base_url 和具体端点路径写反,于是报了一路 404 却看不出问题在哪。这篇只讲地址这一件事:它由哪几段组成、官方与中转站两种来源怎么区分、写进代码和写进命令行分别该写到哪一级。

先把结论说在前面:地址填错通常不是「填错了网址」,而是填错了层级——多一段路径、少一段版本前缀、或者把只该给 SDK 的字段拿去当完整 URL 用。下面按节拆开讲,最后给一套先查什么后查什么的对错判断顺序。

base URL 到底是哪一段地址

base URL 指的是「域名 + 版本前缀」这一层,比如常见形式是 https://某个域名/v1 这样一段,它不是你要真正请求的那条完整路径。完整请求地址等于 base URL 再加上具体端点路径,端点路径由接口文档规定,自己拼很容易多段或少段。

base URL
域名加版本前缀这一层,交给 SDK 做拼接起点
端点路径
接口文档里规定的那一段,由 SDK 或请求库拼在后面
完整请求地址
前两者相加的结果,也是你最终发出去的东西
  • 很多 SDK 会自动帮你拼后缀,所以 base_url 写多了或写少了都会错;先确认手上这个 SDK 是「拿 base 自己拼」还是「当成完整 URL 直接用」
  • 同一份配置换成另一个库,字段名可能就变了,别把上一个项目的写法原样搬过来
  • 路径大小写、末尾有没有斜杠,都可能影响拼接结果,配好后把最终地址打出来看一次
  • 拿不准某个字段的通用含义,到站内词典页 /ai-dict 查接口相关词条,别凭印象猜

一个常见的错法

# 假设配置里写的是 base_url = "https://某域名/v1"
# 这个库内部会拼上 /chat/completions
# 你如果在 base_url 里又自己加了 /chat/completions
# 最终就会变成 .../v1/chat/completions/chat/completions,直接 404

判断是否属于这类错误很简单:把请求前打印出来的最终 URL 和文档里给的路径对一下,看有没有重复段或缺失段。这个动作花不到一分钟,能省掉后面大量试探。

官方地址和中转站地址,差在哪

官方地址的域名归厂商自己,中转站给你的是它自己的域名。两者格式通常长得几乎一样,都是域名加版本前缀,但归属不同。判断方法只有一个:这个域名是谁的、你手上的 Key 是谁发的。用官方 Key 打中转站域名、或反过来,都会鉴权失败,而报错信息往往只告诉你没权限,不告诉你原因。

你手上 Key 的来源base URL 该用哪个混用会怎样
厂商官方控制台签发官方文档标注的那个域名打中转站域名通常鉴权失败
某个中转站后台签发该站后台标注的那个域名打官方域名同样鉴权失败
不确定来源先回去确认 Key 从哪领的两类错误混在一起,很难查
  • 如果你的 Key 来自某个中转站,base URL 就必须用该站后台标注的那个,不要图省事改回官方域名
  • 反过来也一样,官方 Key 配中转站地址,多半连不上,别把这两种情况当成「地址写错了」
  • 在站内导航页 /sites 里挑服务时,先看它的接入信息页有没有写清楚 base URL 和兼容格式,写不清楚的直接跳过
  • 有些中转站会在不同接入方式下给不同地址,认准你实际用的那一种,别抄别人的截图

写进代码 / 配置文件时要注意什么

优先用环境变量存 base URL,不要写死在代码里。这样换站、换环境时只改一处,也不会被顺手提交进仓库。环境变量的整体配法在站内那篇环境变量设置的文章里已经讲透,这里只说和地址相关的几个坑。

  1. 先查字段名不同工具的字段名不一致,有的写 base_url,有的写 baseURL,还有的写 api_base。照你手上那个库的文档填,别照搬别人的示例,填错字段名往往表现为「配置没生效」而不是报错。
  2. 再查层级别填多确认这个字段要的是域名加版本前缀,还是允许带完整路径。前者多写一段就 404,后者少写一段也一样连不上。
  3. 隔离两套环境变量同一份环境变量不要同时给两个工具用。命令行工具和 SDK 对后缀的处理方式常常不同,混用容易互相干扰,最后两边都说不清是谁的错。
  4. 先打最小请求验证配好后立刻发一次最小请求,不带任何业务参数。通了再往上叠功能,别等业务代码写完再回头排地址问题。

还有一点常被忽略:如果你在本地设了代理,或者公司网关会改写请求,base URL 看着没错也可能连不上。这种情况按下一节的顺序单独查。

地址出问题的排查顺序

地址问题最容易越查越乱,因为 404 和 401 是两类完全不同的原因,混着查会把时间耗光。建议固定成下面这个顺序,每次只验证一件事。

现象优先怀疑先做的一步
返回 404 之类找不到路径版本前缀或端点路径写错把最终请求地址打印出来,和文档对一遍
返回 401 之类鉴权失败Key 与地址不配套确认 Key 来自哪,地址是不是同一家
时通时不通本地代理或网关改写换网络环境复测一次
配置看着没问题但没生效字段名或环境变量没加载确认变量名拼写和加载位置
  • 第一步看报错类型:404 基本是路径或版本前缀错,401 是 Key 与地址不配套,两类别混着查
  • 第二步打印最终请求地址:很多 SDK 会把 base 和你传的路径拼在一起,打印出来一眼就能看出多没多段
  • 第三步用最简请求验证,不带任何业务参数;通了再往上叠功能
  • 第四步换网络环境复测一次,本地代理或公司网关改写请求的情况并不少见
  • 报错文本具体怎么读,对照站内问题排查页 api-errors;怀疑是服务侧本身不稳,去状态页 /ai-status 看当前状态

需要说明的是,这套顺序针对的是「配置层面的地址问题」。如果是 Key 本身额度用尽、或者中转站临时故障,现象可能和地址错很像,这时候光调地址是没用的,先去看对应页面的实时信息再决定要不要继续排。

下一步如果你正在选接入方式,与其自己一个个试域名,不如先到站内导航页看各家的接入说明和兼容格式,把 base URL 该填哪一层一次看明白,省下反复 404 的时间。

常见问题

DeepSeek 的 base URL 可以直接填完整接口地址吗?

不建议。多数 SDK 会在你给的前缀后面自己补端点路径,你填了完整地址就会变成重复拼接,典型表现是 404 或路径里出现两段 /v1。正确做法是只填到版本前缀那一层,然后把端点路径交给库或文档规定的写法去补。不确定就先看这个库的初始化参数说明。

用中转站的 Key,能填官方的地址吗?

通常不行。中转站的 Key 只在该站自己的系统里有效,换到官方域名下鉴权不会通过,常见表现是 401 或提示 Key 无效。反过来也一样。判断标准很简单:Key 从哪来,地址就用哪家的,两者必须成对使用,混搭是白排半天故障。

base URL 和端点路径到底谁包含谁?

base URL 是公共前缀,端点路径是它后面的那一段,两个拼起来才是你能直接请求的完整地址。所以调参第一步永远是先确定前缀写对了没有,再写端点。排查时把拼好的完整地址打印出来,比盯着代码猜快得多。

本文依据各平台公开文档与官方公告整理,只做中文归纳;具体做法、参数与限制以官方文档为准。