Windows 上源码安装 FastGPT

server/2025/2/23 23:35:02/

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

FastGPT__1">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_49">源码构建 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 也没报错。

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

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


http://www.ppmy.cn/server/170217.html

相关文章

边缘安全加速(Edge Security Acceleration)

边缘安全加速(Edge Security Acceleration,简称ESA)是一种通过将安全功能与网络边缘紧密结合来提升安全性和加速网络流量的技术。ESA的目标是将安全措施部署到接近用户或设备的地方,通常是在网络的边缘,而不是将所有流…

科技赋能体育:Xsens MVN Analyze如何重塑运动训练新纪元

在哈尔滨亚洲冬季运动会备战期间,各国代表队都在积极使用新技术帮助运动员提升成绩。Xsens MVN Analyze运动分析系统以其高精度的数据采集与快速生成分析报告等特点,正在悄然改变着传统运动训练的模式,为运动员成绩提升开辟了新的路径。 一、…

二、《重学设计模式》-UML类图

UML类图常用的6种关系 依赖泛化(继承)实现关联聚合组合 类图常用表示图 依赖、泛化、实现都是从 依赖谁、继承谁、实现谁,箭头就指向谁 组合和聚合 都是从部分指向整体,菱形都指向整体 关联都是谁关联谁,箭头就指向…

【微服务优化】ELK日志聚合与查询性能提升实战指南

网罗开发 (小红书、快手、视频号同名) 大家好,我是 展菲,目前在上市企业从事人工智能项目研发管理工作,平时热衷于分享各种编程领域的软硬技能知识以及前沿技术,包括iOS、前端、Harmony OS、Java、Python等…

INDEMIND:AI视觉赋能服务机器人,“零”碰撞避障技术实现全天候安全

随着AI技术的飞速发展,服务机器人正以前所未有的速度融入人类生活的各个角落。从酒店到餐厅,从超市到医院,服务机器人的身影无所不在。然而在享受这些智能伙伴带来便利的同时,一个核心问题始终摆在人们面前——安全。 安全能力决…

Linux-Ansible模块进阶

文章目录 Copy和FetchFile模块 🏡作者主页:点击! 🤖Linux专栏:点击! ⏰️创作时间:2025年02月22日18点49分 Copy和Fetch copy和fetch模块实践 copy模块需要注意的点:在收集日志之前…

计算机创造的奇迹——C语言

一.简介 C语言是一种较早的程序设计语言,诞生于1972年的贝尔实验室。1972 年,Dennis Ritchie 设计了C语言,它继承了B语言的许多思想,并加入了数据类型的概念及其他特性。 尽管C 语言是与 UNIX 操作系统一起被开发出来的&#xff…

vite调试node_modules下面插件

在使用vite进行开发的时候,我们可能想要修改node_modules中插件的源码.特别是集成一个SDK,需要调试去判断问题时,或者研究第三方源码时后; vite默认是走缓存的,所以当修改后不会看到你打印的日志,这个时候有几种方法可以选择; 方式…