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.48k stars 4.69k forks source link

如何使用外部的oneapi? #1204

Closed bkzy333 closed 6 months ago

bkzy333 commented 6 months ago

例行检查

你的版本

问题描述 我在香港的服务器部署了oneapi项目,有域名并开启了https的,然后在国内服务器【未备案和开启https】docker按照下面的dockercompose文件部署了fastgpt,已经在docker compose文件中把openai base urlchat api key两个参数改成香港服务器的oneapi地址和香港服务器的oneapi生成的apikey,修改后创建的应用可正常对话,正常引用知识库内容问答,但是在fastgpt应用发布分享页面生成的key还是国内服务器纯IP地址的。这种情况要怎么改?如何修改API的根地址为香港服务器域名地址呢?

复现步骤


version: '3.3'
services:
  pg:
    image: ankane/pgvector:v0.5.0 # git
    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
        echo 'const isInited = rs.status().ok === 1
        if(!isInited){
          rs.initiate({
              _id: "rs0",
              members: [
                  { _id: 0, host: "mongo:27017" }
              ]
          })
        }' > /data/initReplicaSet.js
        exec docker-entrypoint.sh "$$@" &
        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
        wait $$!
  fastgpt:
    container_name: fastgpt
    image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.7 # git
    ports:
      - 3000:3000
    networks:
      - fastgpt
    depends_on:
      - mongo
      - pg
    restart: always
    environment:
      - DEFAULT_ROOT_PSW=mima123456
      - OPENAI_BASE_URL=https://api.sample.com/v1
      - CHAT_API_KEY=sk-samplekey
      - DB_MAX_LINK=30
      - TOKEN_KEY=any
      - ROOT_KEY=root_key
      - FILE_TOKEN_KEY=filetoken
      - MONGODB_URI=mongodb://myusername:mypassword@mongo:27017/fastgpt?authSource=admin

      - PG_URL=postgresql://username:password@pg:5432/postgres
    volumes:
      - ./config.json:/app/data/config.json
      - ./fastgpt/tmp:/app/tmp
  mysql:
    image: mysql:8.0.36
    container_name: mysql
    restart: always
    ports:
      - 3306:3306
    networks:
      - fastgpt
    command: --default-authentication-plugin=mysql_native_password
    environment:
      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:
      - SQL_DSN=root:oneapimmysql@tcp(mysql:3306)/oneapi
      - SESSION_SECRET=oneapikey
      - MEMORY_CACHE_ENABLED=true
      - BATCH_UPDATE_ENABLED=true
      - BATCH_UPDATE_INTERVAL=10
      - INITIAL_ROOT_TOKEN=sk-sampleapikey
    volumes:
      - ./oneapi:/data
networks:
  fastgpt:

预期结果

相关截图 image

image

lijiajun1997 commented 6 months ago

fastgpt分享页面显示的api 是给其他应用调用fastgpt用的 不知道你要用这个api干啥?如果你要在其他应用调用原生gpt3.5 直接把香港的api填进去就好了

nongmo677 commented 6 months ago

把你的fast部署在香港服务器

c121914yu commented 6 months ago

有点抽象,既然你 fastgpt 可以调用 oneapi。 只要保证你能访问 fastgpt 即可。

c121914yu commented 6 months ago

把你的fast部署在香港服务器

😂一步到位