Files
FastGPT/docSite/content/docs/development/intro.md
2023-10-02 20:19:09 +08:00

3.7 KiB
Raw Blame History

title, description, icon, draft, toc, weight
title description icon draft toc weight
快速开始 对 FastGPT 进行开发调试 developer_guide false true 510

本文档介绍了如何设置开发环境以构建和测试 FastGPT

前置依赖项

您需要在计算机上安装和配置以下依赖项才能构建 FastGPT

开始本地开发

Tips

  1. 用户默认的时区为 Asia/Shanghai,非 linux 环境时候,获取系统时间会异常,本地开发时候,可以将用户的时区调整成 UTC+0
  2. 建议先服务器装好数据库在进行本地开发。

1. Fork 存储库

您需要 Fork 存储库

2. 克隆存储库

克隆您在 GitHub 上 Fork 的存储库:

git clone git@github.com:<github_username>/FastGPT.git

目录简要说明

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

3. 安装数据库

第一次开发,需要先部署数据库,建议本地开发可以随便找一台 2C2G 的轻量小数据库实践。数据库部署教程:Docker 快速部署。部署完了,可以本地访问其数据库。

4. 初始配置

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

环境变量

复制.env.template 文件,生成一个.env.local 环境变量文件夹,修改.env.local 里内容才是有效的变量。变量说明见 .env.template

config 配置文件

复制 data/config.json 文件,生成一个 data/config.local.json 配置文件,具体配置参数说明,可参考 config 配置说明

注意json 配置文件不能包含注释,介绍中为了方便看才加入的注释

这个文件大部分时候不需要修改。只需要关注 SystemParams 里的参数:

  • vectorMaxProcess: 向量生成最大进程,根据数据库和 key 的并发数来决定,通常单个 120 号2c4g 服务器设置 10~15。
  • qaMaxProcess: QA 生成最大进程
  • pgIvfflatProbe: PostgreSQL vector 搜索探针,没有添加 vector 索引时可忽略。

5. 运行

# 代码根目录下执行,会安装根 package、projects 和 packages 内所有依赖
pnpm i
# 切换到应用目录
cd projects/app 
# 开发模式运行
pnpm dev

6. 发布 - 镜像打包

# 根目录下执行
docker build -t dockername/fastgpt --build-arg name=app .

提交代码至开源仓库

  1. 确保你的代码是 Fork FastGPT 仓库
  2. 尽可能少量的提交代码,每次提交仅解决一个问题。
  3. 向 FastGPT 的 main 分支提交一个 PR提交请求后FastGPT 团队/社区的其他人将与您一起审查它。

如果遇到问题,比如合并冲突或不知道如何打开拉取请求,请查看 GitHub 的拉取请求教程,了解如何解决合并冲突和其他问题。一旦您的 PR 被合并,您将自豪地被列为贡献者表中的一员。

加入社区

遇到困难了吗?有任何问题吗? 加入微信群与开发者和用户保持沟通。