Open katfionn opened 7 months ago
oneapi的测试调用的是chat接口,m3e,404正常的,你要去fasgpt测试 llm2可能是你服务器防火墙端口没开
oneapi的测试调用的是chat接口,m3e,404正常的,你要去fasgpt测试 llm2可能是你服务器防火墙端口没开
好的,大佬,那:
容器里的日志报错要不要管他,他说他找不到模型文件
然后,我今天测试还发现,CURL下都无法正常访问M3E,一直提示未授权
我是容器部署的,默认key我试过了没用,我就把环境里叫GPG_KEY的参数,给替换”sk-“后面的值,也是失败,失败提示都是同一个:
{"detail":"Not authenticated"}
容器的完整环境:
PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
LANG=C.UTF-8
GPG_KEY=E3FF2839C048B25C084DEBE9B26995E310250568
PYTHON_VERSION=3.8.17
PYTHON_PIP_VERSION=23.0.1
PYTHON_SETUPTOOLS_VERSION=57.5.0
PYTHON_GET_PIP_URL=https://github.com/pypa/get-pip/raw/0d8570dc44796f4369b652222cf176b3db6ac70e/public/get-pip.py
PYTHON_GET_PIP_SHA256=96461deced5c2a487ddc65207ec5a9cffeca0d34e7af7ea1afc470ff0d746207
我本地没有部署有防火墙;测试过如果填的地址是错的,他会直接404,不会提示链接被拒绝
我今晚更新了最新的one-api,官方支持ollama了,但依旧是同样的报错,大佬指点下
one-api的配置
报错信息
oneapi的测试调用的是chat接口,m3e,404正常的,你要去fasgpt测试 llm2可能是你服务器防火墙端口没开
关于ollama
我发现直接用curl测试都报错,根据掘金这个帖子拿的curl
但我本地用ollama run llama2:7b
是跑得起来的
oneapi的测试调用的是chat接口,m3e,404正常的,你要去fasgpt测试 llm2可能是你服务器防火墙端口没开
关于ollama
我发现直接用curl测试都报错,根据掘金这个帖子拿的curl指令
我用lucky开了个端口转发,这ollama玩死人的,开了个监听端口在127.0.0.1这个地址而不是0.0.0.0这个地址,开了端口转发,终于可以用CURL在局域网调用它了
大佬知道怎么在Linux里修改他吗,这个监听地址,百度一堆都是说Windows环境的,Linux里改监听地址只字不提
CURL可以了,但是 one-api依旧不行
Oneapi请求的浏览器记录:
请求
请求网址:http://192.168.1.3:3000/api/channel/test/3
请求方法:GET
状态代码:200 OK
远程地址:192.168.1.3:3000
引荐来源网址政策:strict-origin-when-cross-origin
Referer:http://192.168.1.3:3000/channel
User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36
响应
{"message":"status code 404: ","success":false,"time":0.001}
oneapi的测试调用的是chat接口,m3e,404正常的,你要去fasgpt测试 llm2可能是你服务器防火墙端口没开
关于ollama 我发现直接用curl测试都报错,根据掘金这个帖子拿的curl指令
- 我用lucky开了个端口转发,这ollama玩死人的,开了个监听端口在127.0.0.1这个地址而不是0.0.0.0这个地址,开了端口转发,终于可以用CURL在局域网调用它了
- 但是 one-api依旧不行
m3e
大佬,m3e不通过oneapi怎么接入到fastgpt?
我尝试过:把m3e的接口地址填到docker文件里,然后删了已有的容器,重新建一个容器,docker-compose配置如下
# 非 host 版本, 不使用本机代理
# (不懂 Docker 的,只需要关心 OPENAI_BASE_URL 和 CHAT_API_KEY 即可!)
version: '3.3'
services:
pg:
image: ankane/pgvector:v0.5.0 # git
# image: registry.cn-hangzhou.aliyuncs.com/fastgpt/pgvector:v0.5.0 # 阿里云
container_name: pg
restart: always
ports: # 生产环境建议不要暴露
- 5432:5432
networks:
- fastgpt
environment:
# 这里的配置只有首次运行生效。修改后,重启镜像是不会生效的。需要把持久化数据删除再重启,才有效果
- POSTGRES_USER=username
- POSTGRES_PASSWORD=password
- POSTGRES_DB=postgres
volumes:
- ./pg/data:/var/lib/postgresql/data
mongo:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/mongo:5.0.18
container_name: mongo
restart: always
ports:
- 27017:27017
networks:
- fastgpt
command: mongod --keyFile /data/mongodb.key --replSet rs0
environment:
- MONGO_INITDB_ROOT_USERNAME=myusername
- MONGO_INITDB_ROOT_PASSWORD=mypassword
volumes:
- ./mongo/data:/data/db
entrypoint:
- bash
- -c
- |
openssl rand -base64 128 > /data/mongodb.key
chmod 400 /data/mongodb.key
chown 999:999 /data/mongodb.key
exec docker-entrypoint.sh $$@
fastgpt:
container_name: fastgpt
image: ghcr.io/labring/fastgpt:latest # git
# image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:latest # 阿里云
ports:
- 3020:3020
networks:
- fastgpt
depends_on:
- mongo
- pg
restart: always
environment:
# root 密码,用户名为: root
- DEFAULT_ROOT_PSW=1234
# 中转地址,如果是用官方号,不需要管。务必加 /v1
- OPENAI_BASE_URL=http://192.168.1.3:6008/v1
- CHAT_API_KEY=sk-aaabbbcccdddeeefffggghhhiiijjjkkk
- DB_MAX_LINK=5 # database max link
- TOKEN_KEY=any
- ROOT_KEY=root_key
- FILE_TOKEN_KEY=filetoken
# mongo 配置,不需要改. 用户名myusername,密码mypassword。
- MONGODB_URI=mongodb://myusername:mypassword@mongo:27017/fastgpt?authSource=admin
# pg配置. 不需要改
- PG_URL=postgresql://username:password@pg:5432/postgres
volumes:
- ./config.json:/app/data/config.json
networks:
fastgpt:
Ollama模型的地址写这个: http://host.docker.internal:11434
Ollama模型的地址写这个: http://host.docker.internal:11434
这个管用
Ollama模型的地址写这个: http://host.docker.internal:11434
管用,但是测试时访问ollama的 /api/channel/test/ 是没有这个路由的。
Ollama模型的地址写这个: http://host.docker.internal:11434
使用这种方法对话模型没有问题。嵌入模型不行,ollama那边输出400错误,是ollama那边的设置问题吗?
我遇到同样的问题,搞定了。
base URL 不能用127.0.0.1,应该使用实际ip地址。
否则One-API认为是docker 容器自己。这就是为什么使用curl或者postman在外面调用是可以的。
Ollama模型的地址写这个: http://host.docker.internal:11434
亲测可用!感谢大佬
例行检查
问题描述
主要问题
部署的模型是本地的,依照他们的相关文档,配置渠道后,出现两个问题:
其中,m3e模型是依照这个UP主的视频教程做的,相关文档在这,实际部署时,我把6008:6008改为了6018:6008,其他没变化;
其中,llm2:7b是依照ollama部署的,api地址为官方的http://localhost:11434 本地部署两个模型:基于docker的m3e、基于ollama的llm2:7b
机器环境
系统:装在Vmware下的Debian12 网络:直接连接物理网络,内网ip192.168.1.3,网络可联通 个人不太了解命令行,所以配置界面用的是1panel oneapi是用的mysql运行的,里面内部功能可以正常访问
m3e
在oneapi的配置与参数
根据m3e的提示,添加时采用以下参数
m3e docker 日志:
No sentence-transformers model found with name ./moka-ai_m3e-large. Creating a new one with MEAN pooling. INFO: Started server process [1] INFO: Waiting for application startup. INFO: Application startup complete. INFO: Uvicorn running on http://0.0.0.0:6008 (Press CTRL+C to quit)
容器里/app目录下的文件:
容器配置:
环境:
PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin LANG=C.UTF-8 GPG_KEY=E3FF2839C048B25C084DEBE9B26995E310250568 PYTHON_VERSION=3.8.17 PYTHON_PIP_VERSION=23.0.1 PYTHON_SETUPTOOLS_VERSION=57.5.0 PYTHON_GET_PIP_URL=https://github.com/pypa/get-pip/raw/0d8570dc44796f4369b652222cf176b3db6ac70e/public/get-pip.py PYTHON_GET_PIP_SHA256=96461deced5c2a487ddc65207ec5a9cffeca0d34e7af7ea1afc470ff0d746207
容器配置如下图图1所示
报错信息
点击渠道列表的测试按钮,出现提示:"status code 404: bad response status code 404"
llm2:7b的模型
在oneapi的配置与参数
报错信息
do request failed: Post \"http://192.168.1.3:11434/v1/chat/completions\": dial tcp 192.168.1.3:11434: connect: connection refused 复现步骤
m3e
在oneapi的配置与参数
根据m3e的提示,添加时采用以下参数
llm2:7b的模型
在oneapi的配置与参数
个人基础知识
预期结果 能像视频中一样地跑起来,最终是想要加到本地部署的fastgpt上 相关截图 图一: