开始本地开发
- 用户默认的时区为
Asia/Shanghai
,非 linux 环境时候,获取系统时间会异常,本地开发时候,可以将用户的时区调整成UTC(+0)
。 - 建议先服务器装好数据库,再进行本地开发。
https://doc.fastai.site/docs/development/intro/
执行过程
1. Fork 存储库
您需要 Fork 存储库 : https://github.com/labring/FastGPT/
2. 克隆存储库
克隆您在 GitHub 上 Fork 的存储库:
git clone git@github.com:<github_username>/FastGPT.git
目录简要说明
projects
目录下为 FastGPT 应用代码。其中app
为 FastGPT 核心应用。(后续可能会引入其他应用)NextJS
框架前后端放在一起,API 服务位于src/pages/api
目录内。packages
目录为共用代码,通过 workspace 被注入到projects
中,已配置 monorepo 自动注入,无需额外打包。
3. 安装数据库
第一次开发,需要先部署数据库,建议本地开发可以随便找一台 2C2G 的轻量小数据库实践。数据库部署教程:Docker 快速部署。部署完了,可以本地访问其数据库。
Mongo 数据库需要修改副本集的host,从原来的 mongo:27017
修改为 ip:27017
(ip为对应的公网IP)。
4. 初始配置
以下文件均在 projects/app
路径下。
环境变量
复制.env.template
文件,在同级目录下生成一个.env.local
文件,修改.env.local
里内容才是有效的变量。变量说明见 .env.template
config 配置文件
复制 data/config.json
文件,生成一个 data/config.local.json
配置文件,具体配置参数说明,可参考 config 配置说明
注意:json 配置文件不能包含注释,介绍中为了方便看才加入的注释
这个文件大部分时候不需要修改。只需要关注 systemEnv
里的参数:
vectorMaxProcess
: 向量生成最大进程,根据数据库和 key 的并发数来决定,通常单个 120 号,2c4g 服务器设置 10~15。qaMaxProcess
: QA 生成最大进程pgHNSWEfSearch
: PostgreSQL vector 索引参数,越大搜索精度越高但是速度越慢,具体可看 pgvector 官方说明。
5. 运行
# 给脚本代码执行权限
chmod -R +x ./scripts/
# 代码根目录下执行,会安装根 package、projects 和 packages 内所有依赖
pnpm i
# 切换到应用目录
cd projects/app
# 开发模式运行
pnpm dev
6. 部署打包
# 根目录下执行
docker build -t dockername/fastgpt:tag --build-arg name=app .
# 使用代理
docker build -t dockername/fastgpt:tag --build-arg name=app --build-arg proxy=taobao .
作者:Jeebiz 创建时间:2024-03-24 00:19
最后编辑:Jeebiz 更新时间:2024-04-24 10:53
最后编辑:Jeebiz 更新时间:2024-04-24 10:53