本地服务起来了、API 却调不通:先 curl,curl 通就是客户端的事

排障 · 5 步 / 5 分钟L1整理于 2026-10-06 有效期 180d

本地推理服务明明起来了,OpenAI 客户端却报 401 或 404 —— 九成是路径、鉴权、端口三处里的一处对不上:客户端默认请求 /v1/chat/completions,服务实际可能是别的路径;服务要 API key 而客户端没带;或干脆连错了端口。最快的判据是 curl 直连 /v1/models:curl 通说明服务没问题,问题一定在客户端配置。

本地大模型部署排错APIvLLMSGLang

这条适用于

版本指纹

vLLM / SGLang / Ollama 的 OpenAI 兼容接口;base_url 是否带 /v1 因服务而异

具体做法

—— ① 决定性判据:先直连服务本身 ——

用 curl 直接请求服务的模型列表接口,例如访问 http://127.0.0.1:8000/v1/models
关键不在命令本身,而在「直连能不能通」:
通 → 服务 OK,问题一定在客户端配置
401 → 鉴权:key 缺失或不对
404 → 路径:多半漏了 /v1,或多了少了路径段
连接被拒 → 端口错,或服务根本没起

—— ② 客户端配置对齐(以 OpenAI SDK 为例)——

base_url 要指向服务的 /v1 前缀(多数 OpenAI 兼容服务都要求)
api_key 填与服务端一致的 key;不校验鉴权的服务随便填一个非空值即可

—— ③ 排查端口是否在听 ——

Windows: netstat -ano | findstr :8000
Linux: ss -lntp | grep 8000

—— ④ 服务端若要求鉴权,启动时就显式设置 ——

vllm serve 模型名 --host 0.0.0.0 --port 8000 --api-key 你的key

—— ⑤ 浏览器跨域(仅本地调试)——

给服务加「允许来源」参数;生产环境不要放开为通配

失效边界
适用边界:本机实测以 vLLM / SGLang / Ollama 的 OpenAI 兼容接口为主,三者路径与鉴权习惯略有差异(Ollama 默认无鉴权、vLLM 可用 --api-key 开启)。base_url 是否要带 /v1 因服务而异,务必以该服务的 /v1/models 能否 curl 通为准。提醒:跨域放开 --allow-origins 仅用于本地调试,生产环境不要开 * 通配。
← 显存明明够却 OOM:先看报错里 reserved but unallocated 是不是大于 1GBNAS 测出 10MB/s 别急着换盘:一个同步落盘标志让它慢 7.3 倍 →

← 返回全部排错方案