当前位置: 首页 > news >正文

Windows 上源码安装 FastGPT

FastGPT 是一个强大的 AI RAG 平台,值得我们去学习了解。与常见的 Python 体系不同,Fast GPT 采用 Node.js/Next.js 平台(对于广大 JS 开发者或前端开发者比较亲切友好),安装或部署比较简单。虽然一般情况下推荐简单的 Docker 方式部署。但是这里采用源码构建的方式进行部署,以便更好地深入了解 FastGPT,同时在生产环境中,也推荐使用源码编译的方式部署。

FastGPT 运行环境

Dify 要求的技术栈如下:

  • Nod.js,要求版本 v20+
  • PostgreSQL 数据库作为向量数据库
  • MongoDB 用于存储除了向量外的各类数据

如果以上每一个模块都要去部署的话,耗时耗力,出于初始学习的目的,还是直接采用第三方的服务即可,尤其有许多厂商提供的免费服务。当然了,如果是生产环境,依赖这些免费的肯定是不行的。最后,FastGPT 本体我们自然就是在本地部署的,其中包括 Next.js 后端及 UI 前端,下面我们逐一说明。

准备依赖环境

Node.js

到官网下载 Node 运行时,或者使用 nvm 管理 node版本,比较简单,这里就不多说了。

另外安装 pnPm 管理 node 的依赖包。在 PowerSHELL 下面执行安装脚本:

Invoke-WebRequest https://get.pnpm.io/install.ps1 -UseBasicParsing | Invoke-Expression

或者通过 npm 安装也行:

npm install -g pnpm@latest-10

PostgreSQL

PostgreSQL 免费的一大把抓,比如 Supabase、Neon、xata、MemFireDB(国内的)。当前推荐 Supabase。申请成功后创建一个新的 project:

在这里插入图片描述
服务器区域可以选择一个离我们比较近的,例如新加坡。生成密码后点击【Create new project】,稍等片刻部署服务。

点击顶部的【connect】显示连接信息,包括地址、账号密码等:
在这里插入图片描述

在这里插入图片描述
准备好数据库之后,等 FastGPT 部署好后再填数据库的配置。

在与 FastGPT 结合前可以使用专门的 MongoDB 管理工具 MongoDBCompass 测试下,

在这里插入图片描述

MongoDB

一般都是官方提供的免费服务,除了它另外一个filess 也支持。至于其他的好像就没有了,MongoDB 免费的很少呀。

注册一个账号后 创建 MongoDB 服务,区域选择较近的 HongKong,点击【Connect】获取连接详情:

在这里插入图片描述
注意连接字符串开头是mongodb+srv,这个srv不能少,表示集群的意思。

另外要开通白名单以便访问,
在这里插入图片描述
准备好数据库之后,等 FastGPT 部署好后再填 MongoDB 的配置。

源码构建 FastGPT

把库 Clone 回来:

git clone https://github.com/labring/FastGPT.git

目录简要说明:

  • projects 目录下为 FastGPT 应用代码。其中 app 为 FastGPT 核心应用。(后续可能会引入其他应用)
  • NextJS 框架前后端放在一起,API 服务位于 src/pages/api 目录内。
  • packages 目录为共用代码,通过 workspace 被注入到 projects 中,已配置 monorepo 自动注入,无需额外打包。

初始配置

以下文件均在 projects/app 路径下。

  • 复制.env.template文件,在同级目录下生成一个.env.local文件,修改.env.local里内容才是有效的变量。变量说明见 .env.template,主要需要修改API_KEY和数据库的地址与端口以及数据库账号的用户名和密码。
  • 复制data/config.json文件,生成一个data/config.local.json配置文件

.env.local填入上述的 PqSQL 和 MongoDB 连接字符串。
在这里插入图片描述

运行

代码根目录下执行,会安装根 package、projects 和 packages 内所有依赖,这过程比较久

pnpm i

正式运行:

cd projects/app
pnpm dev

在这里插入图片描述
打开浏览器访问:http://localhost:3000/,后台 console 也没报错。

在这里插入图片描述
在这里插入图片描述
大功告成!

本文参考了官方文档而成。如有不明白的地方敬请留言告之。

相关文章:

  • S7-1200如何利用时钟存储器做震荡电路
  • QQ登录测试用例报告
  • 大模型SFT有监督微调教程
  • Java Web开发实战与项目——开发一个在线论坛系统
  • 在其他位置调用Static结构
  • mysql之事务深度解析与实战应用:保障数据一致性的基石
  • PTA:运用顺序表实现多项式相加
  • 【洛谷排序算法】P1012拼数-详细讲解
  • BFS 和 DFS(深度优先搜索、广度优先搜索)
  • 【超详细】神经网络的可视化解释
  • 优品指标树
  • 【项目设计】自主HTTP服务器
  • 爬虫小案例csv写入
  • 【多模态处理篇三】【DeepSeek语音合成:TTS音色克隆技术揭秘】
  • 1.27作业
  • C语言的内存分配:malloc和free
  • 【精调】LLaMA-Factory 快速开始4 自定义个一个sharegpt数据集并训练
  • 使用 C++ 和 gRPC 的常见陷阱及解决方案
  • Ubuntu 下 nginx-1.24.0 源码分析 - ngx_atoi 函数
  • 自注意力机制和CNN的区别
  • 这样喝酸奶相当于在喝糖水,会导致娃龋齿、肥胖
  • 贵州黔西市载人游船倾覆事故已致3人遇难,14人正在搜救中
  • G40迎来返程大车流,今明两日预计超13万辆车经长江隧桥进沪
  • 9米长林肯车开进“皖南川藏线”致拥堵数小时,车主回应称将配合调查
  • 徐丹任武汉大学药学院院长:研究领域在国际上处领跑地位
  • 山西太原一小区发生爆炸,造成1人遇难21人受伤2人失联