diff --git a/deploy/docker/docker-compose-milvus.yml b/deploy/docker/docker-compose-milvus.yml index f20926056..0aef4fdd8 100644 --- a/deploy/docker/docker-compose-milvus.yml +++ b/deploy/docker/docker-compose-milvus.yml @@ -185,7 +185,7 @@ services: - AIPROXY_API_ENDPOINT=http://aiproxy:3000 # AI Proxy 的 Admin Token,与 AI Proxy 中的环境变量 ADMIN_KEY - AIPROXY_API_TOKEN=aiproxy - + # 数据库最大连接数 - DB_MAX_LINK=30 # MongoDB 连接参数. 用户名myusername,密码mypassword。 @@ -233,9 +233,13 @@ services: networks: - fastgpt environment: - - AUTH_TOKEN=xxxxxx # disable authentication token if you do not set this variable - # 改成 minio 可访问地址,例如 https://192.168.2.2:9000 - - MINIO_CUSTOM_ENDPOINT=https://192.168.2.2:9000 + - AUTH_TOKEN=xxxxxx # 如果不需要鉴权可以直接去掉这个环境变量 + + # 改成 minio 可访问地址,例如 http://192.168.2.2:9000/fastgpt-plugins + # 必须指向 Minio 的桶的地址 + # 如果 Minio 可以直接通过外网访问,可以不设置这个环境变量 + # - MINIO_CUSTOM_ENDPOINT=http://192.168.2.2:9000 + - MINIO_ENDPOINT=fastgpt-minio - MINIO_PORT=9000 - MINIO_USE_SSL=false diff --git a/deploy/docker/docker-compose-oceanbase/docker-compose.yml b/deploy/docker/docker-compose-oceanbase/docker-compose.yml index f86856807..c943718f4 100644 --- a/deploy/docker/docker-compose-oceanbase/docker-compose.yml +++ b/deploy/docker/docker-compose-oceanbase/docker-compose.yml @@ -160,7 +160,7 @@ services: - AIPROXY_API_ENDPOINT=http://aiproxy:3000 # AI Proxy 的 Admin Token,与 AI Proxy 中的环境变量 ADMIN_KEY - AIPROXY_API_TOKEN=aiproxy - + # 数据库最大连接数 - DB_MAX_LINK=30 # MongoDB 连接参数. 用户名myusername,密码mypassword。 @@ -207,9 +207,13 @@ services: networks: - fastgpt environment: - - AUTH_TOKEN=xxxxxx # disable authentication token if you do not set this variable - # 改成 minio 可访问地址,例如 https://192.168.2.2:9000 - - MINIO_CUSTOM_ENDPOINT=https://192.168.2.2:9000 + - AUTH_TOKEN=xxxxxx # 如果不需要鉴权可以直接去掉这个环境变量 + + # 改成 minio 可访问地址,例如 http://192.168.2.2:9000/fastgpt-plugins + # 必须指向 Minio 的桶的地址 + # 如果 Minio 可以直接通过外网访问,可以不设置这个环境变量 + # - MINIO_CUSTOM_ENDPOINT=http://192.168.2.2:9000 + - MINIO_ENDPOINT=fastgpt-minio - MINIO_PORT=9000 - MINIO_USE_SSL=false diff --git a/deploy/docker/docker-compose-pgvector.yml b/deploy/docker/docker-compose-pgvector.yml index 80c33e4a6..75cdcf0c3 100644 --- a/deploy/docker/docker-compose-pgvector.yml +++ b/deploy/docker/docker-compose-pgvector.yml @@ -146,7 +146,7 @@ services: - AIPROXY_API_ENDPOINT=http://aiproxy:3000 # AI Proxy 的 Admin Token,与 AI Proxy 中的环境变量 ADMIN_KEY - AIPROXY_API_TOKEN=aiproxy - + # 数据库最大连接数 - DB_MAX_LINK=30 # MongoDB 连接参数. 用户名myusername,密码mypassword。 @@ -193,9 +193,13 @@ services: networks: - fastgpt environment: - - AUTH_TOKEN=xxxxxx # disable authentication token if you do not set this variable - # 改成 minio 可访问地址,例如 https://192.168.2.2:9000 - - MINIO_CUSTOM_ENDPOINT=https://192.168.2.2:9000 + - AUTH_TOKEN=xxxxxx # 如果不需要鉴权可以直接去掉这个环境变量 + + # 改成 minio 可访问地址,例如 http://192.168.2.2:9000/fastgpt-plugins + # 必须指向 Minio 的桶的地址 + # 如果 Minio 可以直接通过外网访问,可以不设置这个环境变量 + # - MINIO_CUSTOM_ENDPOINT=http://192.168.2.2:9000 + - MINIO_ENDPOINT=fastgpt-minio - MINIO_PORT=9000 - MINIO_USE_SSL=false diff --git a/deploy/docker/docker-compose-zilliz.yml b/deploy/docker/docker-compose-zilliz.yml index 75237c07a..b17bbc4ad 100644 --- a/deploy/docker/docker-compose-zilliz.yml +++ b/deploy/docker/docker-compose-zilliz.yml @@ -126,7 +126,7 @@ services: - AIPROXY_API_ENDPOINT=http://aiproxy:3000 # AI Proxy 的 Admin Token,与 AI Proxy 中的环境变量 ADMIN_KEY - AIPROXY_API_TOKEN=aiproxy - + # 数据库最大连接数 - DB_MAX_LINK=30 # MongoDB 连接参数. 用户名myusername,密码mypassword。 @@ -175,9 +175,13 @@ services: networks: - fastgpt environment: - - AUTH_TOKEN=xxxxxx # disable authentication token if you do not set this variable - # 改成 minio 可访问地址,例如 https://192.168.2.2:9000 - - MINIO_CUSTOM_ENDPOINT=https://192.168.2.2:9000 + - AUTH_TOKEN=xxxxxx # 如果不需要鉴权可以直接去掉这个环境变量 + + # 改成 minio 可访问地址,例如 http://192.168.2.2:9000/fastgpt-plugins + # 必须指向 Minio 的桶的地址 + # 如果 Minio 可以直接通过外网访问,可以不设置这个环境变量 + # - MINIO_CUSTOM_ENDPOINT=http://192.168.2.2:9000 + - MINIO_ENDPOINT=fastgpt-minio - MINIO_PORT=9000 - MINIO_USE_SSL=false diff --git a/deploy/docker/docker-compose/docker-compose b/deploy/docker/docker-compose/docker-compose deleted file mode 100644 index fc9e88f71..000000000 Binary files a/deploy/docker/docker-compose/docker-compose and /dev/null differ diff --git a/deploy/docker/docker-compose/init.sh b/deploy/docker/docker-compose/init.sh deleted file mode 100644 index d3111257b..000000000 --- a/deploy/docker/docker-compose/init.sh +++ /dev/null @@ -1,2 +0,0 @@ -cp ./docker-compose /usr/local/bin/docker-compose -sudo chmod +x /usr/local/bin/docker-compose \ No newline at end of file diff --git a/deploy/docker/yml.js b/deploy/docker/yml.js index 17f5099d5..764e8d3cd 100644 --- a/deploy/docker/yml.js +++ b/deploy/docker/yml.js @@ -1,5 +1,5 @@ -const fs = require('fs') -const path = require('path') +const fs = require('fs'); +const path = require('path'); const template = `# 数据库的默认账号和密码仅首次运行时设置有效 # 如果修改了账号密码,记得改数据库和项目连接参数,别只改一处~ @@ -129,7 +129,7 @@ services: - AIPROXY_API_ENDPOINT=http://aiproxy:3000 # AI Proxy 的 Admin Token,与 AI Proxy 中的环境变量 ADMIN_KEY - AIPROXY_API_TOKEN=aiproxy - + # 数据库最大连接数 - DB_MAX_LINK=30 # MongoDB 连接参数. 用户名myusername,密码mypassword。 @@ -176,9 +176,13 @@ services: networks: - fastgpt environment: - - AUTH_TOKEN=xxxxxx # disable authentication token if you do not set this variable - # 改成 minio 可访问地址,例如 https://192.168.2.2:9000 - - MINIO_CUSTOM_ENDPOINT=https://192.168.2.2:9000 + - AUTH_TOKEN=xxxxxx # 如果不需要鉴权可以直接去掉这个环境变量 + + # 改成 minio 可访问地址,例如 http://192.168.2.2:9000/fastgpt-plugins + # 必须指向 Minio 的桶的地址 + # 如果 Minio 可以直接通过外网访问,可以不设置这个环境变量 + # - MINIO_CUSTOM_ENDPOINT=http://192.168.2.2:9000 + - MINIO_ENDPOINT=fastgpt-minio - MINIO_PORT=9000 - MINIO_USE_SSL=false @@ -239,11 +243,11 @@ services: retries: 10 networks: fastgpt: -` +`; const list = [ { - filename: "./docker-compose-pgvector.yml", + filename: './docker-compose-pgvector.yml', depends: `- pg`, service: `pg: image: pgvector/pgvector:0.8.0-pg15 # docker hub @@ -269,7 +273,7 @@ const list = [ env: `- PG_URL=postgresql://username:password@pg:5432/postgres` }, { - filename: "./docker-compose-zilliz.yml", + filename: './docker-compose-zilliz.yml', depends: ``, service: ``, env: `# zilliz 连接参数 @@ -277,7 +281,7 @@ const list = [ - MILVUS_TOKEN=zilliz_cloud_token` }, { - filename: "./docker-compose-milvus.yml", + filename: './docker-compose-milvus.yml', depends: `- milvusStandalone`, service: `milvus-minio: container_name: milvus-minio @@ -343,7 +347,7 @@ const list = [ - MILVUS_TOKEN=none` }, { - filename: "./docker-compose-oceanbase/docker-compose.yml", + filename: './docker-compose-oceanbase/docker-compose.yml', depends: `- ob`, service: `ob: image: oceanbase/oceanbase-ce:4.3.5-lts # docker hub @@ -382,10 +386,13 @@ const list = [ start_period: 10s`, env: `- OCEANBASE_URL=mysql://root%40tenantname:tenantpassword@ob:2881/test` } -] +]; -list.forEach(item => { - const { filename, service, env, depends } = item - const content = template.replace("{{Vector_DB_Service}}", service).replace("{{Vector_DB_ENV}}", env).replace("{{Vector_DB_Depends}}", depends) - fs.writeFileSync(path.join(__dirname, filename), content, 'utf-8') -}) \ No newline at end of file +list.forEach((item) => { + const { filename, service, env, depends } = item; + const content = template + .replace('{{Vector_DB_Service}}', service) + .replace('{{Vector_DB_ENV}}', env) + .replace('{{Vector_DB_Depends}}', depends); + fs.writeFileSync(path.join(__dirname, filename), content, 'utf-8'); +}); diff --git a/document/README.md b/document/README.md index f42a454df..642b99d65 100644 --- a/document/README.md +++ b/document/README.md @@ -76,7 +76,7 @@ import FastGPTLink from '@/components/docs/linkFastGPT'; #FastGPT跳转链接组 { "title": "FastGPT Docs", "root": true, - "pages": ["[Handshake][联系我们](https://fael3z0zfze.feishu.cn/share/base/form/shrcnRxj3utrzjywsom96Px4sud)","index","guide","development","FAQ","shopping_cart","community","hello"], #"hello"原本没有,此外,这里的顺序就是最后文档的展示顺序,现在"hello"文档将会在`introduction`的最后展示 + "pages": ["[Handshake][联系我们](https://fael3z0zfze.feishu.cn/share/base/form/shrcnjJWtKqjOI9NbQTzhNyzljc)","index","guide","development","FAQ","shopping_cart","community","hello"], #"hello"原本没有,此外,这里的顺序就是最后文档的展示顺序,现在"hello"文档将会在`introduction`的最后展示 "order": 1 } ``` @@ -87,8 +87,8 @@ import FastGPTLink from '@/components/docs/linkFastGPT'; #FastGPT跳转链接组 # ps -`meta.json`的`"pages"`中的`"[Handshake][联系我们](https://fael3z0zfze.feishu.cn/share/base/form/shrcnRxj3utrzjywsom96Px4sud)"`这个字段是目录的链接形式,表现效果为,点击后跳转到对应的url。 +`meta.json`的`"pages"`中的`"[Handshake][联系我们](https://fael3z0zfze.feishu.cn/share/base/form/shrcnjJWtKqjOI9NbQTzhNyzljc)"`这个字段是目录的链接形式,表现效果为,点击后跳转到对应的url。 ![](./public/readme/link.png) -最后,如果依然有问题,可以进入`https://fumadocs.dev/docs/ui`官网,询问官网提供的ai来了解文档框架的使用。 \ No newline at end of file +最后,如果依然有问题,可以进入`https://fumadocs.dev/docs/ui`官网,询问官网提供的ai来了解文档框架的使用。 diff --git a/document/content/docs/introduction/guide/plugins/dev_system_tool.mdx b/document/content/docs/introduction/guide/plugins/dev_system_tool.mdx index e82efcd10..81f28e6ee 100644 --- a/document/content/docs/introduction/guide/plugins/dev_system_tool.mdx +++ b/document/content/docs/introduction/guide/plugins/dev_system_tool.mdx @@ -30,9 +30,9 @@ FastGPT 系统工具项目从 4.10.0 版本后移动到独立的`fastgpt-plugin` bun run new:tool ``` -依据提示分别选择创建工具/工具集,以及目录名(小驼峰命名)。 +依据提示分别选择创建工具/工具集,以及目录名(使用 camelCase 小驼峰法命名)。 -执行完后,系统会在 `packages/tool/packages/[your-tool-name]`下生成一个工具/工具集的目录。 +执行完后,系统会在 `modules/tool/packages/[your-tool-name]`下生成一个工具/工具集的目录。 系统工具 (Tool) 文件结构如下: @@ -61,23 +61,71 @@ package.json ### 2.2 修改 config.ts - **name** 和 **description** 字段为中文和英文两种语言 -- **courseUrl** 密钥获取链接,或官网链接。 +- **courseUrl** 密钥获取链接,或官网链接,教程链接等。 - **author** 开发者名 - **type** 为枚举类型,目前有: - tools: 工具 - search: 搜索 - multimodal: 多模态 - communication: 通讯 + - finance: 金融 + - design: 设计 + - productivity: 生产力 + - news: 新闻 + - entertainment: 娱乐 + - social: 社交 + - scientific: 科学 - other: 其他 +- **secretInputList**: 密钥输入列表,其用于配置工具的`激活信息`,通常包含`密钥`、`Endpoint`、`Port`等。(见下面的 secretInputList 参数格式) - **versionList** (工具中配置)用于版本管理,是一个列表,其中的元素格式: - value:版本号,建议使用 semver - description: 描述 - - inputs 入参 - - outputs 返回值 -- **children**:(工具集 toolset 配置),需要将 tool import 后手动写入。 + - inputs 入参(见下面的 inputs 参数格式) + - outputs 返回值 (见下面的 outputs 参数格式) 对于 ToolSet 下的 tool 来说,无需填写 `type`、`courseUrl`、`author`,这几个字段会继承 ToolSet 的配置。 +#### secretInputList 参数格式 + +一般格式: +```ts +{ + key: 'key', // 唯一键 + label: '前端显示的 label', + description: '前端显示的 description', // 可选 + inputType: 'input' | 'secret' | 'switch' | 'select' | 'numberInput', // 前端输入框的类型 + // secret: 密钥输入框,密钥将在保存时进行对称加密保存在节点内或数据库中 + // switch: 开关 + // select: 下拉选择框 + // numberInput: 数字输入框 + // input: 普通输入框 +} +``` + +下面的例子是 dalle3 的相关配置:可以参考 [dalle3 的 config.ts](https://github.com/labring/fastgpt-plugin/blob/main/modules/tool/packages/dalle3/config.ts) + +```ts +{ + // 其他配置 + secretInputConfig: [ + { + key: 'url', + label: 'Dalle3 接口基础地址', + description: '例如:https://api.openai.com', + inputType: 'input', + required: true + }, + { + key: 'authorization', + label: '接口凭证(不需要 Bearer)', + description: 'sk-xxxx', + required: true, + inputType: 'secret' + } + ] +} +``` + #### inputs 参数格式 一般格式: @@ -92,42 +140,30 @@ package.json } ``` -有一个特殊的 key `'system_input_config'`,其用于配置工具的`激活信息`,通常包含`密钥`、`Endpoint`、`Port`等。 - -配置中`inputType=secret`的数据,将会通过对称加密的方式保存,以保证安全性。 - -**参考 dalle3**: - -``` -"inputs": [ - { - key: 'system_input_config', // 必须为这个值 - label: '', // 为空即可 - inputList: [ +dalle3 的 inputs 参数格式如下: +```ts +{ +//... + versionList: [ { - key: 'url', - label: 'Dalle3 接口基础地址', - description: '例如:https://api.openai.com', - required: true, - inputType: 'input' - }, - { - key: 'authorization', - label: '接口凭证(不需要 Bearer)', - description: 'sk-xxxx', - required: true, - inputType: 'secret' + // 其他配置 + inputs: [ + { + key: 'prompt', + label: '绘图提示词', + valueType: WorkflowIOValueTypeEnum.string, + renderTypeList: [FlowNodeInputTypeEnum.reference, FlowNodeInputTypeEnum.input], + toolDescription: '绘图提示词' + } + ], } - ], - renderTypeList: [FlowNodeInputTypeEnum.hidden], // 必须为这个值 - valueType: WorkflowIOValueTypeEnum.object // 必须为这个值 - }, -.... -] + // ... + ] +} ``` #### outputs 参数格式 -``` +```ts { key: 'link', // 唯一键值对 valueType: WorkflowIOValueTypeEnum.string, // 具体可以看这个 Enum 的类型定义 @@ -136,6 +172,34 @@ package.json } ``` +dalle3 的 outputs 参数格式如下: + + +```ts +{ + // ... + versionList: [ + { + // ... + outputs: [ + { + valueType: WorkflowIOValueTypeEnum.string, + key: 'link', + label: '图片访问链接', + description: '图片访问链接' + }, + { + type: FlowNodeOutputTypeEnum.error, + valueType: WorkflowIOValueTypeEnum.string, + key: 'system_error', + label: '错误信息' + } + ] + } + ], +} +``` + ## 2. 编写处理逻辑 在 `[your-tool-name]/src/index.ts` 为入口编写处理逻辑,需要注意: @@ -164,7 +228,7 @@ export async function tool(props: z.infer): Promise): Promise): Promise 如何向 FastGPT 社区提交系统插件 - -## 系统插件原则 - -- 尽可能的轻量简洁,以解决实际问题的工具为主 -- 不允许有密集 cpu 计算,不会占用大量内存占用或网络消耗 -- 不允许操作数据库 -- 不允许往固定的私人地址发送请求(不包含请求某些在线服务,例如 gapier, firecrawl等) -- 不允许使用私人包,可使用主流的开源包 - -## 什么插件可以合并 - -由于目前未采用按需安装的模式,合并进仓库的插件会全部展示给用户使用。 - -为了控制插件的质量以及避免数量过多带来的繁琐,并不是所有的插件都会被合并到开源仓库中,你可以提前 PR 与我们沟通插件的内容。 - -后续实现插件按需安装后,我们会允许更多的社区插件合入。 - -## 如何写一个系统插件 - 初步 - -FastGPT 系统插件和用户工作台的插件效果是一致的,所以你需要提前了解“插件”的定义和功能。 - -在 FastGPT 中,插件是一种特殊的工作流,它允许你将一个工作流封装起来,并自定义入口参数和出口参数,类似于代码里的 “子函数”。 - -1. ### 跑通 FastGPT dev 环境 - -需要在 dev 环境下执行下面的操作。 - -1. ### 在 FastGPT 工作台中,创建一个插件 - -选择基础模板即可。 - -![](/imgs/plugin_submission1.png) - -1. ### 创建系统插件配置 - -系统插件配置以及自定义代码,都会在 **packages/plugins** 目录下。 - -1. 在 **packages/plugins/src** 下,复制一份 **template** 目录,并修改名字。 -2. 打开目录里面的 template.json 文件,配置如下: -3. 目录还有一个 index.ts 文件,下文再提。 - -```typescript -{ - "author": "填写你的名字", - "version": "当前系统版本号", - "name": "插件名", - "avatar": "插件头像,需要配成 icon 格式。直接把 logo 图在 pr 评论区提交即可,我们会帮你加入。", - "intro": " 插件的描述,这个描述会影响工具调用", - "showStatus": false, // 是否在对话过程展示状态 - "weight": 10, // 排序权重,均默认 10 - - "isTool": true, // 是否作为工具调用节点 - "templateType": "tools", // 都填写 tools 即可,由官方来分类 - - "workflow": { // 这个对象先不管,待会直接粘贴导出的工作流即可 - "nodes": [], - "edges": [] - } -} -``` - -1. 打开 **packages/plugins/register** 文件,注册你的插件。在 list 数组中,加入一个你插件目录的名字,如下图的例子。如需构建插件组(带目录),可参考 DuckDuckGo 插件。 - -无需额外写代码的插件,直接放在 staticPluginList 内,需要在项目内额外写代码的,写在 packagePluginList 中。 - -![](/imgs/plugin_submission2.png) - -1. ### 完成工作流编排并测试 - -完成工作流编排后,可以点击右上角的发布,并在其他工作流中引入进行测试(此时属于团队插件)。 - -1. ### 复制配置到 template.json - -鼠标放置在左上角插件的头像和名称上,会出现对于下拉框操作,可以导出工作流配置。 - -导出的配置,会自动到剪切板,可以直接到 template.json 文件中粘贴使用,替换步骤 2 中,**workflow** 的值。 - -![](/imgs/plugin_submission3.png) - -1. ### 验证插件是否加载成功 - -刷新页面,打开系统插件,看其是否成功加载,并将其添加到工作流中使用。 - -![](/imgs/plugin_submission4.png) - -1. ### 提交 PR - -如果你觉得你的插件需要提交到开源仓库,可以通过 PR 形式向我们提交。 - -- 写清楚插件的介绍和功能 -- 配上插件运行的效果图 -- 插件参数填写说明,需要在 PR 中写清楚。例如,有些插件需要去某个提供商申请 key,需要附上对应的地址和教材,后续我们会加入到文档中。 - -## 写一个复杂的系统插件 - 进阶 - -这一章会介绍如何增加一些无法单纯通过编排实现的插件。因为可能需要用到网络请求或第三方包。 - -上一章提到,在插件的 **template** 目录下,还有一个 **index.ts** 文件,这个文件就是用来执行一些插件的代码的。你可以通过在 HTTP 节点中的 URL,填写插件的名字,即可触发该方法,下面以 **duckduckgo/search** 这个插件为例: - -![](/imgs/plugin_submission5.png) - -![](/imgs/plugin_submission6.png) - -![](/imgs/plugin_submission7.png) - -参考上面 3 张图片,当 HTTP 节点的 URL 为系统插件注册的名字时,该请求不会以 HTTP 形式发送,而是会请求到 index.ts 文件中的 main 方法。出入参则对应了 body 和自定义输出的字段名。 - -由于目前插件会默认插件输出均作为“工具调用”的结果,无法单独指定某些字段作为工具输出,所以,请避免插件的自定义输出携带大量说明字段。 diff --git a/document/content/docs/introduction/meta.json b/document/content/docs/introduction/meta.json index bbe177eaa..b1e1f761e 100644 --- a/document/content/docs/introduction/meta.json +++ b/document/content/docs/introduction/meta.json @@ -2,7 +2,7 @@ "title": "FastGPT Docs", "root": true, "pages": [ - "[Handshake][联系我们](https://fael3z0zfze.feishu.cn/share/base/form/shrcnRxj3utrzjywsom96Px4sud)", + "[Handshake][联系我们](https://fael3z0zfze.feishu.cn/share/base/form/shrcnjJWtKqjOI9NbQTzhNyzljc)", "index", "guide", "development", diff --git a/document/content/docs/introduction/shopping_cart/intro.mdx b/document/content/docs/introduction/shopping_cart/intro.mdx index 68b04cbc5..4308eb552 100644 --- a/document/content/docs/introduction/shopping_cart/intro.mdx +++ b/document/content/docs/introduction/shopping_cart/intro.mdx @@ -34,7 +34,7 @@ FastGPT 商业版是基于 FastGPT 开源版的增强版本,增加了一些独 ## 商业版软件价格 -FastGPT 商业版软件根据不同的部署方式,分为 3 类收费模式。下面列举各种部署方式一些常规内容,如仍有问题,可[联系咨询](https://fael3z0zfze.feishu.cn/share/base/form/shrcnRxj3utrzjywsom96Px4sud) +FastGPT 商业版软件根据不同的部署方式,分为 3 类收费模式。下面列举各种部署方式一些常规内容,如仍有问题,可[联系咨询](https://fael3z0zfze.feishu.cn/share/base/form/shrcnjJWtKqjOI9NbQTzhNyzljc) **共有服务** @@ -48,7 +48,7 @@ FastGPT 商业版软件根据不同的部署方式,分为 3 类收费模式。 | ---- | ---- | ---- | ---- | | Sealos全托管 | 1. 有效期内免费升级。
2. 免运维服务&数据库。 | 半天 | 10000元起/月(3个月起)

120000元起/年
8C32G 资源,额外资源另外收费。 | | Sealos全托管(多节点) | 1. 有效期内免费升级。
2. 免运维服务&数据库。 | 半天 | 22000元起/月(3个月起)

264000元起/年
32C128G 资源,额外资源另外收费。 | -| 自有服务器部署 | 1. 6个版本免费升级支持。 | 14天内 | 具体价格和优惠可[联系咨询](https://fael3z0zfze.feishu.cn/share/base/form/shrcnRxj3utrzjywsom96Px4sud) | +| 自有服务器部署 | 1. 6个版本免费升级支持。 | 14天内 | 具体价格和优惠可[联系咨询](https://fael3z0zfze.feishu.cn/share/base/form/shrcnjJWtKqjOI9NbQTzhNyzljc) | - 6个版本的升级服务不是指只能用 6 个版本,而是指依赖 FastGPT 团队提供的升级服务。大部分时候,建议自行升级,也不麻烦。 @@ -60,7 +60,7 @@ FastGPT 商业版软件根据不同的部署方式,分为 3 类收费模式。 ## 联系方式 -请填写[咨询问卷](https://fael3z0zfze.feishu.cn/share/base/form/shrcnRxj3utrzjywsom96Px4sud),我们会尽快与您联系。 +请填写[咨询问卷](https://fael3z0zfze.feishu.cn/share/base/form/shrcnjJWtKqjOI9NbQTzhNyzljc),我们会尽快与您联系。 ## 技术支持 @@ -102,4 +102,4 @@ Sealos 云服务属于按量计费,下面是它的价格表: | | | | | ---- | ---- | ---- | -| ![alt text](/imgs/image-55.png) | ![alt text](/imgs/image-56.png) | ![alt text](/imgs/image-57.png) | \ No newline at end of file +| ![alt text](/imgs/image-55.png) | ![alt text](/imgs/image-56.png) | ![alt text](/imgs/image-57.png) | diff --git a/document/data/doc-last-modified.json b/document/data/doc-last-modified.json index 3a8affa9d..e0702376e 100644 --- a/document/data/doc-last-modified.json +++ b/document/data/doc-last-modified.json @@ -155,7 +155,7 @@ "document/content/docs/introduction/guide/knowledge_base/websync.mdx": "2025-07-23T21:35:03+08:00", "document/content/docs/introduction/guide/knowledge_base/yuque_dataset.mdx": "2025-07-23T21:35:03+08:00", "document/content/docs/introduction/guide/plugins/bing_search_plugin.mdx": "2025-07-23T21:35:03+08:00", - "document/content/docs/introduction/guide/plugins/dev_system_tool.mdx": "2025-07-23T21:35:03+08:00", + "document/content/docs/introduction/guide/plugins/dev_system_tool.mdx": "2025-07-30T15:02:01+08:00", "document/content/docs/introduction/guide/plugins/doc2x_plugin_guide.mdx": "2025-07-23T21:35:03+08:00", "document/content/docs/introduction/guide/plugins/google_search_plugin_guide.mdx": "2025-07-23T21:35:03+08:00", "document/content/docs/introduction/guide/plugins/how_to_submit_system_plugin.mdx": "2025-07-23T21:35:03+08:00", @@ -187,4 +187,4 @@ "document/content/docs/use-cases/external-integration/official_account.mdx": "2025-07-23T21:35:03+08:00", "document/content/docs/use-cases/external-integration/openapi.mdx": "2025-07-23T21:35:03+08:00", "document/content/docs/use-cases/index.mdx": "2025-07-24T14:23:04+08:00" -} \ No newline at end of file +}