军哥fastgpt系列-2-fastgpt部署及开发环境搭建

大家好,这里是五彩石编程,我是军哥。上一篇文章中大概聊了下什么是fastgpt,这一篇文章接着聊怎么部署,只有部署起了一个fastgpt的环境,才能更深入的了解fasgpt中的细节,一起走起吧!

一、fastgpt的技术组成

在部署之前,我们需要先大概了解一下fastgpt的技术组成,这样在部署过程中遇到问题时,才能有一个比较好的全局思维,去针对性的进行解决。

fastgpt是用next.js开发的一套前后端一体化的应用,采用cs架构,应用使用的数据分为了两部分,非向量化的数据和向量化的数据。其中非向量化的数据保存在mongodb中,向量化的数据保存在向量数据库中,根据向量数据的规模,官方也推荐了不同的向量数据库方案:

  1. 千万级以下的数据或体验使用,postgreSQL数据库+pgvector插件就足够了
  2. 千万级以上的数据量,推荐使用Milvus数据库
  3. 亿级以上的数据量,推荐使用zilliz cloud

本系列文章主要以体验、开发使用为主,首选postgreSQL数据库+pgvector插件的方案(后面简称pg)。

对了方便接入不同的大模型以及方便管理,fastgpt还使用oneapi作为统一的大模型代理,由于oneapi依赖关系型数据库,fastgpt官方选择的是mysql,所以fastgpt在部署时,也需要mysql的支持。

在fastgpt中,很多模块都依赖于大模型,比如对话、知识库、AI相关的插件等,所以也需要一个可用的大模型。

以上就是fastgpt涉及到的主要技术,现在总结一下:

  1. next.js依赖nodejs环境
  2. 非向量数据库保存在mongodb数据库
  3. 向量数据保存在mongodb数据库
  4. 使用oneapi作为大模型代理
  5. mysql为oneapi提供数据库层面的支持
  6. 对话、知识库构建等需要大模型的支持

了解了其技术组成,后面就可以开始进行部署了

二、fastgpt部署方案之:docker部署

部署fastgpt,最方便的当然就是使用docker了,有条件使用docker的,尽量都使用docker吧!

下面是官方的几个部署相关的文档:

fastgpt官方部署指南

官方的部署指南应该是最基础的,很多细节问题文档里面都有提到,比如怎么启动、怎么添加模型、怎么修改oneApi的地址/密钥、部署中常见的问题等,有时间的话,尽量看一下。

fastgpt config.json 地址

config.json里面,主要配置了要使用的大模型,和向量模型,如果你的大模型比较多,可以直接复制其中llm下面的任意一个模型配置,然后修改一下model和name这两个字段就可以了,model是你的大模型的名字,name是页面上展示出来给用户看的名字,其余的选项都很有用,建议有时间的可以仔细研究下,没有时间的,关注一下里面的datasetProcess、usedInClassify、usedInExtractFields、usedInToolCall、usedInQueryExtension、toolChoice、functionCall这几项,如果你的模型想用在相应的地方或支持相应的功能,建议配成true,如果你的模型不支持,则应该配成false。

fastgpt docker compose 地址

docker compose这个文档就不用多说了,看你想使用哪个技术组合,就下载对应的docker compose yml文件就可以了。

使用docker compose部署过程中,需要注意以下几个点:

  1. mongodb副本集初始化可能会失败,如果失败了,可以根据官方的部署文档中的方法,来手动处理,一般用最新的docker-compose.yml,不太会遇到这个问题
  2. config.json要提前下载到和docker-compose.yml同一目录下,然后根据自己的大模型修改好,以便挂载进docker容器中
  3. 如果有自己的大模型,那么实际上是不需要oneapi和mysql的,那么就可以从docker-compose.yml中,把oneapi和mysql容器去掉,再把fastgpt中oneapi的地址和密钥修改为自己的大模型服务的地址和密钥即可。

部署成功后,访问部署服务器的3000端口,就可以看到fastgpt的登录页面了,默认的用户名为:root,密码为:1234

三、fastgpt部署方案之:本地部署及开发环境搭建

鉴于国内无法访问docker hub,并且国内的镜像站点集体失效,很多人已经无法拉取需要的镜像了,那么这里也提供一下本地部署的方法。

上面已经分析过了,fastgpt依赖的技术,那么我们只要在本地把相应的软件搭建起来,就可以在本地跑起来fastgpt了,如果你已经有了自己的大模型服务,那么就更简单了,只需要安装一下nodejs、mongodb、pg数据库,再为pg数据库添加上pgvector插件就可以了。具体的安装方法基本都是从对应的官网下载安装包进行安装即可,没有什么难度,就不展开了。

现在,假设你已经安装好了nodejs、mongodb、pg数据库及pgvector插件,那么接下来,你需要把fastgpt官方的源码下载到本地,源码地址:

fastgpt源码地址

下载zip包或用git clone都可以,下载到本地后,先用vscode打开项目,然后在项目的根目录下运行

pnpm install

来安装一下项目的所有依赖。安装完成后,进入projects/app目录,这个才是正常的fastgpt应用的源码目录,把这个目录下的.env.template文件复制一份,改名为.env.local,再把里面的oneapi的地址和密钥、mongodb连接、pg连接参数,按自己实际的情况进行修改。再找到这个目录下的package.json,如果你想在本地开发调试,就在projects/app目录下运行下面这个命令:

pnpm dev

使用调试运行的方式,你可以在代码中打断点进行debug跟踪,对于了解源码的运行流程、二次开发,都是非常有帮助的。但调试运行的方式相对来说会比较慢,你打开哪个页面,对应的代码才开始编译,总是会慢上一拍,这也是算是一个小缺点吧。

如果你想在本地直接运行,并不想调试,那么你需要运行下面的命令:

pnpm build
pnpm start

直接运行的方式,需要先执行build进行打包,打包的过程比较慢,也比较耗cpu和内存,打包完成后,基于打成的包直接运行,速度就会非常快了。

此时,你已经在本地部署起了一套可供直接运行或二次开发的fastgpt了。


想了解更多fastgpt的知识,请微信搜索并关注“五彩石编程”公众号,军哥的文章将会持续同步更新。


  • 12
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值