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 下面执行安装脚本:

powershell 复制代码
Invoke-WebRequest https://get.pnpm.io/install.ps1 -UseBasicParsing | Invoke-Expression

或者通过 npm 安装也行:

cmd 复制代码
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 也没报错。


大功告成!

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

相关推荐
小豆庄10 小时前
本地视频打码:多模型检测、帧间追踪与18种模糊的选型
opencv·目标检测·ai·自然语言处理·音视频·视频
gugugu.13 小时前
同一个 ReAct,两种手写方式:LangChain 文本协议 vs LangGraph 状态图
ai·langchain
小七-七牛开发者15 小时前
Tool-Use Agent 如何扩训练数据:拆解工具、任务与环境状态的 Scaling Law
ai·agent·工具调用·scalinglaw·synthapi
wflynn18 小时前
Mistral Large 4发布,万亿参数模型的编码与安全实测数据
ai·技术
日日大王学编程18 小时前
AI 时代后端方向新人的未来规划与看法
人工智能·后端·python·ai·golang
土星云SaturnCloud18 小时前
基于边缘计算与AI视觉的智慧街面治理方案:架构设计与场景落地
服务器·人工智能·ai·边缘计算
Elastic 中国社区官方博客19 小时前
基于 Elasticsearch 与 Jina AI 的全模态智能搜索实践:技术全解析
大数据·人工智能·elasticsearch·搜索引擎·ai·信息可视化·jina
Solange__19 小时前
图片转3D导出GLB、FBX还是OBJ?按5类任务比较材质、动画与可编辑性
人工智能·3d·ai·自然语言处理·编辑器·blender·材质
GJGCY19 小时前
金融AI Agent安全如何评估?数据出站、身份映射、参数绑定与审计追踪机制
人工智能·经验分享·安全·ai·金融·自动化·智能体
涵美女程序猿19 小时前
AI 商品素材工作台怎么搭?Lingko AI 追踪便携显示器接口与支架版本
ai