当前位置:   article > 正文

one-api采用docker-compose离线部署找不到cl100k_base.tiktoken解决办法_oneapi无法获取gpt-3.5-turbo令牌编码器

oneapi无法获取gpt-3.5-turbo令牌编码器

one-api采用docker-compose离线部署方法:

1.先在能上网的主机按照github上说明装好one-api

2.将3个镜像打包

docker save -o one-api.tar justsong/one-api

docker save -o pgvector.tar pgvector/pgvector

docker save -o mysql.tar mysql

3.将镜像复制到离线主机,运行

docker load -i one-api.tar

docker load -i pgvector.tar

docker load -i mysql.tar

4.将 docker-compose.yml复制到离线主机,修改内容如下:


version: '3.4'

services:
  one-api:
    image: "${REGISTRY:-docker.io}/justsong/one-api:latest"
    container_name: one-api
    restart: always
    command: --log-dir /app/logs
    ports:
      - "3000:3000"
    volumes:
      - ./data/oneapi:/data
      - ./logs:/app/logs
    environment:
      - SQL_DSN=oneapi:123456@tcp(db:3306)/one-api  # 修改此行,或注释掉以使用 SQLite 作为数据库
      - REDIS_CONN_STRING=redis://redis
      - SESSION_SECRET=random_string  # 修改为随机字符串
      - TZ=Asia/Shanghai
#      - NODE_TYPE=slave  # 多机部署时从节点取消注释该行
#      - SYNC_FREQUENCY=60  # 需要定期从数据库加载数据时取消注释该行
#      - FRONTEND_BASE_URL=https://openai.justsong.cn  # 多机部署时从节点取消注释该行
    depends_on:
      - redis
      - db
    #healthcheck:
      #test: [ "CMD-SHELL", "wget -q -O - http://localhost:3000/api/status | grep -o '\"success\":\\s*true' | awk -F: '{print $2}'" ]
      #interval: 30s
      #timeout: 10s
      #retries: 3

  redis:
    image: "${REGISTRY:-docker.io}/redis:latest"
    container_name: redis
    restart: always

  db:
    image: "${REGISTRY:-docker.io}/mysql:8.2.0"
    restart: always
    container_name: mysql
    volumes:
      - ./data/mysql:/var/lib/mysql  # 挂载目录,持久化存储
    ports:
      - '3307:3306'
    environment:
      TZ: Asia/Shanghai   # 设置时区
      MYSQL_ROOT_PASSWORD: 'OneAPI@justsong' # 设置 root 用户的密码
      MYSQL_USER: oneapi   # 创建专用用户
      MYSQL_PASSWORD: '123456'    # 设置专用用户密码
      MYSQL_DATABASE: one-api   # 自动创建数据库
                                                 

5.运行

docker-compose up -d

等待10秒,如果容器一直启动不了反复重启,查看当前目录的logs目录下的日志,其中如果包含报错信息:

failed to get gpt-3.5-turbo token encoder: get "https://openaipublic.blob.core.windows.net/encodings/cl100k_base.tiktoken":dial tcp: lookup open..............

说明找不到cl100k_base.tiktoken文件(因为没联网)

6.解决办法

(1)先到网上下载https://openaipublic.blob.core.windows.net/encodings/cl100k_base.tiktoken,复制到离线主机某个目录:path/to/file

(2)将cl100k_base.tiktoken改名为9b5ad71b2ce5302211f9c61530b329a4922fc6a4

(3)在docker-compose.yml文件中one-api下的volumes中增加如下:

- path/to/file:/app/tiktokens

在environment下增加:

- TIKTOKEN_CACHE_DIR=/app/tiktokens

7.重新运行

docker-compose down

docker-compose up -d

应该可以了

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/秋刀鱼在做梦/article/detail/768305
推荐阅读
相关标签
  

闽ICP备14008679号