故障排查GitHub issue3 分钟阅读排错/错误码

解决FastGPT对接第三方API代理服务提示Not Found的问题

本地Docker部署FastGPT,使用原生OpenAI地址和密钥可正常对话。本地部署one-api作为第三方API代理服务后,通过postman或notebook直接访问代理地址http://127.0.0.1:3000/v1/chat/completions可正常对话。

现象

本地Docker部署FastGPT,使用原生OpenAI地址和密钥可正常对话。本地部署one-api作为第三方API代理服务后,通过postman或notebook直接访问代理地址http://127.0.0.1:3000/v1/chat/completions可正常对话。但在FastGPT的docker-compose.yml中替换OPENAI_BASE_URLCHAT_API_KEY为代理服务的对应配置后,发起聊天时提示错误“Not Found”。

可能原因

  1. 部署FastGPT的Docker容器的本地回环地址与宿主机器隔离,无法通过127.0.0.1访问宿主机器上的第三方API代理服务。
  2. 配置的OPENAI_BASE_URL路径格式可能导致API请求路径拼接出现错误。
  3. 未正确匹配第三方API代理服务的接口路径规范。

排查步骤

  1. 在宿主机器上使用postman或notebook访问第三方API代理地址http://127.0.0.1:3000/v1/chat/completions,确认服务可正常响应对话请求。
  2. 进入FastGPT运行的Docker容器内部,执行curl http://127.0.0.1:3000/v1/chat/completions命令,确认容器内是否可以访问该代理服务。
  3. 检查docker-compose.yml中的OPENAI_BASE_URL配置项,确认格式为http://[服务地址]:[端口]/v1,无多余或缺失的路径片段。
  4. 核对CHAT_API_KEY配置是否与第三方API代理服务生成的令牌完全一致。

解决与验证

若排查发现是容器网络隔离导致无法访问宿主机器的代理服务,需将docker-compose.yml中的OPENAI_BASE_URL替换为宿主机器的局域网IP地址,例如http://192.168.1.100:3000/v1(需替换为实际宿主机器IP)。修改配置后重启FastGPT容器,再次发起聊天测试。若不再提示“Not Found”错误且能正常获取对话结果,则问题解决。

来源:FastGPT GitHub issue