From 1e4ffc2481759e5646d19db62b780ef57a2faa64 Mon Sep 17 00:00:00 2001 From: papapatrick <109422393+Patrickill@users.noreply.github.com> Date: Tue, 16 Jul 2024 17:38:11 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E5=AE=8C=E5=96=84=E6=9C=AC=E5=9C=B0?= =?UTF-8?q?=E5=BC=80=E5=8F=91=E6=95=99=E7=A8=8B=20(#2061)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../content/zh-cn/docs/development/docker.md | 13 ++++------- .../content/zh-cn/docs/development/intro.md | 23 ++++++++++++------- 2 files changed, 19 insertions(+), 17 deletions(-) diff --git a/docSite/content/zh-cn/docs/development/docker.md b/docSite/content/zh-cn/docs/development/docker.md index 8bb5d8754da..4d42d92a14f 100644 --- a/docSite/content/zh-cn/docs/development/docker.md +++ b/docSite/content/zh-cn/docs/development/docker.md @@ -11,7 +11,6 @@ weight: 707 ![](/imgs/sealos-fastgpt.webp) - {{% alert icon="🤖" context="success" %}} - MongoDB:用于存储除了向量外的各类数据 @@ -105,13 +104,11 @@ brew install orbstack {{< /tab >}} {{< /tabs >}} - ## 开始部署 ### 1. 下载 docker-compose.yml - -非 Linux 环境或无法访问外网环境,可手动创建一个目录,并下载配置文件和对应版本的`docker-compose.yml` +非 Linux 环境或无法访问外网环境,可手动创建一个目录,并下载配置文件和对应版本的`docker-compose.yml`,在这个文件夹中依据下载的配置文件运行docker,若作为本地开发使用推荐`docker-compose-pgvector`版本,并且自行拉取并运行`sandbox`和`fastgpt`,并在docker配置文件中注释掉`sandbox`和`fastgpt`的部分 - [config.json](https://github.com/labring/FastGPT/blob/main/projects/app/data/config.json) - [docker-compose.yml](https://github.com/labring/FastGPT/blob/main/files/docker) (注意,不同向量库版本的文件不一样) @@ -271,7 +268,6 @@ rs.status() 默认是写了OneAPi的连接地址和密钥,可以通过修改`docker-compose.yml`中,fastgpt容器的环境变量实现。 - `OPENAI_BASE_URL`(API 接口的地址,需要加/v1) `CHAT_API_KEY`(API 接口的凭证)。 @@ -315,8 +311,7 @@ docker-compose up -d 1. `docker exec -it fastgpt sh` 进入 FastGPT 容器。 2. 直接输入`env`命令查看所有环境变量。 - -### 为什么无法连接`本地模型`镜像。 +### 为什么无法连接`本地模型`镜像 `docker-compose.yml`中使用了桥接的模式建立了`fastgpt`网络,如想通过0.0.0.0或镜像名访问其它镜像,需将其它镜像也加入到网络中。 @@ -368,8 +363,8 @@ mongo连接失败,查看mongo的运行状态**对应日志**。 由于服务初始化错误,系统重启导致。 -* 90%是由于配置文件写不对,导致 JSON 解析报错 -* 剩下的基本是因为向量数据库连不上 +- 90%是由于配置文件写不对,导致 JSON 解析报错 +- 剩下的基本是因为向量数据库连不上 ### 如何修改密码 diff --git a/docSite/content/zh-cn/docs/development/intro.md b/docSite/content/zh-cn/docs/development/intro.md index 38522f5dccf..c4faba4dc94 100644 --- a/docSite/content/zh-cn/docs/development/intro.md +++ b/docSite/content/zh-cn/docs/development/intro.md @@ -7,8 +7,7 @@ toc: true weight: 705 --- -本文档介绍了如何设置开发环境以构建和测试 [FastGPT](https://fastgpt.in)。 - +本文档介绍了如何设置开发环境以构建和测试 [FastGPT](https://fastgpt.in),。 ## 前置依赖项 @@ -16,13 +15,14 @@ weight: 705 - [Git](http://git-scm.com/) - [Docker](https://www.docker.com/)(构建镜像) -- [Node.js v18.17 / v20.x](http://nodejs.org) +- [Node.js v18.17 / v20.x](http://nodejs.org)(版本尽量一样,可以使用nvm管理node版本) - [pnpm](https://pnpm.io/) 版本 8.6.0 (目前官方的开发环境) - make命令: 根据不同平台,百度安装 (官方是GNU Make 4.3) ## 开始本地开发 {{% alert context="success" %}} + 1. 用户默认的时区为 `Asia/Shanghai`,非 linux 环境时候,获取系统时间会异常,本地开发时候,可以将用户的时区调整成 UTC(+0)。 2. 建议先服务器装好**数据库**,再进行本地开发。 {{% /alert %}} @@ -47,9 +47,10 @@ git clone git@github.com:/FastGPT.git ### 3. 安装数据库 -第一次开发,需要先部署数据库,建议本地开发可以随便找一台 2C2G 的轻量小数据库实践。数据库部署教程:[Docker 快速部署](/docs/development/docker/)。部署完了,可以本地访问其数据库。 - +第一次开发,需要先部署数据库,建议本地开发可以随便找一台 2C2G 的轻量小数据库实践,或者新建文件夹并配置相关文件用以运行docker。数据库部署教程:[Docker 快速部署](/docs/development/docker/)。部署完了,可以本地访问其数据库。 +{{% alert context="warning" %}} Mongo 数据库需要注意,需要注意在连接地址中增加 `directConnection=true` 参数,才能连接上副本集的数据库。 +{{% /alert %}} ### 4. 初始配置 @@ -57,7 +58,7 @@ Mongo 数据库需要注意,需要注意在连接地址中增加 `directConnec **1. 环境变量** -复制`.env.template`文件,在同级目录下生成一个`.env.local` 文件,修改`.env.local` 里内容才是有效的变量。变量说明见 .env.template +复制`.env.template`文件,在同级目录下生成一个`.env.local` 文件,修改`.env.local` 里内容才是有效的变量。变量说明见 .env.template,主要需要修改`API_KEY`和数据库的地址与端口以及数据库账号的用户名和密码,具体配置需要和docker配置文件相同,其中用户名和密码如需修改需要修改docker配置文件、数据库和`.env.local`文件,不能只改一处。 **2. config 配置文件** @@ -73,7 +74,7 @@ Mongo 数据库需要注意,需要注意在连接地址中增加 `directConnec ### 5. 运行 -可参考项目根目录下的 `dev.md` +可参考项目根目录下的 `dev.md`,第一次编译运行可能会有点慢,需要点耐心哦 ```bash # 给自动化脚本代码执行权限(非 linux 系统, 可以手动执行里面的 postinstall.sh 文件内容) @@ -114,7 +115,6 @@ make build name=app image=registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.8 如果遇到问题,比如合并冲突或不知道如何打开拉取请求,请查看 GitHub 的[拉取请求教程](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests),了解如何解决合并冲突和其他问题。一旦您的 PR 被合并,您将自豪地被列为[贡献者表](https://github.com/labring/FastGPT/graphs/contributors)中的一员。 - ## QA ### 本地数据库无法连接 @@ -130,6 +130,7 @@ make build name=app image=registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.8 FastGPT 在`pnpm i`后会执行`postinstall`脚本,用于自动生成`ChakraUI`的`Type`。如果没有权限,可以先执行`chmod -R +x ./scripts/`,再执行`pnpm i`。 仍不可行的话,可以手动执行`./scripts/postinstall.sh`里的内容。 +*如果是Windows下的话,可以使用git bash给`postinstall`脚本添加执行权限并执行sh脚本* ### TypeError: Cannot read properties of null (reading 'useMemo' ) @@ -141,6 +142,9 @@ FastGPT 在`pnpm i`后会执行`postinstall`脚本,用于自动生成`ChakraUI 4. `cd projects/app` 5. `pnpm dev` +### Error response from daemon: error while creating mount source path 'XXX': mkdir XXX: file exists + +这个错误可能是之前停止容器时有文件残留导致的,首先需要确认相关镜像都全部关闭,然后手动删除相关文件或者重启docker即可 ## 加入社区 @@ -155,6 +159,7 @@ FastGPT 在`pnpm i`后会执行`postinstall`脚本,用于自动生成`ChakraUI FastGPT 使用了 nextjs 的 page route 作为框架。为了区分好前后端代码,在目录分配上会分成 global, service, web 3个自目录,分别对应着 `前后端共用`、`后端专用`、`前端专用`的代码。 ### monorepo + FastGPT 采用 pnpm workspace 方式构建 monorepo 项目,主要分为两个部分: - projects/app - FastGPT 主项目 @@ -173,6 +178,7 @@ support - 支撑功能(用户体系,计费,鉴权等) common - 基础功能(日志管理,文件读写等) {{% details title="代码结构说明" closed="true" %}} + ``` . ├── .github // github 相关配置 @@ -200,4 +206,5 @@ common - 基础功能(日志管理,文件读写等) ├── README_ja.md ├── dev.md ``` + {{% /details %}}