跳转到内容
返回主站

404 Not Found

404 Not Found 表示服务器找不到请求的资源。通常是 URL 路径配置错误导致的。

错误示例

{
"error": {
"message": "Not Found",
"type": "invalid_request_error",
"code": "not_found"
}
}

原因分析

原因说明
URL 路径错误请求的接口路径拼写有误或不存在
Base URL 错误Base URL 配置不正确,缺少或重复了路径段
接口不存在请求的 API 接口尚未上线或已被移除
路径大小写错误URL 路径区分大小写,大小写不匹配

排查步骤

1. 检查完整的请求 URL

打印完整的请求 URL,确认路径是否正确:

# Python
url = f"{BASE_URL}/v1/chat/completions"
print(f"Request URL: {url}")

2. 确认 Base URL 配置

Base URL 配置方式请求路径完整 URL
https://api.example.com/v1/chat/completionshttps://api.example.com/v1/chat/completions
https://api.example.com/v1/chat/completionshttps://api.example.com/v1/chat/completions

3. 检查路径是否重复

Terminal window
# 错误:路径重复
curl "https://api.example.com/v1/v1/chat/completions" -H "Authorization: Bearer $API_KEY"
# ^^^^ 重复了

4. 检查路径拼写

确认接口路径拼写正确:

Terminal window
# 错误:拼写错误
curl "https://api.example.com/v1/chat/completion" -H "Authorization: Bearer $API_KEY"
# ^ 缺少 s

5. 测试基础接口连通性

Terminal window
# 测试 models 接口是否可访问
curl "$BASE_URL/v1/models" -H "Authorization: Bearer $API_KEY"

如果 models 接口返回正常,说明 Base URL 配置正确,问题出在具体的请求路径上。

正确的 URL 格式

常用接口路径对照

接口正确路径
模型列表GET /v1/models
Chat 补全POST /v1/chat/completions
ResponsesPOST /v1/responses
EmbeddingsPOST /v1/embeddings
图片生成POST /v1/images/generations
图片编辑POST /v1/images/edits

各语言示例

cURL

Terminal window
curl "https://api.example.com/v1/chat/completions" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "gpt-4o", "messages": [{"role": "user", "content": "Hello"}]}'

Python(OpenAI SDK)

from openai import OpenAI
client = OpenAI(
api_key="sk-your-api-key",
base_url="https://api.example.com/v1" # 注意:SDK 会自动拼接 /chat/completions
)
response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "Hello"}]
)

JavaScript(OpenAI SDK)

import OpenAI from "openai";
const client = new OpenAI({
apiKey: "sk-your-api-key",
baseURL: "https://api.example.com/v1", // SDK 会自动拼接路径
});
const response = await client.chat.completions.create({
model: "gpt-4o",
messages: [{ role: "user", content: "Hello" }],
});

使用 OpenAI SDK 时,base_url 应包含 /v1,SDK 会自动拼接后续路径,无需手动添加。