songquanpeng / one-api

OpenAI 接口管理 & 分发系统,支持 Azure、Anthropic Claude、Google PaLM 2 & Gemini、智谱 ChatGLM、百度文心一言、讯飞星火认知、阿里通义千问、360 智脑以及腾讯混元,可用于二次分发管理 key,仅单可执行文件,已打包好 Docker 镜像,一键部署,开箱即用. OpenAI key management & redistribution system, using a single API for all LLMs, and features an English UI.
https://openai.justsong.cn/
MIT License
18.85k stars 4.23k forks source link

在本地docker部署后无法使用转发,但部署在sealos上却可以 #936

Open mrmacyoung opened 9 months ago

mrmacyoung commented 9 months ago

例行检查

问题描述 在本地docker部署后,在另一容器填入http://192.168.3.2:3000/v1 无法使用转发,但部署在sealos上却可以. 本地部署是用docker run --name one-api -d --restart always -p 3000:3000 -e TZ=Asia/Shanghai -v /home/ubuntu/data/one-api:/data justsong/one-api命令进行的 sealos是一键部署,不知道是不是本地部署设置有问题,请指教

kitaev-chen commented 9 months ago

遇到同样的问题,不过我是手动部署的。本地启动one-api后,NextChat里填写 "http://localhost:3000/" 成功,但填写 "http://192.168.xxx.xxx:3000/" 失败。局域网另一台机器填写 "http://192.168.xxx.xxx:3000/" 也失败。

mrmacyoung commented 9 months ago

遇到同样的问题,不过我是手动部署的。本地启动one-api后,NextChat里填写 "http://localhost:3000/" 成功,但填写

"http://192.168.xxx.xxx:3000/" 失败。局域网另一台机器填写 "http://192.168.xxx.xxx:3000/" 也失败。

你部署的时候,网络用的是host还是bridge?

kitaev-chen commented 9 months ago

docker compose 的默认配置启动,应该是 bridge。后来不得不改在本地同一台机器上部署了。

本机部署的话,NextChat 里填写 http://localhost:3000/ ,其它都 work 了,就 google gemini 和 星火 sparkdesk 失败 ( google 配了 mapping 星火没配),postman 里 http://localhost:3000/ curl 测试 google gemini 是能有正常回复的,星火测试太麻烦没测。

报错如下: google gemini:

{
  "error": {
    "message": " (request id: 20240122084414391596706r2p3m0p)",
    "type": "upstream_error",
    "param": "400",
    "code": "bad_response_status_code"
  }
}

星火:

{
  "error": {
    "message": "websocket: bad handshake (request id: 20240123075433580429130DXqe3b2y)",
    "type": "one_api_error",
    "param": "",
    "code": "make xunfei request err"
  }
}

总感觉这种带端口的 url 还是有什么问题在里面。