labring / FastGPT

FastGPT is a knowledge-based platform built on the LLMs, offers a comprehensive suite of out-of-the-box capabilities such as data processing, RAG retrieval, and visual AI workflow orchestration, letting you easily develop and deploy complex question-answering systems without the need for extensive setup or configuration.
https://tryfastgpt.ai
Other
17.46k stars 4.69k forks source link

Request failed with status code 502 #933

Closed annihilationism closed 7 months ago

annihilationism commented 7 months ago

例行检查

你的版本 4.6.8

问题描述 启动后登陆提示: Request failed with status code 502 控制台日志: { "message": "Request failed with status code 502", "name": "AxiosError", "stack": "AxiosError: Request failed with status code 502\n at t6 (http://xxx:3000/_next/static/chunks/pages/_app-0598703edc2dc83b.js:344:238983)\n at XMLHttpRequest.em (http://xxx:3000/_next/static/chunks/pages/_app-0598703edc2dc83b.js:344:242291)\n at rw.request (http://xxx:3000/_next/static/chunks/pages/_app-0598703edc2dc83b.js:344:248094)\n at async http://xxx:3000/_next/static/chunks/5150-55cc8928fc0744b6.js:1:1430\n at async http://xxx:3000/_next/static/chunks/4512-9a0a1a99c95a2a13.js:1:19397", "config": { "transitional": { "silentJSONParsing": true, "forcedJSONParsing": true, "clarifyTimeoutError": false }, "adapter": [ "xhr", "http" ], "transformRequest": [ null ], "transformResponse": [ null ], "timeout": 60000, "xsrfCookieName": "XSRF-TOKEN", "xsrfHeaderName": "X-XSRF-TOKEN", "maxContentLength": -1, "maxBodyLength": -1, "env": {}, "headers": { "Accept": "application/json, text/plain, /", "Content-Type": "application/json", "token": "" }, "baseURL": "/api", "url": "/support/user/account/loginByPassword", "method": "post", "data": "{\"username\":\"root\",\"password\":\"03ac674216f3e15c761ee1a5e255f067953623c8b388b4459e13f978d7c846f4\"}", "params": null }, "code": "ERR_BAD_RESPONSE", "status": 502 } 复现步骤 账号: root, 密码:1234 预期结果

相关截图

image

fastgpt日志: ▲ Next.js 13.5.2

c121914yu commented 7 months ago

错误提示你了,配置文件去非法 json

annihilationism commented 7 months ago

错误提示你了,配置文件去非法 json

谢谢你,已解决

liubin595338764 commented 4 months ago

@c121914yu 我是docker安装的,也是报这个错误,我没有修改json文件,刚刚安装完登录的时候就出现这个错误,我应该改哪里?

下面是日志,我是docker安装,Next.js代码没有改动,都不知道代码在哪里: root user init: { username: 'root', password: '1234' } init pg successful System Version: 4.8.3 Load init config error SyntaxError: Unexpected token / in JSON at position 0 at JSON.parse () at g (/app/projects/app/.next/server/chunks/75612.js:314:23451) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Promise.all (index 0) at async f (/app/projects/app/.next/server/chunks/75612.js:314:22401) at async y (/app/projects/app/.next/server/chunks/75612.js:314:21531) at async K (/app/nodemodules/.pnpm/next@14.2.3@babel+core@7.24.4_react-dom@18.3.1_react@18.3.1_sass@1.58.3/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:16853) at async U.render (/app/nodemodules/.pnpm/next@14.2.3@babel+core@7.24.4_react-dom@18.3.1_react@18.3.1_sass@1.58.3/node_modules/next/dist/compiled/next-server/pages-api.runtime.prod.js:20:17492) at async NextNodeServer.runApi (/app/nodemodules/.pnpm/next@14.2.3@babel+core@7.24.4_react-dom@18.3.1_react@18.3.1_sass@1.58.3/node_modules/next/dist/server/next-server.js:600:9) at async NextNodeServer.handleCatchallRenderRequest (/app/nodemodules/.pnpm/next@14.2.3@babel+core@7.24.4_react-dom@18.3.1_react@18.3.1_sass@1.58.3/node_modules/next/dist/server/next-server.js:269:37) ▲ Next.js 14.2.3

docker-compose-pgvector.yml

# 数据库的默认账号和密码仅首次运行时设置有效
# 如果修改了账号密码,记得改数据库和项目连接参数,别只改一处~
# 该配置文件只是给快速启动,测试使用。正式使用,记得务必修改账号密码,以及调整合适的知识库参数,共享内存等。
# 如何无法访问 dockerhub 和 git,可以用阿里云(阿里云没有arm包)

version: '3.3'
services:
  # db
  pg:
    image: pgvector/pgvector:0.7.0-pg15 # docker hub
    # image: registry.cn-hangzhou.aliyuncs.com/fastgpt/pgvector:v0.7.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: mongo:5.0.18 # dockerhub
    # image: registry.cn-hangzhou.aliyuncs.com/fastgpt/mongo:5.0.18 # 阿里云
    # image: mongo:4.4.29 # cpu不支持AVX时候使用
    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
        echo 'const isInited = rs.status().ok === 1
        if(!isInited){
          rs.initiate({
              _id: "rs0",
              members: [
                  { _id: 0, host: "mongo:27017" }
              ]
          })
        }' > /data/initReplicaSet.js
        # 启动MongoDB服务
        exec docker-entrypoint.sh "$$@" &

        # 等待MongoDB服务启动
        until mongo -u myusername -p mypassword --authenticationDatabase admin --eval "print('waited for connection')" > /dev/null 2>&1; do
          echo "Waiting for MongoDB to start..."
          sleep 2
        done

        # 执行初始化副本集的脚本
        mongo -u myusername -p mypassword --authenticationDatabase admin /data/initReplicaSet.js

        # 等待docker-entrypoint.sh脚本执行的MongoDB服务进程
        wait $$!

  # fastgpt
  sandbox:
    container_name: sandbox
    image: ghcr.io/labring/fastgpt-sandbox:v4.8.4 # git
    # image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-sandbox:v4.8.4 # 阿里云
    networks:
      - fastgpt
    restart: always
  fastgpt:
    container_name: fastgpt
    image: ghcr.io/labring/fastgpt:v4.8.4 # git
    # image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.8.4 # 阿里云
    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
    volumes:
      - ./config.json:/app/data/config.json

  # oneapi
  mysql:
    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:latest
    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:
liubin595338764 commented 4 months ago

https://raw.githubusercontent.com/labring/FastGPT/main/projects/app/data/config.json @c121914yu 这个文件没有启用json5解析,坑啊,删掉里面的注释就好了

c121914yu commented 4 months ago

https://raw.githubusercontent.com/labring/FastGPT/main/projects/app/data/config.json @c121914yu 这个文件没有启用json5解析,坑啊,删掉里面的注释就好了

你自己不用新版肯定没有呢

liubin595338764 commented 4 months ago

@c121914yu 搞怪了,我是按照你们官网这个教程安装的,还有什么新版? https://doc.fastgpt.in/docs/development/docker/

c121914yu commented 4 months ago

@c121914yu 搞怪了,我是按照你们官网这个教程安装的,还有什么新版? https://doc.fastgpt.in/docs/development/docker/

不清楚你咋用,反正最新是 4.8.4

liubin595338764 commented 4 months ago

@c121914yu 是哪个版本开始支持的json5?docker-compose-pgvector.yml 里面原来是4.8.3,你们今天早上更新到了4.8.4,我安装的4.8.3没有支持json5? https://raw.githubusercontent.com/labring/FastGPT/main/files/docker/docker-compose-pgvector.yml

c121914yu commented 4 months ago

@c121914yu 是哪个版本开始支持的json5?docker-compose-pgvector.yml 里面原来是4.8.3,你们今天早上更新到了4.8.4,我安装的4.8.3没有支持json5? https://raw.githubusercontent.com/labring/FastGPT/main/files/docker/docker-compose-pgvector.yml

昨天就发布的了,另一个 issue 有提示

liubin595338764 commented 4 months ago

@c121914yu 那4.8.3已经支持json5了?那我上面是什么问题导致的?

c121914yu commented 4 months ago

@c121914yu 那4.8.3已经支持json5了?那我上面是什么问题导致的?

😂哪里得出的结论?

liubin595338764 commented 4 months ago

@c121914yu 那到底是什么问题,问了半天不给答案? 安装的时候拉取到的配置里面已经提示了 “// 已使用 json5 进行解析,会自动去掉注释,无需手动去除”;

问哪个版本支持的也不说,问什么问题导致也不说,

c121914yu commented 4 months ago

@c121914yu 那到底是什么问题,问了半天不给答案? 安装的时候拉取到的配置里面已经提示了 “// 已使用 json5 进行解析,会自动去掉注释,无需手动去除”;

问哪个版本支持的也不说,问什么问题导致也不说,

😅上面不是说了么,用最新版,最新版 4.8.4,还不够清楚么

fengsiping-tcisz commented 1 month ago

Load model====== system_logs ▲ Next.js 14.2.5

将自动创建的config,json文件夹删除,使用新的json,但是却读app/data的config.json