OneAPI无法访问xinference,报网络错误 #374
Labels
No Label
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: HswOAuth/llm_course#374
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
一、服务器环境:Ubuntu20.4, CUDA11.4, 显卡是Tesla P4,服务器未限制端口,未启用防火墙(局域网使用)。
二、测试服务器:另外一台windows 2012用于测试大模型架设情况。
布署说明:
问题描述:布署完成后,在windows服务器上可以访问fastGPT,oneapi,xinference。并且在xinference中测试大模型也可以正常访问。但在配置使用oneAPI访问xinference的时候报网络错误,报错如下:
错误:do request failed: Post "http://192.168.1.200:9997/v1/chat/completions": dial tcp 192.168.1.200:9997: i/o timeout
附docker-compose.yml文件内容如下:
fastgpt
sandbox:
container_name: sandbox
# image: ghcr.io/labring/fastgpt-sandbox:latest # git
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-sandbox:latest # 阿里云
networks:
- fastgpt
restart: always
fastgpt:
container_name: fastgpt
# image: ghcr.io/labring/fastgpt:v4.8.8-fix2 # git
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.8.8-fix2 # 阿里云
ports:
- 3000:3000
networks:
- fastgpt
depends_on:
- mongo
- pg
- sandbox
restart: always
environment:
# root 密码,用户名为: root。如果需要修改 root 密码,直接修改这个环境变量,并重启即可。
- DEFAULT_ROOT_PSW=1234
# AI模型的API地址哦。务必加 /v1。这里默认填写了OneApi的访问地址。
- OPENAI_BASE_URL=http://oneapi:3000/v1
# AI模型的API Key。(这里默认填写了OneAPI的快速默认key,测试通后,务必及时修改)
- CHAT_API_KEY=sk-fastgpt
# 数据库最大连接数
- DB_MAX_LINK=30
# 登录凭证密钥
- TOKEN_KEY=any
# root的密钥,常用于升级时候的初始化请求
- ROOT_KEY=root_key
# 文件阅读加密
- FILE_TOKEN_KEY=filetoken
# MongoDB 连接参数. 用户名myusername,密码mypassword。
- MONGODB_URI=mongodb://myusername:mypassword@mongo:27017/fastgpt?authSource=admin
# pg 连接参数
- PG_URL=postgresql://username:password@pg:5432/postgres
# sandbox 地址
- SANDBOX_URL=http://sandbox:3000
# 日志等级: debug, info, warn, error
- LOG_LEVEL=info
- STORE_LOG_LEVEL=warn
volumes:
- ./config.json:/app/data/config.json
oneapi
mysql:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/mysql:8.0.36 # 阿里云
# image: mysql:8.0.36
container_name: mysql
restart: always
ports:
- 3306:3306
networks:
- fastgpt
command: --default-authentication-plugin=mysql_native_password
environment:
# 默认root密码,仅首次运行有效
MYSQL_ROOT_PASSWORD: oneapimmysql
MYSQL_DATABASE: oneapi
volumes:
- ./mysql:/var/lib/mysql
oneapi:
container_name: oneapi
# image: ghcr.io/songquanpeng/one-api:v0.6.7
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/one-api:v0.6.6 # 阿里云
ports:
- 3001:3000
depends_on:
- mysql
networks:
- fastgpt
restart: always
environment:
# mysql 连接参数
- SQL_DSN=root:oneapimmysql@tcp(mysql:3306)/oneapi
# 登录凭证加密密钥
- SESSION_SECRET=oneapikey
# 内存缓存
- MEMORY_CACHE_ENABLED=true
# 启动聚合更新,减少数据交互频率
- BATCH_UPDATE_ENABLED=true
# 聚合更新时长
- BATCH_UPDATE_INTERVAL=10
# 初始化的 root 密钥(建议部署完后更改,否则容易泄露)
- INITIAL_ROOT_TOKEN=fastgpt
volumes:
- ./oneapi:/data
networks:
fastgpt:
附docker运行安装xinference命令如下:
docker run
-d
-e XINFERENCE_MODEL_SRC=modelscope
-v $(pwd)/.xinference:/root/.xinference
-v /home/security/.cache/huggingface:/root/.cache/huggingface
-v /home/security/.cache/modelscope:/root/.cache/modelscope
-p 9997:9997
--gpus all
registry.cn-hangzhou.aliyuncs.com/xprobe_xinference/xinference
xinference-local -H 0.0.0.0
附OneAPI渠道配置如下:
附使用xinference中的swagger文件测试如下:
问题可能原因
根据报错的方向排查,可能就是网络访问不可达,但是从本机和windows测试服务器上访问都是可以的,所以怀疑是docker内部的环境问题,后面发现通过docker inspect xxxx查docker中运行的各个镜像容器发现用docker-compose.yml文件安装的fastGPT\oneAPI在docker内部是172.18.0.x的网段。而通过docker run运行的xinference的docker内部IP是172.17.0.X的网段。如下:
Xinference配置:

OneAPI配置:

已解决,服务器防火墙端口未开启。