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.51k stars 4.18k forks source link

添加本地模型到渠道后,渠道测试出错 #1159

Open katfionn opened 7 months ago

katfionn commented 7 months ago

例行检查

问题描述

主要问题

部署的模型是本地的,依照他们的相关文档,配置渠道后,出现两个问题:

  1. 渠道测试失败
  2. 基于ollama的模型在渠道添加时没有密钥提供给我,不清楚密钥一栏如何填写
  3. 试过了这个大佬的建议,把oneapi的容器网络从bridge改成了host,依然会出现以上问题

其中,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的提示,添加时采用以下参数

容器配置如下图图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的提示,添加时采用以下参数

  1. 渠道:自定义渠道
  2. m3e的Base URL:http://192.168.1.3:6018
  3. m3e密钥:sk-aaabbbcccdddeeefffggghhhiiijjjkkk
  4. oneapi渠道添加时“模型”字段:m3e
  5. 点击提交
  6. 返回到渠道列表
  7. 点击测试
  8. 出现报错

llm2:7b的模型

在oneapi的配置与参数

  1. 渠道:自定义渠道
  2. llm2:7b的Base URL:http://192.168.1.3:11434
  3. llm2:7b密钥:sk-aaabbbcccdddeeefffggghhhiiijjjkkk
  4. oneapi渠道添加时“模型”字段:llm2
  5. 点击提交
  6. 返回到渠道列表
  7. 点击测试
  8. 出现报错

个人基础知识


预期结果 能像视频中一样地跑起来,最终是想要加到本地部署的fastgpt上 相关截图 图一: m3e容器配置

jueyu233 commented 7 months ago

oneapi的测试调用的是chat接口,m3e,404正常的,你要去fasgpt测试 llm2可能是你服务器防火墙端口没开

katfionn commented 7 months ago

oneapi的测试调用的是chat接口,m3e,404正常的,你要去fasgpt测试 llm2可能是你服务器防火墙端口没开

好的,大佬,那:

关于m3e

关于ollama的llm2

katfionn commented 7 months ago

oneapi的测试调用的是chat接口,m3e,404正常的,你要去fasgpt测试 llm2可能是你服务器防火墙端口没开

关于ollama

我发现直接用curl测试都报错,根据掘金这个帖子拿的curl

但我本地用ollama run llama2:7b是跑得起来的

katfionn commented 7 months ago

oneapi的测试调用的是chat接口,m3e,404正常的,你要去fasgpt测试 llm2可能是你服务器防火墙端口没开

关于ollama

我发现直接用curl测试都报错,根据掘金这个帖子拿的curl指令


katfionn commented 7 months ago

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:
thinkmachine2023 commented 7 months ago

Ollama模型的地址写这个: http://host.docker.internal:11434

Picture1
taozhiyuai commented 6 months ago

Ollama模型的地址写这个: http://host.docker.internal:11434 Picture1

这个管用

charles4song commented 6 months ago

Ollama模型的地址写这个: http://host.docker.internal:11434 Picture1

管用,但是测试时访问ollama的 /api/channel/test/ 是没有这个路由的。

wwjCMP commented 6 months ago

Ollama模型的地址写这个: http://host.docker.internal:11434 Picture1

使用这种方法对话模型没有问题。嵌入模型不行,ollama那边输出400错误,是ollama那边的设置问题吗?

ccyyhh2024 commented 5 months ago

我遇到同样的问题,搞定了。

base URL 不能用127.0.0.1,应该使用实际ip地址。

否则One-API认为是docker 容器自己。这就是为什么使用curl或者postman在外面调用是可以的。

ja3592 commented 2 months ago

Ollama模型的地址写这个: http://host.docker.internal:11434 Picture1

亲测可用!感谢大佬