diff --git a/docSite/docs/develop/dataconfig/intro.md b/docSite/docs/develop/dataconfig/intro.md new file mode 100644 index 000000000..de3d70bed --- /dev/null +++ b/docSite/docs/develop/dataconfig/intro.md @@ -0,0 +1,39 @@ +--- +sidebar_position: 1 +--- + +# Config 配置文件说明 + +由于环境变量不利于配置复杂的内容,新版 FastGPT 采用了 ConfigMap 的形式挂载配置文件,你可以在 client/data/config.json 看到默认的配置文件。 + +开发环境下,你需要复制一份 config.json 成 config.local.json 文件才会生效。 + +这个配置文件中包含了前端页面定制、系统级参数、AI 对话的模型等…… + +## 基础字段粗略说明 + +这里会介绍一些基础的配置字段。 + +```json +// 这个配置会控制前端的一些样式 +"FeConfig": { + "show_emptyChat": true, // 对话页面,空内容时,是否展示介绍页 + "show_register": false, // 是否展示注册按键(包括忘记密码,注册账号和三方登录) + "show_appStore": false, // 是否展示应用市场(不过目前权限还没做好,放开也没用) + "show_userDetail": false, // 是否展示用户详情(账号余额、OpenAI 绑定) + "show_git": true, // 是否展示 Git + "systemTitle": "FastAI", // 系统的 title + "authorText": "Made by FastAI Team.", // 签名 + "gitLoginKey": "" // Git 登录凭证 +} +``` + +```json +// 这个配置文件是系统级参数 +"SystemParams": { + "gitLoginSecret": "", // Git 登录凭证 + "vectorMaxProcess": 15, // 向量生成最大进程,结合数据库性能和 key 来设置 + "qaMaxProcess": 15, // QA 生成最大进程,结合数据库性能和 key 来设置 + "pgIvfflatProbe": 20 // pg vector 搜索探针。没有设置索引前可忽略,通常 50w 组以上才需要设置。 + }, +``` diff --git a/docSite/docs/develop/deploy/docker.md b/docSite/docs/develop/deploy/docker.md index 52a03811d..fd11fe5fd 100644 --- a/docSite/docs/develop/deploy/docker.md +++ b/docSite/docs/develop/deploy/docker.md @@ -2,11 +2,11 @@ ## 一、预先准备 -### 准备好代理环境(国外服务器可忽略) +### 1. 准备好代理环境(国外服务器可忽略) 确保可访问到 OpenAI,方案可参考:[sealos nginx 中转](../proxy/sealos) -### OneAPI (可选,需要多模型和 key 轮询时使用) +### 2. OneAPI (可选,需要多模型和 key 轮询时使用) 推荐使用 [one-api](https://github.com/songquanpeng/one-api) 项目来管理 key 池,兼容 openai 、微软和国内主流模型等。 @@ -37,7 +37,7 @@ docker-compose -v version: '3.3' services: pg: - image: ghcr.io/c121914yu/fastgpt:latest # git + image: ankane/pgvector:v0.4.2 # git # image: registry.cn-hangzhou.aliyuncs.com/fastgpt/pgvector:v0.4.2 # 阿里云 container_name: pg restart: always @@ -175,3 +175,7 @@ docker-compose up -d 如果需要域名访问,自行安装 Nginx。目前可以通过: `ip:3000` 直接访问(注意防火墙)。登录用户名为 root,密码为刚刚环境变量里设置的 `DEFAULT_ROOT_PSW` ## 一些问题 + +### 1. 如何更新? + +执行 `docker-compose up -d` 会自动拉取最新镜像,一般情况下不需要执行额外操作。 diff --git a/docSite/docs/develop/deploy/imgs/sealos2.png b/docSite/docs/develop/deploy/imgs/sealos2.png deleted file mode 100644 index e4bcf8689..000000000 Binary files a/docSite/docs/develop/deploy/imgs/sealos2.png and /dev/null differ diff --git a/docSite/docs/develop/deploy/v4init.md b/docSite/docs/develop/deploy/v4init.md new file mode 100644 index 000000000..14bc131a7 --- /dev/null +++ b/docSite/docs/develop/deploy/v4init.md @@ -0,0 +1,56 @@ +# V4 版本初始化 + +新版 mongo 表进行了不少的变更,需要执行一些初始化脚本。 + +## 重命名表名 + +需要连接上 mongo 数据库,执行两条命令: + +`db.models.renameCollection("apps")` + +`db.sharechats.renameCollection("outlinks")` + +如果你已经更新部署了,mongo 会自动创建空表,需要手动删除这两个空表。 + +## 初始化几个表中的字段 + +依次执行下面 3 条命令,时间比较长,不成功可以重复执行(会跳过已经初始化的数据),直到所有数据更新完成。 + +```mongo +db.chats.find({appId: {$exists: false}}).forEach(function(item){ + db.chats.updateOne( + { + _id: item._id, + }, + { "$set": {"appId":item.modelId}} + ) +}) + +db.collections.find({appId: {$exists: false}}).forEach(function(item){ + db.collections.updateOne( + { + _id: item._id, + }, + { "$set": {"appId":item.modelId}} + ) +}) + +db.outlinks.find({shareId: {$exists: false}}).forEach(function(item){ + db.outlinks.updateOne( + { + _id: item._id, + }, + { "$set": {"shareId":item._id.toString(),"appId":item.modelId}} + ) +}) +``` + +## 执行初始化 API + +部署新版项目,并发起 3 个 HTTP 请求(记得携带 headers.rootkey,这个值是环境变量里的) + +1. https://xxxxx/api/admin/initv4 +2. https://xxxxx/api/admin/initChat +3. https://xxxxx/api/admin/initOutlink + +1 和 2,有可能会因为内存不足挂掉,可以重复执行。 diff --git a/docSite/docs/develop/oneapi.md b/docSite/docs/develop/oneapi.md index 45da05acb..5837141c5 100644 --- a/docSite/docs/develop/oneapi.md +++ b/docSite/docs/develop/oneapi.md @@ -1,16 +1,20 @@ -# 在 Sealos 1 分钟部署 one-api +# Sealos 快速部署 OneAPI -## 1. 进入 Sealos 公有云 +无需魔法,部署即可使用 -https://cloud.sealos.io/ +## SqlLite 版本 -## 2. 打开 AppLaunchpad(应用管理) 工具 +sqllite 版本适合个人,少并发 + +## 一、[点击打开 Sealos 公有云](https://cloud.sealos.io/) + +## 二、打开 AppLaunchpad(应用管理) 工具 ![step1](./imgs/step1.png) -## 3. 点击创建新应用 +## 三、点击创建新应用 -## 4. 填写对应参数 +## 四、填写对应参数 镜像:ghcr.io/songquanpeng/one-api:latest @@ -22,7 +26,7 @@ https://cloud.sealos.io/ ## 5. 访问 -点击 Sealos 提供的外网访问地址,即可访问 one-api 项目。 +点击 Sealos 提供的外网访问地址,即可访问 OneAPI 项目。 ![step3](./imgs/step4.png) ![step3](./imgs/step5.png) @@ -30,7 +34,17 @@ https://cloud.sealos.io/ ``` # 下面的地址是 Sealos 提供的,务必写上 v1 -ONEAPI_URL=https://xxxx.cloud.sealos.io/v1 +OPENAI_BASE_URL=https://xxxx.cloud.sealos.io/v1 # 下面的 key 由 one-api 提供 -ONEAPI_KEY=sk-xxxxxx +CHAT_API_KEY=sk-xxxxxx ``` + +## MySQL 版本 + +高流量推荐使用 MySQL 版本,支持多实例扩展。 + +点击下方按键一键部署 👇 + +[![](https://raw.githubusercontent.com/labring-actions/templates/main/Deploy-on-Sealos.svg)](https://cloud.sealos.io/?openapp=system-fastdeploy%3FtemplateName%3Done-api) + +部署完后会跳转【应用管理】,数据库在另一个应用里。需要等待 1~3 分钟数据库运行后才能访问成功。 diff --git a/docSite/i18n/zh-Hans/docusaurus-plugin-content-docs/current/develop/deploy/docker.md b/docSite/i18n/zh-Hans/docusaurus-plugin-content-docs/current/develop/deploy/docker.md index 52a03811d..fd11fe5fd 100644 --- a/docSite/i18n/zh-Hans/docusaurus-plugin-content-docs/current/develop/deploy/docker.md +++ b/docSite/i18n/zh-Hans/docusaurus-plugin-content-docs/current/develop/deploy/docker.md @@ -2,11 +2,11 @@ ## 一、预先准备 -### 准备好代理环境(国外服务器可忽略) +### 1. 准备好代理环境(国外服务器可忽略) 确保可访问到 OpenAI,方案可参考:[sealos nginx 中转](../proxy/sealos) -### OneAPI (可选,需要多模型和 key 轮询时使用) +### 2. OneAPI (可选,需要多模型和 key 轮询时使用) 推荐使用 [one-api](https://github.com/songquanpeng/one-api) 项目来管理 key 池,兼容 openai 、微软和国内主流模型等。 @@ -37,7 +37,7 @@ docker-compose -v version: '3.3' services: pg: - image: ghcr.io/c121914yu/fastgpt:latest # git + image: ankane/pgvector:v0.4.2 # git # image: registry.cn-hangzhou.aliyuncs.com/fastgpt/pgvector:v0.4.2 # 阿里云 container_name: pg restart: always @@ -175,3 +175,7 @@ docker-compose up -d 如果需要域名访问,自行安装 Nginx。目前可以通过: `ip:3000` 直接访问(注意防火墙)。登录用户名为 root,密码为刚刚环境变量里设置的 `DEFAULT_ROOT_PSW` ## 一些问题 + +### 1. 如何更新? + +执行 `docker-compose up -d` 会自动拉取最新镜像,一般情况下不需要执行额外操作。 diff --git a/docSite/i18n/zh-Hans/docusaurus-plugin-content-docs/current/develop/deploy/imgs/sealos2.png b/docSite/i18n/zh-Hans/docusaurus-plugin-content-docs/current/develop/deploy/imgs/sealos2.png deleted file mode 100644 index e4bcf8689..000000000 Binary files a/docSite/i18n/zh-Hans/docusaurus-plugin-content-docs/current/develop/deploy/imgs/sealos2.png and /dev/null differ diff --git a/docSite/i18n/zh-Hans/docusaurus-plugin-content-docs/current/develop/deploy/v4init.md b/docSite/i18n/zh-Hans/docusaurus-plugin-content-docs/current/develop/deploy/v4init.md new file mode 100644 index 000000000..14bc131a7 --- /dev/null +++ b/docSite/i18n/zh-Hans/docusaurus-plugin-content-docs/current/develop/deploy/v4init.md @@ -0,0 +1,56 @@ +# V4 版本初始化 + +新版 mongo 表进行了不少的变更,需要执行一些初始化脚本。 + +## 重命名表名 + +需要连接上 mongo 数据库,执行两条命令: + +`db.models.renameCollection("apps")` + +`db.sharechats.renameCollection("outlinks")` + +如果你已经更新部署了,mongo 会自动创建空表,需要手动删除这两个空表。 + +## 初始化几个表中的字段 + +依次执行下面 3 条命令,时间比较长,不成功可以重复执行(会跳过已经初始化的数据),直到所有数据更新完成。 + +```mongo +db.chats.find({appId: {$exists: false}}).forEach(function(item){ + db.chats.updateOne( + { + _id: item._id, + }, + { "$set": {"appId":item.modelId}} + ) +}) + +db.collections.find({appId: {$exists: false}}).forEach(function(item){ + db.collections.updateOne( + { + _id: item._id, + }, + { "$set": {"appId":item.modelId}} + ) +}) + +db.outlinks.find({shareId: {$exists: false}}).forEach(function(item){ + db.outlinks.updateOne( + { + _id: item._id, + }, + { "$set": {"shareId":item._id.toString(),"appId":item.modelId}} + ) +}) +``` + +## 执行初始化 API + +部署新版项目,并发起 3 个 HTTP 请求(记得携带 headers.rootkey,这个值是环境变量里的) + +1. https://xxxxx/api/admin/initv4 +2. https://xxxxx/api/admin/initChat +3. https://xxxxx/api/admin/initOutlink + +1 和 2,有可能会因为内存不足挂掉,可以重复执行。 diff --git a/docSite/i18n/zh-Hans/docusaurus-plugin-content-docs/current/develop/oneapi.md b/docSite/i18n/zh-Hans/docusaurus-plugin-content-docs/current/develop/oneapi.md index 45da05acb..5837141c5 100644 --- a/docSite/i18n/zh-Hans/docusaurus-plugin-content-docs/current/develop/oneapi.md +++ b/docSite/i18n/zh-Hans/docusaurus-plugin-content-docs/current/develop/oneapi.md @@ -1,16 +1,20 @@ -# 在 Sealos 1 分钟部署 one-api +# Sealos 快速部署 OneAPI -## 1. 进入 Sealos 公有云 +无需魔法,部署即可使用 -https://cloud.sealos.io/ +## SqlLite 版本 -## 2. 打开 AppLaunchpad(应用管理) 工具 +sqllite 版本适合个人,少并发 + +## 一、[点击打开 Sealos 公有云](https://cloud.sealos.io/) + +## 二、打开 AppLaunchpad(应用管理) 工具 ![step1](./imgs/step1.png) -## 3. 点击创建新应用 +## 三、点击创建新应用 -## 4. 填写对应参数 +## 四、填写对应参数 镜像:ghcr.io/songquanpeng/one-api:latest @@ -22,7 +26,7 @@ https://cloud.sealos.io/ ## 5. 访问 -点击 Sealos 提供的外网访问地址,即可访问 one-api 项目。 +点击 Sealos 提供的外网访问地址,即可访问 OneAPI 项目。 ![step3](./imgs/step4.png) ![step3](./imgs/step5.png) @@ -30,7 +34,17 @@ https://cloud.sealos.io/ ``` # 下面的地址是 Sealos 提供的,务必写上 v1 -ONEAPI_URL=https://xxxx.cloud.sealos.io/v1 +OPENAI_BASE_URL=https://xxxx.cloud.sealos.io/v1 # 下面的 key 由 one-api 提供 -ONEAPI_KEY=sk-xxxxxx +CHAT_API_KEY=sk-xxxxxx ``` + +## MySQL 版本 + +高流量推荐使用 MySQL 版本,支持多实例扩展。 + +点击下方按键一键部署 👇 + +[![](https://raw.githubusercontent.com/labring-actions/templates/main/Deploy-on-Sealos.svg)](https://cloud.sealos.io/?openapp=system-fastdeploy%3FtemplateName%3Done-api) + +部署完后会跳转【应用管理】,数据库在另一个应用里。需要等待 1~3 分钟数据库运行后才能访问成功。