1. 尝试获取 HTTP 错误代码,初步定位问题

a. 在代码中,尽量把错误码和报错信息(message)打印出来,利用这些信息,可以定位大部分问题。

HTTP/1.1 400 Bad Request
Date: Thu, 19 Dec 2024 08:39:19 GMT
Content-Type: application/json; charset=utf-8
Content-Length: 87
Connection: keep-alive

{"code":20012,"message":"Model does not exist. Please check it carefully.","data":null}

  • 常见错误代码及原因:
    • 400:参数不正确,请参考报错信息(message)修正不合法的请求参数;
    • 401:API Key 没有正确设置;
    • 403:权限不够,最常见的原因是该模型需要实名认证,其他情况参考报错信息(message);
    • 429:触发了 rate limit;参考报错信息(message)判断触发的是 RPM / TPM / TPD / IPM / IPD 中的具体哪一种,可以参考 Rate Limits 了解具体的限流策略
    • 504 / 503
      • 一般是服务系统负载比较高,可以稍后尝试;
      • 对于对话和文本转语音请求,可以尝试使用流式输出(“stream” : true),参考 流式输出
    • 500:服务发生了未知的错误,可以联系相关人员进行排查

b. 如果客户端没有输出相应的信息,可以考虑在命令行下运行 curl 命令 (以 LLM 模型为例):

curl --request POST \
   --url https://api.siliconflow.cn/v1/chat/completions \
   --header 'accept: application/json' \
   --header 'authorization: Bearer 改成你的apikey' \
   --header 'content-type: application/json' \
   --data '
{
  "model": "记得改模型",
  "messages": [
    {
      "role": "user",
      "content": "你好"
    }
  ],
  "max_tokens": 128
}' -i

2. 可以尝试换一个模型,看看问题是否依旧

3. 如果开了代理,可以考虑将代理关闭后再尝试访问

4. 尝试将接入点从 api.siliconflow.cn 切到 api.siliconflow.com ,后者具备全球负载均衡能力,会根据请求来源路由到相应的节点上

如遇其他问题,请点击硅基流动MaaS线上需求收集表反馈。