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

FastGPT V4.5 更新

FastGPT V4.5 引入 PgVector0.5 版本的 HNSW 索引,极大的提高了知识库检索的速度,比起IVFFlat索引大致有3~10倍的性能提升,可轻松实现百万数据毫秒级搜索。缺点在于构建索引的速度非常慢,4c16g 500w 组数据使用并行构建大约花了 48 小时。具体参数配置可参考 PgVector官方V4.5(需进行较为复杂更新) - 图1

下面需要对数据库进行一些操作升级:

PgVector升级:Sealos 部署方案

  1. 点击Sealos桌面V4.5(需进行较为复杂更新) - 图2的数据库应用。
  2. 点击【pg】数据库的详情。
  3. 点击右上角的重启,等待重启完成。
  4. 点击左侧的一键链接,等待打开 Terminal。
  5. 依次输入下方 sql 命令
  1. -- 升级插件名
  2. ALTER EXTENSION vector UPDATE;
  3. -- 插件是否升级成功,成功的话,vector插件版本为 0.5.0,旧版的为 0.4.1
  4. \dx
  5. -- 下面两个语句会设置 pg 在构建索引时可用的内存大小,需根据自身的数据库规格来动态配置,可配置为 1/4 的内存大小
  6. alter system set maintenance_work_mem = '2400MB';
  7. select pg_reload_conf();
  8. -- 重构数据库索引和排序
  9. REINDEX DATABASE postgres;
  10. -- 开始构建索引,该索引构建时间非常久,直接点击右上角的叉,退出 Terminal 即可
  11. CREATE INDEX CONCURRENTLY vector_index ON modeldata USING hnsw (vector vector_ip_ops) WITH (m = 16, ef_construction = 64);
  12. -- 可以再次点击一键链接,进入 Terminal,输入下方命令,如果看到 "vector_index" hnsw (vector vector_ip_ops) WITH (m='16', ef_construction='64') 则代表构建完成(注意,后面没有 INVALID
  13. \d modeldata
V4.5(需进行较为复杂更新) - 图3V4.5(需进行较为复杂更新) - 图4
V4.5(需进行较为复杂更新) - 图5V4.5(需进行较为复杂更新) - 图6

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

下面的命令是基于给的 docker-compose 模板,如果数据库账号密码更换了,请自行调整。

  1. 修改 docker-compose.yml 中pg的镜像版本,改成 ankane/pgvector:v0.5.0registry.cn-hangzhou.aliyuncs.com/fastgpt/pgvector:v0.5.0
  2. 重启 pg 容器(docker-compose pull && docker-compose up -d),等待重启完成。
  3. 进入容器: docker exec -it pg bash
  4. 连接数据库: psql 'postgresql://username:password@localhost:5432/postgres'
  5. 执行下面 sql 命令
  1. -- 升级插件名
  2. ALTER EXTENSION vector UPDATE;
  3. -- 插件是否升级成功,成功的话,vector插件版本为 0.5.0,旧版的为 0.4.2
  4. \dx
  5. -- 下面两个语句会设置 pg 在构建索引时可用的内存大小,需根据自身的数据库规格来动态配置,可配置为 1/4 的内存大小
  6. alter system set maintenance_work_mem = '2400MB';
  7. select pg_reload_conf();
  8. -- 重构数据库索引和排序
  9. REINDEX DATABASE postgres;
  10. ALTER DATABASE postgres REFRESH COLLATION VERSION;
  11. -- 开始构建索引,该索引构建时间非常久,直接关掉终端即可,不要使用 ctrl+c 关闭
  12. CREATE INDEX CONCURRENTLY vector_index ON modeldata USING hnsw (vector vector_ip_ops) WITH (m = 16, ef_construction = 64);
  13. -- 可以再次连接数据库,输入下方命令。如果看到 "vector_index" hnsw (vector vector_ip_ops) WITH (m='16', ef_construction='64') 则代表构建完成(注意,后面没有 INVALID
  14. \d modeldata

版本新功能介绍

Fast GPT V4.5

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

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

最新配置可参考: V45版本最新 config.json