Skip to content

常见错误以及解决办法 ​

为什么询问ai大模型的名称,它们无法正确回答? ​

训练数据的时间差

模型训练时使用的数据通常早于模型发布,训练数据中不包含关于"自己"的信息,模型无法"知道"自己最终会被命名为什么

自我认知的缺失

AI模型本质上是在预测下一个词,它们没有真正的"自我意识",关于自身身份的信息需要被明确编程或注入

如果你需要模型正确回答自己是哪个模型,可以在系统提示词中加入相关信息,例如:

You are GPT-4, a large language model trained by OpenAI.

为什么 ChatGPT / Claude 等官方网页版应用能够正确回答自己是哪个模型? ​

这是因为官方网页版应用是to C 产品,它们在系统提示词中已经加入了相关信息,所以它们能够正确回答自己是哪个模型。

常见错误代码 ​

错误代码说明
400 Bad Request请求格式错误或无效。这通常意味着你的请求参数有误,需要你检查并修正请求参数。
401 Unauthorized请求令牌无效。这通常意味着你的请求令牌有误,需要你检查并修正请求参数。
404 Not Found请求地址错误
413 Request Entity Too Large请求体太大。你可能需要减少你的请求数据量。
429 Too Many Requests由于短时间内发送过多的请求,你已经超过了你的速率限制。
500 Internal Server Error服务器内部错误。
503 Service Unavailable服务暂时不可用。这可能是由于 OpenAI 正在进行维护或者服务器过载。

后台额度充足,使用 API 提示额度不足? ​

请确认你后台创建的令牌余额充足

提示当前分组下没有可用渠道? ​

  1. 确认模型名称是否正确
  2. 确认当前渠道类型是否有该模型

为什么GPT-5 等推理模型会返回空响应内容? ​

请检查是否设置了max_tokens 参数,如果设置了,请尝试移除该参数,或者将其设置为一个较大的值。

这是因为推理tokens 同样会计算在max_tokens中,如果设置的值过小,当推理tokens > max_tokens 时,已经满足了限制条件,会立即停止输出内容,导致返回空响应。

特别是OpenAI的推理模型,由于OpenAI不会返回推理内容,所以会直接返回空响应内容。

chat接口可以通过返回的finish_reason 字段来判断是否是因为max_tokens 导致的响应中断。

finish_reason 内容说明
stop正常结束
length达到 max_tokens 限制
content_filter内容被过滤

response接口通过判断status字段,如果status 字段为completed 则表示正常结束,如果为incomplete 则表示出现异常,然后通过incomplete_details.reason 字段来判断具体原因。

reason 内容说明
max_output_tokens达到 max_tokens 限制

为什么o3-deep-research / o4-mini-deep-research 请求报错 ​

OpenAI的deep-research模型必须要使用网络搜索工具或者mcp工具才能运行。

使用web_search_preview工具 ​

bash
curl --location --request POST 'https://api.uniapi.io/v1/responses' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer sk-xxxx' \
--data-raw '{
    "model": "o3-deep-research",
    "stream" : true,
    "input": [
      {
        "role": "user",
        "content": "今天是2025-07-23,有哪些新闻?"
      }
    ],
    "tools": [
        {
            "type": "web_search_preview"
        }
    ]
}'

使用mcp工具 ​

json
{
    "model": "o3-deep-research",
    "stream" : true,
    "input": [
      {
        "role": "user",
        "content": "获取网页内容并总结:https://xxxxx"
      }
    ],
    "tools": [
        {
            "type": "mcp",
            "server_label": "modelscope",
            "server_url": "https://mcp.api-inference.modelscope.net/xxxx/sse"
        }
        
    ]
}

GPT-5 / GPT-5-mini 为什么这么慢? ​

这是因为GPT-5系列是推理模型,而OpenAI不输出推理内容,所以我们需要等待OpenAI推理完成后,才能返回结果。

如果想要响应速度更快,可以降低推理程度。例如:

json
{
  "model": "gpt-5",
  "stream": true,
  "input": "hi~",
  "reasoning": {
    "effort": "minimal"
  }
}
努力程度说明
minimal最小努力,响应速度最快, 仅支持gpt-5系列模型使用, o系列无法使用
low较低努力,响应速度较快
medium中等努力,响应速度较慢
high最大努力,响应速度最慢

Gemini 2.5 Flash为什么这么慢 ​

这是因为Gemini 2.5 Flash 是混合模型,默认开启推理。

如果想要响应速度更快,可以关闭推理。

OpenAI chat API 接口可以直接请求gemini-2.5-flash-nothinking。

如果使用Gemini API 接口,需要设置thinkingConfig 参数:

json
curl --location --request POST 'https://api.uniapi.io/gemini/v1beta/models/gemini-2.5-flash:streamGenerateContent?alt=sse' \
--header 'Content-Type: application/json' \
--header 'x-goog-api-key: sk-xxxxx' \
--data-raw '{
  "contents": [
    {
      "role": "user",
      "parts": [
        {
          "text": "hi~"
        }
      ]
    }
  ],
  "generationConfig": {
    "thinkingConfig": {
      "includeThoughts": false,
      "thinkingBudget": 0
    }
  }
}'

为什么推理模型很容易请求失败 / 超时 ? ​

这是因为推理模型会需要更多的耗时,特别是在遇到复杂的任务时, 耗时可能超过2000s,所以很容易请求失败或者超时。 解决方法:

  1. 尽量使用stream 模式,避免请求超时。
  2. 如果想要在非 stream 模式下使用,需要增加请求超时设置。
  3. 也可以在令牌管理页面中,打开心跳设置(实验性)的开关。

⚠️ 注意

心跳设置是指当在请求时,如果长时间没有返回数据,您的客户端可能会因为超时机制而断开连接。为了保持TCP连接不会因超时中断,您可以开启心跳设置,当请求超出您设置的开始时间,且无响应时,我们将会每隔5秒发送一次心跳请求(非流式请求返回空行,流式返回::PING),以保持连接。注意:如果您在使用中转程序时,请不要开启该设置,可能会出现不可预知的问题。