type
status
date
slug
summary
tags
category
icon
password
人员
电子邮件
网址
comments
AI Summary
💡
FastGPT 是一个知识库问答系统,可以可视化进行工作流编排,从而实现复杂的问答场景!

本文包含FastGPT以下这些内容(并且也会持续更新)

分享自己的部署经验,也希望可以帮助到有这一块内容需求的朋友!
 
Docker和Docker-compose安装教程
用宝塔+Docker搭建FastGPT知识库部署到服务器

#用宝塔+Docker搭建FastGPT知识库部署到服务器

 
要将FastGPT项目部署到服务器上,您可以按照以下步骤进行操作:整体的过程和之前分享的用宝塔搭建3.0差不多,感兴趣的可以看看之前发布的版本

1.具体操作步骤如下:

  1. 登录到服务器
  1. 您可以使用SSH命令行工具登录到服务器。
  1. 在服务器上选择一个目录来存储项目文件。
  1. 克隆FastGPT项目仓库到服务器上
 

2.如果你之前服务器部署过这个项目,想重新部署的话,就得把原项目从服务器删掉,执行这个命令

 

3.文件根目录 wwwroot 里新建一个 FastGPT 文件夹

添加这几个文件模块,配置 docker-compose文件
notion image
 

4.在新建的 fastgpt 文件 里打开终端,拉取镜像运行

点击终端,运行下面代码
点击终端,运行下面代码
 
这样项目就跑起来了
这样项目就跑起来了

5.运行项目 ,浏览器里输入ip:3000

用宝塔反向代理个域名,即可随时随地打开使用知识库了!
FastGPT升级 v4.6.2 版本

#升级到 V4.6.2 教程

1.执行初始化 API

发起 1 个 HTTP 请求 ({{rootkey}} 替换成环境变量里的 rootkey,{{host}} 替换成自己域名)
  1. https://xxxxx/api/admin/initv462
初始化说明:
  1. 初始化全文索引

V4.6.2 功能介绍

  1. 新增 - 全文索引(需配合 Rerank 模型,在看怎么放到开源版,模型接口比较特殊)
  1. 新增 - 插件来源(预计4.7/4.8版本会正式使用)
  1. 优化 - PDF读取
  1. 优化 - docx文件读取,转成 markdown 并保留其图片内容
  1. 修复和优化 TextSplitter 函数
FastGPT升级 v4.6 版本

V4.6(需要初始化)

V4.6 版本加入了简单的团队功能,可以邀请其他用户进来管理资源。该版本升级后无法执行旧的升级脚本,且无法回退。

1. 更新镜像并变更配置文件

更新镜像至 latest 或者 v4.6 版本。商业版镜像更新至 V0.2.1
最新配置可参考: V46版本最新 config.json,商业镜像配置文件也更新,参考最新的飞书文档。

2. 执行初始化 API

发起 2 个 HTTP 请求({{rootkey}} 替换成环境变量里的rootkey,{{host}}替换成自己域名)
该初始化接口可能速度很慢,返回超时不用管,注意看日志即可,需要注意的是,需确保initv46成功后,在执行initv46-2
  1. https://xxxxx/api/admin/initv46
notion image
  1. https://xxxxx/api/admin/initv46-2
 
初始化内容:
  1. 创建默认团队
  1. 初始化 Mongo 所有资源的团队字段
  1. 初始化 Pg 的字段
  1. 初始化 Mongo Data

V4.6功能介绍

  1. 新增 - 团队空间
  1. 新增 - 多路向量(多个向量映射一组数据)
  1. 新增 - tts语音
  1. 新增 - 支持知识库配置文本预处理模型
  1. 线上环境新增 - ReRank向量召回,提高召回精度
  1. 优化 - 知识库导出,可直接触发流下载,无需等待转圈圈
 
 
FastGPT升级 v4.5 版本

V4.5(需进行较为复杂更新流程)

FastGPT V4.5 版本新功能介绍

  1. 新增 - 升级 PgVector 插件,引入 HNSW 索引,极大加快的知识库搜索速度。
  1. 新增 - AI对话模块,增加【返回AI内容】选项,可控制 AI 的内容不直接返回浏览器。
  1. 新增 - 支持问题分类选择模型
  1. 优化 - TextSplitter,采用递归拆解法。
  1. 优化 - 高级编排 UX 性能
  1. 修复 - 分享链接鉴权问题

该版本需要修改 config.json 文件

最新配置可参考: V45版本最新 config.json
FastGPT V4.5 引入 PgVector0.5 版本的 HNSW 索引,极大的提高了知识库检索的速度,比起IVFFlat索引大致有3~10倍的性能提升,可轻松实现百万数据毫秒级搜索。缺点在于构建索引的速度非常慢,4c16g 500w 组数据使用并行构建大约花了 48 小时。具体参数配置可参考 PgVector官方
下面需要对数据库进行一些操作升级:

一、PgVector升级:Sealos 部署方案

  1. 点击Sealos桌面的数据库应用。
  1. 点击【pg】数据库的详情。
  1. 点击右上角的重启,等待重启完成。
  1. 点击左侧的一键链接,等待打开 Terminal。
  1. 依次输入下方 sql 命令
 

二、PgVector升级:Docker-compose.yml 部署方案

下面的命令是基于给的 docker-compose 模板,如果数据库账号密码更换了,请自行调整。
  1. 修改 docker-compose.yml 中pg的镜像版本,改成 ankane/pgvector:v0.5.0 或 registry.cn-hangzhou.aliyuncs.com/fastgpt/pgvector:v0.5.0
  1. 重启 pg 容器,等待重启完成。
notion image
3.进入容器: 可以直接使用命令重新进入PG的命令界面
4.连接数据库:
notion image
 
5.执行下面 sql 命令
notion image
notion image
 
6.重新构建数据库的索引
注意:该索引构建时间非常久,直接关掉终端即可,不要使用 ctrl+c 关闭
 
7.等待索引构建完成后,在连接PG数据库,查看索引的构建情况
 
8.如果看到下面的提示则达标构建完成,注意,后面没有INVALID
如图所示:
notion image
 

常见问题:

 
 
FastGPT升级到 v4.4.2版本

升级到 V4.4.2(需要初始化)

FastGPT 从旧版本升级到 V4.4.2 操作指南

执行初始化 API

发起 1 个 HTTP 请求 (记得携带 headers.rootkey,这个值是环境变量里的)
  1. https://xxxxx/api/admin/initv442
会给初始化 Mongo 的 Bill 表的索引,之前过期时间有误。
FastGPT升级 v4.4.1 版

#升级到 v4.4.1教程

FastGPT 从旧版本升级到 V4.4.1 操作指南
v4.4.1新版
v4.4.1新版
 

#升级步骤:

1.需要执行初始化 API

发起 1 个 HTTP 请求(记得携带 headers.rootkey,这个值是环境变量里的)
https://xxxxx/api/admin/initv441
还是和之前升级v4.3,v4.4一样,发起一个https请求,填写rootkey和参数(填写自己的)
连接成功,如下图
notion image
 

2.重新拉取最新版镜像

notion image
 

3. docker-compose.yml 同级目录下执行命令

notion image
notion image
 

4.重启 Docker

notion image
 

5.刷新自己的fastgpt网站,即可升级V4.4.1成功

notion image
新版v4.4.1特性,可以设置有效期,最大使用金额,引用内容
新版v4.4.1特性,可以设置有效期,最大使用金额,引用内容
新版v4.4.1特性,可以设置有效期,最大使用金额,引用内容
新版v4.4.1特性,可以设置有效期,最大使用金额,引用内容
新版v4.4.1特性,可以一键导出文档
新版v4.4.1特性,可以一键导出文档
新版v4.4.1特性,多了个帮助文档
新版v4.4.1特性,多了个帮助文档
 

 
FastGPT升级 v4.4 版

升级v4.4版本的教程

#4.4新版特性如下:
4.4新版特性
4.4新版特性
4.4新版特性
4.4新版特性
 
4.4新版特性
4.4新版特性
 
4.4新版特性
4.4新版特性
 
新版特性3
新版特性3
 
4.4新版特性,知识库可以新建文件夹
4.4新版特性,知识库可以新建文件夹
 
导出时间从30分钟更新成1分钟,太棒了哦!
导出时间从30分钟更新成1分钟,太棒了哦!
 
导入文件 会直接显示状态
导入文件 会直接显示状态
 
可查看源文件
可查看源文件
 

#官方给的升级文档

notion image
 

 

#升级V4.4方法

这里我们还是参考升级V4.3的升级方法!

1.首先,在 docker-compose.yml 文件里,添加这个变量保存

如此图
如此图
 

2.执行初始化 API

发起 1 个 HTTP 请求(记得携带 headers.rootkey,这个值是环境变量里的,打开docker-compose.yml 查看
 
POST连接填写: https://自己的域名/api/admin/initv43
参数名:rootkey 参数值:填写自己实际的
notion image
 

3.POST连接成功,即可重新拉取镜像

docker-compose.yml 同级目录下执行下面命令运行
notion image
 

4.重启 docker

notion image
 

5.刷新自己的fastgpt网站,即可升级V4.4成功

notion image
 

#更新了新版,想把之前数据迁移到文件夹,该怎么迁移呢?

直接导出之前传入知识库的文件(现在导出很方便,没有时间限制了,对小白很友好,不用你修改任何代码,就能使用
 
在新版里新建文件夹分类上传即可。这样做的好处就是比之前的版本更简洁,更好找,哪个版块有问题,修改哪个就行!
比如:
点开原知识库内容
点开原知识库内容
点击导出
点击导出
导出的文件进行保存
导出的文件进行保存
这里新建目录文件夹即可
这里新建目录文件夹即可
notion image
 
最终效果,这样之前的知识库内容就导入过来了
最终效果,这样之前的知识库内容就导入过来了
那么,你学废了吗???😸
跟着博主的教程,你也部署试试吧!
 
FastGPT升级 v4.3 版本

升级4.3版本的教程

4.3版本的特性
notion image
 
话说fastgpt项目的作者简直高产如奶牛,近期更新太频繁了,从3.0版本呼呼的一直升级到现在的4.3
notion image
你说说,这高产!!!太让人佩服了!!!
 

#好了,话不多说,现在开始讲下如何更新到最新V4.3版本!

作者给的升级文档是这样的:
notion image
 
这里我在升级部署4.3的时候也是出现了如下的报错
notion image
 
好在经过大佬指点,成功解决了问题!

大佬给的解决方案:我直接贴出来。这里再次感谢群里大佬指点!

notion image
 
研究了一下,跟着大佬的教程,在网页上找了一个post网站
说实话,博主就是个跨行业的小白,小菜鸟都不算。弄这些全凭兴趣,脑子里也是懵懵的,哈哈,幸亏有高人指点一二!
 
网上找的 post 网站:https://app.apifox.com
新建项目
新建项目
随便输入名字
随便输入名字
新建接口
新建接口
这里选择post             xxx改成自己的知识库网址
这里选择post xxx改成自己的知识库网址
参数名:rootkey    参数值填写:自己文件里的, 根据自己的实际情况填写
参数名:rootkey 参数值填写:自己文件里的, 根据自己的实际情况填写
比如上面这个参数填写:rootkey 参数值就是 root_key
 
点击发送,返回数据校验通过 就是建立文件成功了
点击发送,返回数据校验通过 就是建立文件成功了
 

#总结一下就是这个流程:

post成功连接,然后docker-compose文件里 添加这个变量
notion image

运行命令docker-compose up -d

 
重启docker
升级V4.3成功
这里就搞定了!
初始化 API
部署新版项目,需发起HTTP 请求进行初始化(记得携带 headers.rootkey,这个值是环境变量里的)
4.0版本升级初始化

升级到 V4.0

FastGPT 从旧版本升级到 V4.0 操作指南
如果您是从旧版本升级到 V4,由于新版 MongoDB 表变更比较大,需要按照本文档的说明执行一些初始化脚本。

重命名表名

需要连接上 MongoDB 数据库,执行两条命令:
注意:从旧版更新到 V4, MongoDB 会自动创建空表,你需要先手动删除这两个空表,再执行上面的操作。

初始化几个表中的字段

依次执行下面 3 条命令,时间比较长,不成功可以重复执行(会跳过已经初始化的数据),直到所有数据更新完成。

初始化 API

部署新版项目,并发起 3 个 HTTP 请求(记得携带 headers.rootkey,这个值是环境变量里的)
  1. https://xxxxx/api/admin/initv4
  1. https://xxxxx/api/admin/initChat
  1. https://xxxxx/api/admin/initOutlink
1 和 2 有可能会因为内存不足挂掉,可以重复执行。
4.1版本升级初始化

升级到 V4.1

FastGPT 从旧版本升级到 V4.1 操作指南
如果您是从旧版本升级到 V4.1,由于新版重新设置了对话存储结构,需要初始化原来的存储内容。

更新环境变量

V4.1 优化了 PostgreSQL 和 MongoDB 的连接变量,只需要填 1 个 URL 即可:
注意:/fastgpt 和 /postgres 是指数据库名称,需要和旧版的变量对应。

初始化 API

部署新版项目,并发起 1 个 HTTP 请求(记得携带 headers.rootkey,这个值是环境变量里的)
  • https://xxxxx/api/admin/initChatItem
4.2版本升级初始化

升级到 V4.2

FastGPT 从旧版本升级到 V4.2 操作指南
99.9%用户不影响,升级 4.2 主要是修改了配置文件中 QAModel 的格式。从原先的数组改成对象:
改动目的是,我们认为不需要留有选择余地,选择一个最合适的模型去进行任务即可。
 
4.2.1版本升级初始化

升级到 V4.2.1

FastGPT 从旧版本升级到 V4.2.1 操作指南
私有部署,如果添加了配置文件,需要在配置文件中修改 VectorModels 字段。增加 defaultToken 和 maxToken,分别对应直接分段时的默认 token 数量和该模型支持的 token 上限(通常不建议超过 3000)
改动目的是,我们认为不需要留有选择余地,选择一个最合适的模型去进行任务即可。
4.3版本升级初始化

升级到 V4.3

FastGPT 从旧版本升级到 V4.3 操作指南

执行初始化 API

发起 1 个 HTTP 请求(记得携带 headers.rootkey,这个值是环境变量里的)
  1. https://xxxxx/api/admin/initv43
会给 PG 数据库的 modeldata 表插入一个新列 file_id,用于存储文件 ID。

增加环境变量

增加一个 FILE_TOKEN_KEY 环境变量,用于生成文件预览链接,过期时间为 30 分钟。
4.4版本升级初始化

升级到 V4.4

FastGPT 从旧版本升级到 V4.4 操作指南

执行初始化 API

发起 1 个 HTTP 请求(记得携带 headers.rootkey,这个值是环境变量里的)
  1. https://xxxxx/api/admin/initv44
会给初始化 Mongo 的部分字段。
4.4.1版本升级初始化

升级到 V4.4.1

FastGPT 从旧版本升级到 V4.4.1 操作指南

执行初始化 API

发起 1 个 HTTP 请求(记得携带 headers.rootkey,这个值是环境变量里的)
  1. https://xxxxx/api/admin/initv441
会给初始化 Mongo 的 dataset.files,将所有数据设置为可用。
4.4.2版本升级初始化

升级到 V4.4.2

FastGPT 从旧版本升级到 V4.4.2 操作指南

执行初始化 API

发起 1 个 HTTP 请求(记得携带 headers.rootkey,这个值是环境变量里的)
  1. https://xxxxx/api/admin/initv442
会给初始化 Mongo 的 Bill 表的索引,之前过期时间有误。
4.4.5版本升级初始化

升级到 V4.4.5

FastGPT 从旧版本升级到 V4.4.5 操作指南

执行初始化 API

发起 1 个 HTTP 请求(记得携带 headers.rootkey,这个值是环境变量里的)
  1. https://xxxxx/api/admin/initv445
初始化了 variable 模块,将其合并到用户引导模块中。
4.5.1版本升级初始化

V4.5.1(需进行初始化)

FastGPT V4.5.1 更新

执行初始化 API

发起 1 个 HTTP 请求({{rootkey}} 替换成环境变量里的rootkey,{{host}}替换成自己域名)
  1. https://xxxxx/api/admin/initv451
初始化内容:
  1. rename 数据库字段
  1. 初始化 Mongo APP 表中知识库的相关字段
  1. 初始化 PG 和 Mongo 的内容,为每个文件创建一个集合(存储 Mongo 中),并反馈赋值给 PG。
该初始化接口可能速度很慢,返回超时不用管,注意看日志即可

功能介绍

Fast GPT V4.5.1

  1. 新增知识库文件夹管理
 
 
FastGPT升级更新命令

一键升级 这块是大佬560总结的文档地址

重启容器


一键升级


 
命令执行:可实现
  1. 移除当前的容器和相关网络
  1. 下载最新的镜像
  1. 自动部署并后台运行

#命令解释

#docker-compose down

此命令用于停止并删除由docker-compose up命令启动的容器、网络和存储卷。它会根据docker-compose.yml文件中定义的配置进行操作。
使用示例:

#docker-compose pull

此命令用于从远程仓库拉取最新的镜像。它会根据docker-compose.yml文件中定义的服务名称和镜像标签来确定要拉取的镜像。
使用示例:

#docker-compose up -d

此命令用于启动由docker-compose.yml文件定义的服务,并在后台运行。-d选项表示以守护进程模式运行,即在后台运行容器。
使用示例:
 

 
notion image
notion image
notion image
notion image
 
 

💡
如果您在安装或部署升级时遇到了一些问题,欢迎在底部评论区留言,一起交流~我们会尽力为您提供帮助。本项目,如需商用,建议获得作者授权后再继续其他开发!
如果感觉本文对你有帮助,请点赞让我知晓!
 
小白部署搭建chatgpt_academic项目Fastgpt4.0知识库最新版用docker本地部署搭建
Loading...