部署私有知识库项目FastGPT

FastGPT 是一个基于 LLM 大语言模型的知识库问答系统,提供开箱即用的数据处理、模型调用等能力。同时可以通过 Flow 可视化进行工作流编排,从而实现复杂的问答场景。

项目源码:

GitHub - c121914yu/FastGPT: A platform that uses the OpenAI API to quickly build an AI knowledge base, supporting many-to-many relationships.A platform that uses the OpenAI API to quickly build an AI knowledge base, supporting many-to-many relationships. - GitHub - c121914yu/FastGPT: A platform that uses the OpenAI API to quickly build an AI knowledge base, supporting many-to-many relationships.https://github.com/c121914yu/FastGPT/

项目文档:

快速了解 FastGpt | FastGptFastGPT 是一个基于 LLM 大语言模型的知识库问答系统,提供开箱即用的数据处理、模型调用等能力。同时可以通过 Flow 可视化进行工作流编排,从而实现复杂的问答场景!https://doc.fastgpt.run/docs/intro

项目编译

一、初始配置

1. 环境变量

复制.env.template 文件,生成一个.env.local 环境变量文件夹,修改.env.local 里内容才是有效的变量

2. config 配置文件

复制 data/config.json 文件,生成一个 data/config.local.json 配置文件

二、运行

cd client
npm install
npm run dev

三、镜像打包

docker build -t dockername/fastgpt .

打包成功后使用下面命令查看镜像 

docker images

docker-compose 快速部署

一、预先准备

1、准备好代理环境,确保可访问到 OpenAI,国外服务器可忽略。

2、安装 docker 和 docker-compose

二、创建 docker-compose.yml 文件

创建一个 docker-compose.yml 文件,粘贴下面的内容。只需要改 fastgpt 容器的 3 个参数即可启动。

# 非 host 版本, 不使用本机代理
version: '3.3'
services:
  pg:
    image: ankane/pgvector:v0.4.2 # git
    # image: registry.cn-hangzhou.aliyuncs.com/fastgpt/pgvector:v0.4.2 # 阿里云
    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
    # image: registry.cn-hangzhou.aliyuncs.com/fastgpt/mongo:5.0.18 # 阿里云
    container_name: mongo
    restart: always
    ports: # 生产环境建议不要暴露
      - 27017:27017
    networks:
      - fastgpt
    environment:
      # 这里的配置只有首次运行生效。修改后,重启镜像是不会生效的。需要把持久化数据删除再重启,才有效果
      - MONGO_INITDB_ROOT_USERNAME=username
      - MONGO_INITDB_ROOT_PASSWORD=password
    volumes:
      - ./mongo/data:/data/db
  fastgpt:
    container_name: fastgpt
    # image: c121914yu/fast-gpt:latest # docker hub
    image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:latest # 阿里云
    ports:
      - 3000:3000
    networks:
      - fastgpt
    depends_on:
      - mongo
      - pg
    restart: always
    environment:
      # root 密码,用户名为: root
      - DEFAULT_ROOT_PSW=1234
      # 中转地址,如果是用官方号,不需要管
      - OPENAI_BASE_URL=https://api.openai.com/v1
      - CHAT_API_KEY=sk-xxxx
      - DB_MAX_LINK=5 # database max link
      - TOKEN_KEY=any
      - ROOT_KEY=root_key
      # mongo 配置,不需要改
      - MONGODB_URI=mongodb://username:password@mongo:27017/?authSource=admin
      - MONGODB_NAME=fastgpt
      # pg配置.
      - PG_HOST=pg
      - PG_PORT=5432
      - PG_USER=username
      - PG_PASSWORD=password
      - PG_DB_NAME=postgres
networks:
  fastgpt:

三、运行 docker-compose

在 docker-compose.yml 同级目录下执行:

docker-compose up -d

四、访问

可以通过 http://127.0.0.1:3000 直接访问。登录用户名为 root,密码为刚刚环境变量里设置的 DEFAULT_ROOT_PSW。如果需要域名访问,可以自行安装 Nginx。

使用one-api管理多模型

推荐使用 one-api 项目来管理 key 池,兼容 openai 、微软和国内主流模型等。

支持多种大模型:

  • OpenAI ChatGPT 系列模型(支持 Azure OpenAI API)
  • Anthropic Claude 系列模型
  • Google PaLM2 系列模型
  • 百度文心一言系列模型
  • 阿里通义千问系列模型
  • 讯飞星火认知大模型
  • 智谱 ChatGLM 系列模型

一、基于 Docker 进行部署

部署命令:

docker run --name one-api -d --restart always -p 3003:3000 -e TZ=Asia/Shanghai -v /home/data/one-api:/data justsong/one-api

其中,-p 3003:3000 中的第一个 3003 是宿主机的端口,可以根据需要进行修改。

数据将会保存在宿主机的 /home/data/one-api 目录,请确保该目录存在且具有写入权限,或者更改为合适的目录。

如果上面的镜像无法拉取,可以尝试使用 GitHub 的 Docker 镜像,将上面的 justsong/one-api 替换为 ghcr.io/songquanpeng/one-api 即可。

使用 http://127.0.0.1:3003 访问one-api管理页面

初始账号用户名为 root,密码为 123456

二、使用方法

渠道页面中添加你的 API Key,之后在令牌页面中新增访问令牌。

之后就可以使用你的令牌访问 One API 了,使用方式与 OpenAI API 一致。

你需要在各种用到 OpenAI API 的地方设置 API Base 为你的 One API 的部署地址,API Key 则为你在 One API 中生成的令牌。

注意,具体的 API Base 的格式取决于你所使用的客户端。

猜你喜欢

转载自blog.csdn.net/watson2017/article/details/132293260