Commit 9c8b935c by Xianquan Committed by GitHub

docs: update 4.15.0 upgrade migrations (#7163)

* docs: update 4.15.0 upgrade guide

* docs: remove config json guide

* docs: add standalone sandbox deployment files

* doc

* yml

* doc

* action

* fix: test

* doc

* yml

---------

Co-authored-by: archer <545436317@qq.com>
parent 759fb3e4
name: Build fastgpt-code-sandbox images name: Build fastgpt-code-sandbox images
on: on:
workflow_dispatch: workflow_dispatch:
inputs:
version:
description: 'Image version tag (e.g. v4.15.0)'
required: true
type: string
push: push:
paths: paths:
- 'projects/code-sandbox/**' - 'projects/code-sandbox/**'
...@@ -15,14 +20,27 @@ jobs: ...@@ -15,14 +20,27 @@ jobs:
- name: Validate release version - name: Validate release version
id: version id: version
env: env:
VERSION: ${{ github.ref_name }} VERSION_INPUT: ${{ github.event.inputs.version }}
REF_TYPE: ${{ github.ref_type }} REF_TYPE: ${{ github.ref_type }}
REF_NAME: ${{ github.ref_name }}
EVENT_NAME: ${{ github.event_name }}
CURRENT_REF: ${{ github.ref }} CURRENT_REF: ${{ github.ref }}
run: | run: |
if [[ "$REF_TYPE" != "tag" || ! "$VERSION" =~ ^v ]]; then if [[ "$EVENT_NAME" == "workflow_dispatch" ]]; then
echo "::error::Release workflow must run on a tag starting with v. Current ref: ${CURRENT_REF}" VERSION="$VERSION_INPUT"
else
VERSION="$REF_NAME"
if [[ "$REF_TYPE" != "tag" ]]; then
echo "::error::Release workflow must run on a tag starting with v. Current ref: ${CURRENT_REF}"
exit 1
fi
fi
if [[ ! "$VERSION" =~ ^v ]]; then
echo "::error::Image version must start with v. Current value: ${VERSION}"
exit 1 exit 1
fi fi
echo "version=${VERSION}" >> "$GITHUB_OUTPUT" echo "version=${VERSION}" >> "$GITHUB_OUTPUT"
build-fastgpt-code-sandbox-images: build-fastgpt-code-sandbox-images:
...@@ -134,24 +152,25 @@ jobs: ...@@ -134,24 +152,25 @@ jobs:
- name: Create manifest list and push - name: Create manifest list and push
working-directory: ${{ runner.temp }}/digests working-directory: ${{ runner.temp }}/digests
timeout-minutes: 30
run: | run: |
retry_imagetools_create() { retry_imagetools_create() {
local tag="$1" local tag="$1"
local sources local sources
sources="$(printf 'ghcr.io/${{ github.repository_owner }}/fastgpt-code-sandbox@sha256:%s ' *)" sources="$(printf 'ghcr.io/${{ github.repository_owner }}/fastgpt-code-sandbox@sha256:%s ' *)"
for attempt in 1 2 3 4; do for attempt in 1 2 3 4 5 6; do
if docker buildx imagetools create -t "$tag" $sources; then if docker buildx imagetools create -t "$tag" $sources; then
return 0 return 0
fi fi
if [ "$attempt" -eq 4 ]; then if [ "$attempt" -eq 6 ]; then
echo "::error::Failed to push manifest ${tag} after 3 retries." echo "::error::Failed to push manifest ${tag} after 5 retries."
return 1 return 1
fi fi
echo "::warning::Failed to push manifest ${tag}; retrying in $((attempt * 15)) seconds (${attempt}/3)." echo "::warning::Failed to push manifest ${tag}; retrying in $((attempt * 60)) seconds (${attempt}/5)."
sleep $((attempt * 15)) sleep $((attempt * 60))
done done
} }
......
...@@ -46,6 +46,10 @@ ...@@ -46,6 +46,10 @@
"[typescriptreact]": { "[typescriptreact]": {
"editor.defaultFormatter": "esbenp.prettier-vscode" "editor.defaultFormatter": "esbenp.prettier-vscode"
}, },
"yaml.format.enable": false,
"[yaml]": {
"editor.formatOnSave": false,
},
"mdx.server.enable": true, "mdx.server.enable": true,
"markdown.copyFiles.overwriteBehavior": "nameIncrementally", "markdown.copyFiles.overwriteBehavior": "nameIncrementally",
"markdown.copyFiles.destination": { "markdown.copyFiles.destination": {
......
...@@ -179,7 +179,7 @@ services: ...@@ -179,7 +179,7 @@ services:
retries: 3 retries: 3
fastgpt-code-sandbox: fastgpt-code-sandbox:
container_name: fastgpt-code-sandbox container_name: fastgpt-code-sandbox
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox:v4.15.0-beta1 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox:v4.15.0
ports: ports:
- 3002:3000 - 3002:3000
networks: networks:
...@@ -235,7 +235,7 @@ services: ...@@ -235,7 +235,7 @@ services:
retries: 3 retries: 3
fastgpt-mcp-server: fastgpt-mcp-server:
container_name: fastgpt-mcp-server container_name: fastgpt-mcp-server
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.15.0-beta1 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.14.23
ports: ports:
- 3003:3000 - 3003:3000
networks: networks:
...@@ -245,7 +245,7 @@ services: ...@@ -245,7 +245,7 @@ services:
<<: [*x-no-proxy-config] <<: [*x-no-proxy-config]
FASTGPT_ENDPOINT: http://fastgpt:3000 FASTGPT_ENDPOINT: http://fastgpt:3000
fastgpt-plugin: fastgpt-plugin:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-plugin:v0.6.2 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-plugin:v1.0.0
container_name: fastgpt-plugin container_name: fastgpt-plugin
restart: always restart: always
ports: ports:
...@@ -341,7 +341,7 @@ services: ...@@ -341,7 +341,7 @@ services:
# AI Proxy # AI Proxy
fastgpt-aiproxy: fastgpt-aiproxy:
image: registry.cn-hangzhou.aliyuncs.com/labring/aiproxy:v0.5.8 image: registry.cn-hangzhou.aliyuncs.com/labring/aiproxy:v0.6.5
container_name: fastgpt-aiproxy container_name: fastgpt-aiproxy
restart: unless-stopped restart: unless-stopped
ports: ports:
......
...@@ -179,7 +179,7 @@ services: ...@@ -179,7 +179,7 @@ services:
retries: 3 retries: 3
fastgpt-code-sandbox: fastgpt-code-sandbox:
container_name: fastgpt-code-sandbox container_name: fastgpt-code-sandbox
image: ghcr.io/labring/fastgpt-code-sandbox:v4.15.0-beta1 image: ghcr.io/labring/fastgpt-code-sandbox:v4.15.0
ports: ports:
- 3002:3000 - 3002:3000
networks: networks:
...@@ -235,7 +235,7 @@ services: ...@@ -235,7 +235,7 @@ services:
retries: 3 retries: 3
fastgpt-mcp-server: fastgpt-mcp-server:
container_name: fastgpt-mcp-server container_name: fastgpt-mcp-server
image: ghcr.io/labring/fastgpt-mcp_server:v4.15.0-beta1 image: ghcr.io/labring/fastgpt-mcp_server:v4.14.23
ports: ports:
- 3003:3000 - 3003:3000
networks: networks:
...@@ -245,7 +245,7 @@ services: ...@@ -245,7 +245,7 @@ services:
<<: [*x-no-proxy-config] <<: [*x-no-proxy-config]
FASTGPT_ENDPOINT: http://fastgpt:3000 FASTGPT_ENDPOINT: http://fastgpt:3000
fastgpt-plugin: fastgpt-plugin:
image: ghcr.io/labring/fastgpt-plugin:v0.6.2 image: ghcr.io/labring/fastgpt-plugin:v1.0.0
container_name: fastgpt-plugin container_name: fastgpt-plugin
restart: always restart: always
ports: ports:
...@@ -341,7 +341,7 @@ services: ...@@ -341,7 +341,7 @@ services:
# AI Proxy # AI Proxy
fastgpt-aiproxy: fastgpt-aiproxy:
image: ghcr.io/labring/aiproxy:v0.5.8 image: ghcr.io/labring/aiproxy:v0.6.5
container_name: fastgpt-aiproxy container_name: fastgpt-aiproxy
restart: unless-stopped restart: unless-stopped
ports: ports:
......
...@@ -175,18 +175,20 @@ const loadArgs = (version) => { ...@@ -175,18 +175,20 @@ const loadArgs = (version) => {
}; };
/** /**
* replace all ${{}} * 替换模板中的占位符。
*
* YAML 块占位符应写成独立注释行(如 `# ${{vec.db}}`),这样模板文件本身
* 仍能按 YAML 解析;普通镜像/tag 变量仍可写在行内。
*
* @param {string} source * @param {string} source
* @param {RegionEnum} region * @param {RegionEnum} region
* @param {string | undefined} vec * @param {string | undefined} vec
* @param {Record<Services, ArgItemType>} args * @param {Record<Services, ArgItemType>} args
* @param {Record<string, { filename: string, db: string, config: string, extra: string }>} vectors * @param {Record<string, { filename: string, db: string, config: string, extra: string, extraBlock: string }>} vectors
* @returns {string} * @returns {string}
*/ */
const replace = (source, region, vec, args, vectors) => { const replace = (source, region, vec, args, vectors) => {
// Match ${{expr}}, capture "expr" inside {{}} const resolveExpr = (expr) => {
return source.replace(/\$\{\{([^}]*)\}\}/g, (_, expr) => {
// expr: a.b
/** /**
* @type {String} * @type {String}
*/ */
...@@ -208,7 +210,14 @@ const replace = (source, region, vec, args, vectors) => { ...@@ -208,7 +210,14 @@ const replace = (source, region, vec, args, vectors) => {
} else if (b === 'image') { } else if (b === 'image') {
return args[a].image[region]; return args[a].image[region];
} }
}); };
return source
.replace(/^[^\S\r\n]*#\s*\$\{\{([^}]*)\}\}[^\S\r\n]*(?:\r?\n|$)/gm, (_, expr) => {
const value = resolveExpr(expr);
return value ? `${value}\n` : '';
})
.replace(/\$\{\{([^}]*)\}\}/g, (_, expr) => resolveExpr(expr));
}; };
const formatYamlOutput = (source) => `${source.trimEnd()}\n`; const formatYamlOutput = (source) => `${source.trimEnd()}\n`;
......
{ {
"tags": { "tags": {
"fastgpt": "v4.15.0-beta1", "fastgpt": "v4.15.0",
"fastgpt-code-sandbox": "v4.15.0-beta1", "fastgpt-code-sandbox": "v4.15.0",
"fastgpt-mcp_server": "v4.15.0-beta1", "fastgpt-plugin": "v1.0.0",
"fastgpt-plugin": "v0.6.2",
"volume-manager": "v0.2.0", "volume-manager": "v0.2.0",
"agent-sandbox-image": "v0.2.0", "agent-sandbox-image": "v0.2.0",
"aiproxy": "v0.5.8", "aiproxy": "v0.6.5",
"fastgpt-mcp_server": "v4.14.23",
"opensandbox-server": "v0.1.9", "opensandbox-server": "v0.1.9",
"opensandbox-execd": "v1.0.7", "opensandbox-execd": "v1.0.7",
......
...@@ -44,11 +44,10 @@ x-no-proxy-config: &x-no-proxy-config ...@@ -44,11 +44,10 @@ x-no-proxy-config: &x-no-proxy-config
# 向量库相关配置 # 向量库相关配置
x-vec-config: &x-vec-config x-vec-config: &x-vec-config
${{vec.config}} # ${{vec.config}}
services: services:
# Vector DB # ${{vec.db}}
${{vec.db}}
fastgpt-mongo: fastgpt-mongo:
image: ${{mongo.image}}:${{mongo.tag}} # cpu 不支持 AVX 时候使用 4.4.29 image: ${{mongo.image}}:${{mongo.tag}} # cpu 不支持 AVX 时候使用 4.4.29
container_name: fastgpt-mongo container_name: fastgpt-mongo
...@@ -232,11 +231,6 @@ ${{vec.db}} ...@@ -232,11 +231,6 @@ ${{vec.db}}
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
read_only: true
tmpfs:
- /tmp:size=128m,noexec,nosuid,nodev
cap_drop:
- ALL
security_opt: security_opt:
- no-new-privileges:true - no-new-privileges:true
environment: environment:
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
"tags": { "tags": {
"fastgpt": "v4.14.26", "fastgpt": "v4.14.26",
"fastgpt-code-sandbox": "v4.14.22", "fastgpt-code-sandbox": "v4.14.22",
"fastgpt-mcp_server": "v4.14.22", "fastgpt-mcp_server": "v4.14.23",
"fastgpt-plugin": "v0.6.2", "fastgpt-plugin": "v0.6.2",
"volume-manager": "v0.1.2", "volume-manager": "v0.1.2",
"agent-sandbox-image": "v0.1.2", "agent-sandbox-image": "v0.1.2",
......
...@@ -46,11 +46,10 @@ x-no-proxy-config: &x-no-proxy-config ...@@ -46,11 +46,10 @@ x-no-proxy-config: &x-no-proxy-config
# 向量库相关配置 # 向量库相关配置
x-vec-config: &x-vec-config x-vec-config: &x-vec-config
${{vec.config}} # ${{vec.config}}
services: services:
# Vector DB # ${{vec.db}}
${{vec.db}}
fastgpt-mongo: fastgpt-mongo:
image: ${{mongo.image}}:${{mongo.tag}} # cpu 不支持 AVX 时候使用 4.4.29 image: ${{mongo.image}}:${{mongo.tag}} # cpu 不支持 AVX 时候使用 4.4.29
container_name: fastgpt-mongo container_name: fastgpt-mongo
......
{
"tags": {
"fastgpt": "v4.15.0",
"fastgpt-code-sandbox": "v4.15.0",
"fastgpt-plugin": "v1.0.0",
"volume-manager": "v0.2.0",
"agent-sandbox-image": "v0.2.0",
"agent-sandbox-proxy": "v0.2.0",
"aiproxy": "v0.6.5",
"fastgpt-mcp_server": "v4.14.23",
"aiproxy-pg": "0.8.0-pg15",
"mongo": "5.0.32",
"redis": "7.2-alpine",
"minio": "RELEASE.2025-09-07T16-13-09Z",
"pg": "0.8.0-pg15",
"milvus-minio": "RELEASE.2023-03-20T20-16-18Z",
"milvus-etcd": "v3.5.5",
"milvus-standalone": "v2.4.3",
"oceanbase": "4.3.5-lts",
"seekdb": "1.0.1.0-100000392025122619"
},
"images": {
"cn": {
"fastgpt": "registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt",
"fastgpt-plugin": "registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-plugin",
"fastgpt-code-sandbox": "registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox",
"fastgpt-mcp_server": "registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server",
"volume-manager": "registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-volume-manager",
"agent-sandbox-image": "registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-sandbox",
"agent-sandbox-proxy": "registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-sandbox-proxy",
"opensandbox-server": "registry.cn-hangzhou.aliyuncs.com/fastgpt/opensandbox-server",
"opensandbox-execd": "registry.cn-hangzhou.aliyuncs.com/fastgpt/opensandbox-execd",
"opensandbox-egress": "registry.cn-hangzhou.aliyuncs.com/fastgpt/opensandbox-egress",
"aiproxy": "registry.cn-hangzhou.aliyuncs.com/labring/aiproxy",
"aiproxy-pg": "registry.cn-hangzhou.aliyuncs.com/fastgpt/pgvector",
"mongo": "registry.cn-hangzhou.aliyuncs.com/fastgpt/mongo",
"redis": "registry.cn-hangzhou.aliyuncs.com/fastgpt/redis",
"minio": "registry.cn-hangzhou.aliyuncs.com/fastgpt/minio",
"pg": "registry.cn-hangzhou.aliyuncs.com/fastgpt/pgvector",
"milvus-minio": "minio/minio",
"milvus-etcd": "quay.io/coreos/etcd",
"milvus-standalone": "milvusdb/milvus",
"oceanbase": "oceanbase/oceanbase-ce",
"seekdb": "oceanbase/seekdb"
},
"global": {
"fastgpt": "ghcr.io/labring/fastgpt",
"fastgpt-plugin": "ghcr.io/labring/fastgpt-plugin",
"fastgpt-code-sandbox": "ghcr.io/labring/fastgpt-code-sandbox",
"fastgpt-mcp_server": "ghcr.io/labring/fastgpt-mcp_server",
"volume-manager": "ghcr.io/labring/fastgpt-agent-volume-manager",
"agent-sandbox-image": "ghcr.io/labring/fastgpt-agent-sandbox",
"agent-sandbox-proxy": "ghcr.io/labring/fastgpt-agent-sandbox-proxy",
"opensandbox-server": "opensandbox/server",
"opensandbox-execd": "opensandbox/execd",
"opensandbox-egress": "opensandbox/egress",
"aiproxy": "ghcr.io/labring/aiproxy",
"aiproxy-pg": "pgvector/pgvector",
"mongo": "mongo",
"redis": "redis",
"minio": "minio/minio",
"pg": "pgvector/pgvector",
"milvus-minio": "minio/minio",
"milvus-etcd": "quay.io/coreos/etcd",
"milvus-standalone": "milvusdb/milvus",
"oceanbase": "oceanbase/oceanbase-ce",
"seekdb": "oceanbase/seekdb"
}
}
}
---
title: Configuration File Guide
description: FastGPT configuration parameters explained
---
Since environment variables aren't ideal for complex configurations, newer versions of FastGPT use ConfigMap-style mounted configuration files. You can find the default config at `projects/app/data/config.json`. See the [Docker Compose deployment guide](../deploy/docker.en.mdx) for how to mount the config file.
**In development**, copy the example config `config.json` to `config.local.json` for it to take effect.
The example below includes system parameters and model configurations:
## Config File Example (v4.8.20+)
> Starting from v4.8.20, models are configured through the UI.
```json
{
"feConfigs": {},
"systemEnv": {
"vectorMaxProcess": 15, // Vector processing thread count
"qaMaxProcess": 15, // Q&A splitting thread count
"vlmMaxProcess": 15, // Vision-language model max processing threads
"hnswEfSearch": 100, // Vector search parameter (PG and OB only). Higher = more accurate but slower. 100 gives 99%+ accuracy.
"customPdfParse": {
// Added in v4.9.0
"url": "", // Custom PDF parsing service URL
"key": "", // Custom PDF parsing service key
"doc2xKey": "", // Doc2x service key
"price": 0 // PDF parsing service price
}
}
}
```
## Custom PDF Parsing Configuration
Custom PDF parsing takes priority over Doc2x. If you're using Doc2x, don't configure a custom PDF service.
### Using Sealos PDF Parsing Service
#### 1. Get a Sealos AI Proxy API Key
[Open Sealos PDF Parser](https://hzh.sealos.run/?uid=fnWRt09fZP&openapp=system-aiproxy) and apply for an API key.
#### 2. Update FastGPT Configuration
Set `systemEnv.customPdfParse.url` to `https://aiproxy.hzh.sealos.run/v1/parse/pdf?model=parse-pdf`
Set `systemEnv.customPdfParse.key` to the API key from Sealos AI Proxy.
### Using Doc2x for PDF Parsing
`Doc2x` is a professional PDF parsing service.
#### 1. Sign Up for Doc2x
[Open Doc2x website](https://doc2x.noedgeai.com?inviteCode=9EACN2) and apply for an API key.
#### 2. Update FastGPT Configuration
Community Edition users: add `systemEnv.customPdfParse.doc2xKey` to your `config.json` with the API key, then restart the service.
Commercial Edition users: fill in the Doc2x service key in the Admin dashboard following the form instructions.
#### 3. Start Using It
When importing data to your knowledge base or configuring file uploads in your app, check `Enhanced PDF Parsing`. PDFs will then be parsed using the Doc2x service.
### Using Marker for PDF Parsing
[View the Marker integration tutorial](../custom-models/marker.en.mdx)
---
title: config.json 文件配置
description: FastGPT config.json 文件配置
---
**该配置仅适用于社区版,商业版用户该配置已集成至后台。**
由于环境变量不利于配置复杂的内容,新版 FastGPT 采用了 ConfigMap 的形式挂载配置文件,你可以在 `projects/app/data/config.json` 看到默认的配置文件。可以参考 [docker-compose 快速部署](../deploy/docker.mdx) 来挂载配置文件。
**开发环境下**,你需要将示例配置文件 `config.json` 复制成 `config.local.json` 文件才会生效。
下面配置文件示例中包含了系统参数和各个模型配置:
## 4.8.20+ 版本新配置文件示例
> 从 4.8.20 版本开始,模型在页面中进行配置。
```json
{
"feConfigs": {},
"systemEnv": {
"vectorMaxProcess": 15, // 向量处理线程数量
"qaMaxProcess": 15, // 问答拆分线程数量
"vlmMaxProcess": 15, // 图片理解模型最大处理进程
"hnswEfSearch": 100, // 向量搜索参数,仅对 PG 和 OB 生效。越大,搜索越精确,但是速度越慢。设置为100,有99%+精度。
"customPdfParse": {
// 4.9.0 新增配置
"url": "", // 自定义 PDF 解析服务地址
"key": "", // 自定义 PDF 解析服务密钥
"doc2xKey": "", // doc2x 服务密钥
"price": 0 // PDF 解析服务价格
}
}
}
```
## 自定义 PDF 解析配置
自定义 PDF 服务解析的优先级高于 Doc2x 服务,所以如果使用 Doc2x 服务,请勿配置自定义 PDF 服务。
### 使用 Sealos PDF 解析服务
#### 1. 申请 Sealos AI proxy API Key
[点击打开 Sealos PDF parser 官网](https://hzh.sealos.run/?uid=fnWRt09fZP&openapp=system-aiproxy),并进行对应 API Key 的申请。
#### 2. 修改 FastGPT 配置文件
`systemEnv.customPdfParse.url` 填写成 `https://aiproxy.hzh.sealos.run/v1/parse/pdf?model=parse-pdf`
`systemEnv.customPdfParse.key` 填写成在 Sealos AI proxy 中申请的 API Key。
### 使用 Doc2x 解析 PDF 文件
`Doc2x` 是一个国内提供专业 PDF 解析。
#### 1. 申请 Doc2x 服务
[点击打开 Doc2x 官网](https://doc2x.noedgeai.com?inviteCode=9EACN2),并进行对应 API Key 的申请。
#### 2. 修改 FastGPT 配置文件
社区版用户在 `config.json` 文件中添加 `systemEnv.customPdfParse.doc2xKey` 配置,并填写上申请到的 API Key。并重启服务。
商业版用户在 Admin 后台根据表单指引填写 Doc2x 服务密钥。
#### 3. 开始使用
在知识库导入数据或应用文件上传配置中,可以勾选 `PDF 增强解析`,则在对 PDF 解析时候,会使用 Doc2x 服务进行解析。
### 使用 Marker 解析 PDF 文件
[点击查看 Marker 接入教程](../custom-models/marker.mdx)
{ {
"title": "Configuration", "title": "Configuration",
"description": "FastGPT self-hosting configuration", "description": "FastGPT self-hosting configuration",
"pages": ["model", "sandbox", "object-storage", "json", "env", "signoz", "remote-debug-suite"] "pages": ["model", "sandbox", "object-storage", "env", "signoz", "remote-debug-suite"]
} }
{ {
"title": "配置说明", "title": "配置说明",
"description": "FastGPT 自部署配置", "description": "FastGPT 自部署配置",
"pages": ["model", "sandbox", "object-storage", "json", "env", "signoz", "remote-debug-suite"] "pages": ["model", "sandbox", "object-storage", "env", "signoz", "remote-debug-suite"]
} }
{ {
"title": "Sandbox Configuration", "title": "Sandbox Configuration",
"description": "FastGPT Agent Sandbox deployment configuration", "description": "FastGPT Agent Sandbox deployment configuration",
"pages": ["common", "sealosdevbox"] "pages": ["common", "sealosdevbox", "opensandbox"]
} }
{ {
"title": "沙盒配置", "title": "沙盒配置",
"description": "FastGPT Agent Sandbox 部署配置", "description": "FastGPT Agent Sandbox 部署配置",
"pages": ["common", "sealosdevbox"] "pages": ["common", "sealosdevbox", "opensandbox"]
} }
---
title: OpenSandbox Deployment
description: Use self-hosted OpenSandbox with FastGPT Agent Sandbox
---
OpenSandbox is suitable when you want to self-host the Agent/Skill sandbox runtime. Before starting, complete [General Sandbox Configuration](./common), make sure `fastgpt-agent-sandbox-proxy` is deployed, and configure the same `AGENT_SANDBOX_PROXY_SECRET` and browser-accessible `AGENT_SANDBOX_PROXY_URL` in both `fastgpt-app` and `fastgpt-pro`.
The OpenSandbox setup flow is below.
## 1. Add yml services
Use [opensandbox.yml](/deploy/docker/v4.15/opensandbox.yml) as a reference. Add `fastgpt-opensandbox-server`, `fastgpt-volume-manager`, the image pre-pull services, and `opensandbox-config` to your current FastGPT `docker-compose.yml`. Place them on the same `app` network as the FastGPT App service. You do not need to expose OpenSandbox or Volume Manager ports publicly. Deploy Agent Sandbox Proxy separately as described in [General Sandbox Configuration](./common).
The sample uses China Mainland image registries. For deployments outside China Mainland, replace them with:
- `opensandbox/server:v0.1.9`
- `ghcr.io/labring/fastgpt-agent-sandbox:v0.2.0`
- `opensandbox/execd:v1.0.6`
- `opensandbox/egress:v1.0.1`
- `ghcr.io/labring/fastgpt-agent-volume-manager:v0.2.0`
## 2. Update OpenSandbox variables
Only the following values usually need to be changed:
| Setting | Description |
| ----------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| `x-volume-manager-auth-token` | Authentication token for `fastgpt-volume-manager`. It must match `AGENT_SANDBOX_OPENSANDBOX_VOLUME_MANAGER_TOKEN` in FastGPT. |
| `[server].api_key` | OpenSandbox Server API key. It must match `AGENT_SANDBOX_OPENSANDBOX_API_KEY` in FastGPT. |
Docker runtime requires mounting the host Docker socket. The default Docker path is usually `/var/run/docker.sock`; environments such as OrbStack may require replacing it with the actual socket path.
If the server has `HTTP_PROXY` / `HTTPS_PROXY` configured, set `NO_PROXY` / `no_proxy` for OpenSandbox Server and Volume Manager. Include at least `localhost,127.0.0.1,127.0.0.0/8,fastgpt-opensandbox-server,fastgpt-volume-manager,host.docker.internal` to prevent internal service calls from being routed through the proxy. OrbStack/Docker may inject IPv6 CIDR entries into `NO_PROXY`; httpx used by OpenSandbox may parse unbracketed IPv6 CIDR values as invalid URL ports. Explicitly override `NO_PROXY` if you hit that startup issue.
## 3. Update FastGPT variables
Add or update the following environment variables in both `fastgpt-app` and `fastgpt-pro`:
```dotenv
# Enable OpenSandbox as the Agent Sandbox provider
AGENT_SANDBOX_PROVIDER=opensandbox
# Internal URL for FastGPT to access OpenSandbox Server
AGENT_SANDBOX_OPENSANDBOX_BASEURL=http://fastgpt-opensandbox-server:8090
# OpenSandbox API key. Must match [server].api_key in opensandbox-config.
AGENT_SANDBOX_OPENSANDBOX_API_KEY=replace_with_opensandbox_api_key
# Docker compose deployments use docker runtime
AGENT_SANDBOX_OPENSANDBOX_RUNTIME=docker
# Runtime image used when OpenSandbox creates Agent Sandbox instances
AGENT_SANDBOX_OPENSANDBOX_IMAGE_REPO=registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-sandbox
AGENT_SANDBOX_OPENSANDBOX_IMAGE_TAG=v0.2.0
AGENT_SANDBOX_OPENSANDBOX_USE_SERVER_PROXY=true
# Persistent volume manager URL and token. The token must match x-volume-manager-auth-token.
AGENT_SANDBOX_OPENSANDBOX_VOLUME_MANAGER_URL=http://fastgpt-volume-manager:3000
AGENT_SANDBOX_OPENSANDBOX_VOLUME_MANAGER_TOKEN=replace_with_volume_manager_token
```
If your `docker-compose.yml` already uses `x-agent-sandbox-config` to inject Agent Sandbox variables, fill these values in that anchor so both `fastgpt-app` and `fastgpt-pro` inherit the same configuration.
## 4. Start and verify
1. Pre-pull the sandbox runtime images:
```bash
docker compose --profile prepull pull opensandbox-agent-sandbox-image opensandbox-execd-image opensandbox-egress-image
```
2. Start or restart the related services:
```bash
docker compose up -d fastgpt-opensandbox-server fastgpt-volume-manager fastgpt-app fastgpt-pro
```
3. Check service health inside the container network:
```bash
docker compose exec fastgpt-opensandbox-server python -c "import urllib.request; print(urllib.request.urlopen('http://localhost:8090/health', timeout=5).read().decode())"
docker compose exec fastgpt-volume-manager node -e "fetch('http://localhost:3000/health').then(async r => { console.log(await r.text()); if (!r.ok) process.exit(1); })"
```
OpenSandbox should return `OK`, and `fastgpt-volume-manager` should return a health JSON response. See [General Sandbox Configuration](./common) for Agent Sandbox Proxy verification.
4. Log in to FastGPT and open a scenario that supports Agent Sandbox, such as Agent V2 VM, Skill editing, or Skill debugging. Confirm that the sandbox can be created and that the file tree and terminal open normally.
## FAQ
### Sandbox provider apiKey is required for opensandbox
Check that both `fastgpt-app` and `fastgpt-pro` have `AGENT_SANDBOX_OPENSANDBOX_API_KEY` configured, and make sure it matches `[server].api_key` in `opensandbox-config`.
### AGENT_SANDBOX_OPENSANDBOX_VOLUME_MANAGER_URL is required
OpenSandbox mode requires deploying `fastgpt-volume-manager` and configuring `AGENT_SANDBOX_OPENSANDBOX_VOLUME_MANAGER_URL` and `AGENT_SANDBOX_OPENSANDBOX_VOLUME_MANAGER_TOKEN` in FastGPT.
### The sandbox is created, but the file tree or terminal fails to connect
Check that `AGENT_SANDBOX_PROXY_URL` is a browser-accessible `ws://` or `wss://` URL and that your reverse proxy supports WebSocket Upgrade. If the FastGPT main site uses HTTPS, the proxy URL should use `wss://`.
### proxy cannot connect to the sandbox endpoint
Check `[docker].host_ip` in `opensandbox-config` first. When OpenSandbox Server runs in a container, sandbox endpoints using `localhost` or `127.0.0.1` are not reachable from the proxy container. Use the host's internal IP or `host.docker.internal`.
---
title: OpenSandbox 部署
description: FastGPT 使用 OpenSandbox 自托管 Agent Sandbox
---
OpenSandbox 适合需要自托管 Agent/Skill 沙盒运行环境的场景。开始前,请先完成[沙盒通用配置](./common),确保 `fastgpt-agent-sandbox-proxy` 已部署,并且 `fastgpt-app`、`fastgpt-pro` 已配置相同的 `AGENT_SANDBOX_PROXY_SECRET` 和可被浏览器访问的 `AGENT_SANDBOX_PROXY_URL`。
下面是 OpenSandbox 部署和配置流程。
## 1. 添加 yml service
参考 [opensandbox.yml](/deploy/docker/v4.15/opensandbox.yml),将 `fastgpt-opensandbox-server`、`fastgpt-volume-manager`、预拉取镜像和 `opensandbox-config` 加入当前 FastGPT 部署的 `docker-compose.yml`,并放到 FastGPT App 所在的 `app` network 中;不需要对外暴露 OpenSandbox 或 Volume Manager 端口。Agent Sandbox Proxy 请按[沙盒通用配置](./common)单独部署。
下面示例使用国内镜像源。海外部署可将镜像替换为:
- `opensandbox/server:v0.1.9`
- `ghcr.io/labring/fastgpt-agent-sandbox:v0.2.0`
- `opensandbox/execd:v1.0.6`
- `opensandbox/egress:v1.0.1`
- `ghcr.io/labring/fastgpt-agent-volume-manager:v0.2.0`
## 2. 修改 OpenSandbox 变量
根据实际部署环境修改下面变量:
| 配置 | 说明 |
| ----------------------------- | ------------------------------------------------------------------------------------------------------------------ |
| `x-volume-manager-auth-token` | `fastgpt-volume-manager` 的认证 Token,需要与 FastGPT 里的 `AGENT_SANDBOX_OPENSANDBOX_VOLUME_MANAGER_TOKEN` 一致。 |
| `[server].api_key` | OpenSandbox Server API Key,需要与 FastGPT 里的 `AGENT_SANDBOX_OPENSANDBOX_API_KEY` 一致。 |
Docker runtime 必须挂载宿主机 Docker socket。Docker 默认路径通常是 `/var/run/docker.sock`;OrbStack 等环境需要替换为实际 socket 路径。
如果服务器配置了 `HTTP_PROXY` / `HTTPS_PROXY`,建议给 OpenSandbox Server 和 Volume Manager 补充 `NO_PROXY` / `no_proxy`,至少包含 `localhost,127.0.0.1,127.0.0.0/8,fastgpt-opensandbox-server,fastgpt-volume-manager,host.docker.internal`,避免内部服务调用被代理劫持。OrbStack/Docker 可能自动注入包含 IPv6 CIDR 的 `NO_PROXY`,OpenSandbox 依赖的 httpx 可能把未加方括号的 IPv6 CIDR 误解析成 URL 端口,导致启动失败;遇到该问题时应显式覆盖 `NO_PROXY`。
## 3. 修改 FastGPT 相关变量
在 `fastgpt-app` 和 `fastgpt-pro` 中增加或修改下面环境变量:
```dotenv
# 启用 OpenSandbox 作为 Agent Sandbox provider
AGENT_SANDBOX_PROVIDER=opensandbox
# FastGPT 主服务访问 OpenSandbox Server 的内网地址
AGENT_SANDBOX_OPENSANDBOX_BASEURL=http://fastgpt-opensandbox-server:8090
# OpenSandbox 访问密钥,需要与 opensandbox-config 里的 [server].api_key 一致
AGENT_SANDBOX_OPENSANDBOX_API_KEY=replace_with_opensandbox_api_key
# Docker compose 部署使用 docker runtime
AGENT_SANDBOX_OPENSANDBOX_RUNTIME=docker
# OpenSandbox 创建 Agent Sandbox 时使用的运行态镜像
AGENT_SANDBOX_OPENSANDBOX_IMAGE_REPO=registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-agent-sandbox
AGENT_SANDBOX_OPENSANDBOX_IMAGE_TAG=v0.2.0
AGENT_SANDBOX_OPENSANDBOX_USE_SERVER_PROXY=true
# 持久卷管理服务地址和 Token,需要与 x-volume-manager-auth-token 一致。
AGENT_SANDBOX_OPENSANDBOX_VOLUME_MANAGER_URL=http://fastgpt-volume-manager:3000
AGENT_SANDBOX_OPENSANDBOX_VOLUME_MANAGER_TOKEN=replace_with_volume_manager_token
```
如果你的 `docker-compose.yml` 已经使用 `x-agent-sandbox-config` 统一注入 Agent Sandbox 变量,可直接在该 anchor 中填入上述值,确保 `fastgpt-app` 和 `fastgpt-pro` 都继承该配置。
## 4. 启动验证
1. 预拉取沙盒运行时镜像:
```bash
docker compose --profile prepull pull opensandbox-agent-sandbox-image opensandbox-execd-image opensandbox-egress-image
```
2. 启动或重启相关服务:
```bash
docker compose up -d fastgpt-opensandbox-server fastgpt-volume-manager fastgpt-app fastgpt-pro
```
3. 在容器网络内检查服务健康状态:
```bash
docker compose exec fastgpt-opensandbox-server python -c "import urllib.request; print(urllib.request.urlopen('http://localhost:8090/health', timeout=5).read().decode())"
docker compose exec fastgpt-volume-manager node -e "fetch('http://localhost:3000/health').then(async r => { console.log(await r.text()); if (!r.ok) process.exit(1); })"
```
正常情况下,OpenSandbox 的健康检查会返回 `OK`,`fastgpt-volume-manager` 会返回健康状态 JSON。Agent Sandbox Proxy 的验证方式见[沙盒通用配置](./common)。
4. 登录 FastGPT,打开支持 Agent Sandbox 的场景,例如 Agent V2 虚拟机、Skill 编辑或 Skill 调试,确认可以正常创建沙盒、打开文件树和终端。
## 常见问题
### 提示 Sandbox provider apiKey is required for opensandbox
检查 `fastgpt-app` 和 `fastgpt-pro` 是否配置了 `AGENT_SANDBOX_OPENSANDBOX_API_KEY`,并确认它与 `opensandbox-config` 中的 `[server].api_key` 一致。
### 提示 AGENT_SANDBOX_OPENSANDBOX_VOLUME_MANAGER_URL is required
OpenSandbox 模式需要部署 `fastgpt-volume-manager`,并在 FastGPT 中配置 `AGENT_SANDBOX_OPENSANDBOX_VOLUME_MANAGER_URL` 和 `AGENT_SANDBOX_OPENSANDBOX_VOLUME_MANAGER_TOKEN`。
### 沙盒创建成功,但文件树或终端连接失败
检查 `AGENT_SANDBOX_PROXY_URL` 是否是浏览器可访问的 `ws://` 或 `wss://` 地址,并确认反向代理支持 WebSocket Upgrade。如果 FastGPT 主站使用 HTTPS,proxy 地址也应使用 `wss://`。
### proxy 无法连接沙盒 endpoint
优先检查 `opensandbox-config` 的 `[docker].host_ip`。当 OpenSandbox Server 运行在容器内时,沙盒 endpoint 里的 `localhost` 或 `127.0.0.1` 对 proxy 容器不可达,通常需要改成宿主机内网 IP 或 `host.docker.internal`。
--- ---
title: Deploy with Docker-compose title: Deploy with Docker Compose
description: Quickly deploy FastGPT using Docker Compose description: Quickly deploy FastGPT using Docker Compose
--- ---
...@@ -124,40 +124,77 @@ Run in Linux/MacOS/Windows WSL. The script guides you through selecting deployme ...@@ -124,40 +124,77 @@ Run in Linux/MacOS/Windows WSL. The script guides you through selecting deployme
bash <(curl -fsSL https://doc.fastgpt.cn/deploy/install.sh) bash <(curl -fsSL https://doc.fastgpt.cn/deploy/install.sh)
``` ```
The script automatically:
- Downloads or copies `docker-compose.yml`, and downloads `config.json`.
- Guides you through selecting externally accessible S3 and MCP addresses, then writes them into the config files.
- Generates a random `root` login password, service tokens, app keys, and component passwords, then writes them into `docker-compose.yml`.
- Detects the host Docker socket path and updates the mount path in `docker-compose.yml` when needed.
After the script finishes, the terminal prints the generated `root` login password. Keep the generated `docker-compose.yml` safe. For future upgrades, start from this file so you do not lose the generated passwords and keys.
To use an existing local `docker-compose.yml` file, for example when testing a version that has not been published to the docs site yet, choose `本地 docker-compose.yml` (local docker-compose.yml) in the deployment version step and enter the local file path. You can also pass the path with an environment variable:
```bash
FASTGPT_LOCAL_COMPOSE_PATH=/path/to/docker-compose.yml bash <(curl -fsSL https://doc.fastgpt.cn/deploy/install.sh)
```
#### Method 2: Manual Download #### Method 2: Manual Download
If your environment is non-\*nix or can't access external networks, manually download `docker-compose.yml`. If you need to pin deployment to a specific `docker-compose.yml` file, we recommend downloading both `docker-compose.yml` and `install.sh`, then using the script's local compose mode to generate the final config. This keeps the script's random credential generation, S3/MCP address updates, and Docker socket detection.
1. Download the `docker-compose.yml` file: 1. Download the required `docker-compose.yml` file to the server, for example:
```bash
curl -fsSL https://doc.fastgpt.cn/deploy/docker/v4.15/cn/docker-compose.pg.yml -o docker-compose.source.yml
```
<details> <details>
<summary>Click to view docker-compose config file download links for different databases</summary> <summary>Click to view docker-compose config file download links for different databases</summary>
- **Pgvector** - **Pgvector**
- China mirror (Alibaba Cloud): [docker-compose.pg.yml](https://doc.fastgpt.cn/deploy/docker/v4.14/cn/docker-compose.pg.yml) - China mirror (Alibaba Cloud): [docker-compose.pg.yml](https://doc.fastgpt.cn/deploy/docker/v4.15/cn/docker-compose.pg.yml)
- Global mirror (dockerhub, ghcr): [docker-compose.pg.yml](https://doc.fastgpt.cn/deploy/docker/v4.14/global/docker-compose.pg.yml) - Global mirror (dockerhub, ghcr): [docker-compose.pg.yml](https://doc.fastgpt.cn/deploy/docker/v4.15/global/docker-compose.pg.yml)
- **Oceanbase** - **Oceanbase**
- China mirror (Alibaba Cloud): [docker-compose.oceanbase.yml](https://doc.fastgpt.cn/deploy/docker/v4.14/cn/docker-compose.oceanbase.yml) - China mirror (Alibaba Cloud): [docker-compose.oceanbase.yml](https://doc.fastgpt.cn/deploy/docker/v4.15/cn/docker-compose.oceanbase.yml)
- Global mirror (dockerhub, ghcr): [docker-compose.oceanbase.yml](https://doc.fastgpt.cn/deploy/docker/v4.14/global/docker-compose.oceanbase.yml) - Global mirror (dockerhub, ghcr): [docker-compose.oceanbase.yml](https://doc.fastgpt.cn/deploy/docker/v4.15/global/docker-compose.oceanbase.yml)
- **Milvus** - **Milvus**
- China mirror (Alibaba Cloud): [docker-compose.milvus.yml](https://doc.fastgpt.cn/deploy/docker/v4.14/cn/docker-compose.milvus.yml) - China mirror (Alibaba Cloud): [docker-compose.milvus.yml](https://doc.fastgpt.cn/deploy/docker/v4.15/cn/docker-compose.milvus.yml)
- Global mirror (dockerhub, ghcr): [docker-compose.milvus.yml](https://doc.fastgpt.cn/deploy/docker/v4.14/global/docker-compose.milvus.yml) - Global mirror (dockerhub, ghcr): [docker-compose.milvus.yml](https://doc.fastgpt.cn/deploy/docker/v4.15/global/docker-compose.milvus.yml)
- **Zilliz** - **Zilliz**
- China mirror (Alibaba Cloud): [docker-compose.zilliz.yml](https://doc.fastgpt.cn/deploy/docker/v4.14/cn/docker-compose.zilliz.yml) - China mirror (Alibaba Cloud): [docker-compose.zilliz.yml](https://doc.fastgpt.cn/deploy/docker/v4.15/cn/docker-compose.zilliz.yml)
- Global mirror (dockerhub, ghcr): [docker-compose.zilliz.yml](https://doc.fastgpt.cn/deploy/docker/v4.14/global/docker-compose.zilliz.yml) - Global mirror (dockerhub, ghcr): [docker-compose.zilliz.yml](https://doc.fastgpt.cn/deploy/docker/v4.15/global/docker-compose.zilliz.yml)
- **SeekDB** - **SeekDB**
- China mirror (Alibaba Cloud): [docker-compose.seekdb.yml](https://doc.fastgpt.cn/deploy/docker/v4.14/cn/docker-compose.seekdb.yml) - China mirror (Alibaba Cloud): [docker-compose.seekdb.yml](https://doc.fastgpt.cn/deploy/docker/v4.15/cn/docker-compose.seekdb.yml)
- Global mirror (dockerhub, ghcr): [docker-compose.seekdb.yml](https://doc.fastgpt.cn/deploy/docker/v4.14/global/docker-compose.seekdb.yml) - Global mirror (dockerhub, ghcr): [docker-compose.seekdb.yml](https://doc.fastgpt.cn/deploy/docker/v4.15/global/docker-compose.seekdb.yml)
2. Download the `config.json` file: </details>
- [config.json](https://doc.fastgpt.cn/deploy/config/config.json) 2. Download `install.sh` to the server:
</details> ```bash
curl -fsSL https://doc.fastgpt.cn/deploy/install.sh -o install.sh
```
3. Run `install.sh` with the local compose file to generate the final deployment config:
Download config.json file: ```bash
FASTGPT_LOCAL_COMPOSE_PATH=./docker-compose.source.yml bash install.sh
```
The script copies this compose file to the final `docker-compose.yml`, then downloads `config.json`, generates login passwords and credentials, and writes the S3/MCP addresses. After generation, log in with the root password printed in the terminal.
For a fully offline environment, prepare `docker-compose.yml`, `config.json`, and `install.sh` in advance. If the script cannot download `config.json`, manually update `DEFAULT_ROOT_PSW`, service tokens, database passwords, and S3/MCP addresses.
- [config.json](https://doc.fastgpt.cn/deploy/config/config.json) #### Deploy with a Custom Image Registry
If you use an internal Harbor, private registry, or image mirror, download `docker-compose.yml` first, replace all `image:` values with your own registry addresses, and then use local compose mode:
```bash
FASTGPT_LOCAL_COMPOSE_PATH=./docker-compose.yml bash install.sh
```
If Agent/Skill Sandbox is enabled, deploy `fastgpt-agent-sandbox-proxy` separately and also replace `AGENT_SANDBOX_SEALOS_IMAGE` or `AGENT_SANDBOX_OPENSANDBOX_IMAGE_REPO` so the sandbox provider can pull the `fastgpt-agent-sandbox` image. The v4.15.0 default deployment file does not include `fastgpt-agent-sandbox-proxy` or start OpenSandbox by default. See the [V4.15.0 upgrade notes](../upgrading/4-15/41500.en.mdx#5-agent-sandbox-deployment-options) for sandbox provider setup.
### 2. Modify Environment Variables ### 2. Modify Environment Variables
...@@ -169,7 +206,7 @@ These ports must be accessible: ...@@ -169,7 +206,7 @@ These ports must be accessible:
1. Port 3000 (FastGPT main service) 1. Port 3000 (FastGPT main service)
2. Port 9000 (S3 service) 2. Port 9000 (S3 service)
3. Port 3005 (FastGPT SSE MCP server service) 3. Port 3003 (FastGPT SSE MCP server service)
### 4. Start Containers ### 4. Start Containers
...@@ -177,14 +214,15 @@ Run in the same directory as docker-compose.yml. Ensure `docker-compose` version ...@@ -177,14 +214,15 @@ Run in the same directory as docker-compose.yml. Ensure `docker-compose` version
```bash ```bash
# Start containers # Start containers
docker compose --profile prepull pull opensandbox-agent-sandbox-image opensandbox-execd-image opensandbox-egress-image && dockercompose up -d docker compose up -d
``` ```
### 5. Access FastGPT ### 5. Access FastGPT
Access FastGPT via the port/domain opened in step 3. Access FastGPT via the port/domain opened in step 3.
Login username is `root`, password is the `DEFAULT_ROOT_PSW` set in `docker-compose.yml` environment variables. Login username is `root`, password is the `DEFAULT_ROOT_PSW` set in `docker-compose.yml` environment variables.
Each container restart automatically initializes the root user with password `1234` (matching `DEFAULT_ROOT_PSW`).
If you deploy with the interactive script, it randomly generates `DEFAULT_ROOT_PSW` and prints the login password when it finishes. If you deploy manually, change the default password in `docker-compose.yml` before starting the service. Each container restart automatically updates the root user's password based on `DEFAULT_ROOT_PSW`.
### 6. Configure Models ### 6. Configure Models
...@@ -318,20 +356,9 @@ docker compose up -d ...@@ -318,20 +356,9 @@ docker compose up -d
4. Run initialization scripts (if any) 4. Run initialization scripts (if any)
### How to Customize Configuration Files? ### How to Customize Environment Variables?
Modify `config.json`, then run `docker compose down` followed by `docker compose up -d` to restart. For details, see [Configuration Guide](../config/json.en.mdx).
### How to Check if Custom Config File is Mounted
1. `docker logs fastgpt` shows logs. After starting the container, the first web request reads the config file — check for success or error messages.
2. `docker exec -it fastgpt sh` enters the container. Use `ls data` to check if `config.json` is mounted. Use `cat data/config.json` to view it.
**Possible reasons it's not working:**
1. Incorrect mount directory Edit the `environment` section of `fastgpt-app` in `docker-compose.yml`, then run `docker compose up -d` to restart the container. For details, see [Environment Variables](../config/env.en.mdx).
2. Invalid config file — logs will show `invalid json`. The file must be valid JSON.
3. Didn't run `docker compose down` then `docker compose up -d` after changes. A simple restart doesn't remount files.
### How to Check if Environment Variables Loaded ### How to Check if Environment Variables Loaded
......
--- ---
title: Docker-compose 部署 title: Docker Compose 部署
description: 使用 Docker Compose 快速部署 FastGPT description: 使用 Docker Compose 快速部署 FastGPT
--- ---
...@@ -124,40 +124,71 @@ brew install orbstack ...@@ -124,40 +124,71 @@ brew install orbstack
bash <(curl -fsSL https://doc.fastgpt.cn/deploy/install.sh) bash <(curl -fsSL https://doc.fastgpt.cn/deploy/install.sh)
``` ```
脚本会自动完成以下操作:
- 下载或复制 `docker-compose.yml`,并下载 `config.json`。
- 引导选择 S3 与 MCP 的外部访问地址,并写入配置文件。
- 随机生成 `root` 登录密码、服务间 Token、应用密钥和组件密码,并写入 `docker-compose.yml`。
- 自动检测宿主机 Docker socket 路径,必要时替换 `docker-compose.yml` 中的挂载路径。
执行完成后,终端会输出本次生成的 `root` 登录密码,请妥善保存生成后的 `docker-compose.yml`。后续升级时建议基于该文件调整,不要直接丢失已生成的密码和密钥。
#### 方法二:手动下载部署 #### 方法二:手动下载部署
如果部署环境为非 \*nix 环境或无法访问外网,需要手动下载 `docker-compose.yml` 进行部署 如果需要固定使用某个 `docker-compose.yml` 文件,推荐先手动下载 `docker-compose.yml` 和 `install.sh`,再通过 `install.sh` 的本地 compose 模式生成最终配置。这样仍然可以复用脚本里的随机密码、S3/MCP 地址写入、Docker socket 检测等能力。
1. 下载 `docker-compose.yml` 文件: 1. 下载所需的 `docker-compose.yml` 文件到服务器,例如:
```bash
curl -fsSL https://doc.fastgpt.cn/deploy/docker/v4.15/cn/docker-compose.pg.yml -o docker-compose.source.yml
```
<details> <details>
<summary>点击展开查看不同数据库的 docker-compose 配置文件下载地址</summary> <summary>点击展开查看不同数据库的 docker-compose 配置文件下载地址</summary>
- **Pgvector** - **Pgvector**
- 中国大陆地区镜像源(阿里云):[docker-compose.pg.yml](https://doc.fastgpt.cn/deploy/docker/v4.14/cn/docker-compose.pg.yml) - 中国大陆地区镜像源(阿里云):[docker-compose.pg.yml](https://doc.fastgpt.cn/deploy/docker/v4.15/cn/docker-compose.pg.yml)
- 全球镜像源(dockerhub, ghcr):[docker-compose.pg.yml](https://doc.fastgpt.cn/deploy/docker/v4.14/global/docker-compose.pg.yml) - 全球镜像源(dockerhub, ghcr):[docker-compose.pg.yml](https://doc.fastgpt.cn/deploy/docker/v4.15/global/docker-compose.pg.yml)
- **Oceanbase** - **Oceanbase**
- 中国大陆地区镜像源(阿里云):[docker-compose.oceanbase.yml](https://doc.fastgpt.cn/deploy/docker/v4.14/cn/docker-compose.oceanbase.yml) - 中国大陆地区镜像源(阿里云):[docker-compose.oceanbase.yml](https://doc.fastgpt.cn/deploy/docker/v4.15/cn/docker-compose.oceanbase.yml)
- 全球镜像源(dockerhub, ghcr):[docker-compose.oceanbase.yml](https://doc.fastgpt.cn/deploy/docker/v4.14/global/docker-compose.oceanbase.yml) - 全球镜像源(dockerhub, ghcr):[docker-compose.oceanbase.yml](https://doc.fastgpt.cn/deploy/docker/v4.15/global/docker-compose.oceanbase.yml)
- **Milvus** - **Milvus**
- 中国大陆地区镜像源(阿里云):[docker-compose.milvus.yml](https://doc.fastgpt.cn/deploy/docker/v4.14/cn/docker-compose.milvus.yml) - 中国大陆地区镜像源(阿里云):[docker-compose.milvus.yml](https://doc.fastgpt.cn/deploy/docker/v4.15/cn/docker-compose.milvus.yml)
- 全球镜像源(dockerhub, ghcr):[docker-compose.milvus.yml](https://doc.fastgpt.cn/deploy/docker/v4.14/global/docker-compose.milvus.yml) - 全球镜像源(dockerhub, ghcr):[docker-compose.milvus.yml](https://doc.fastgpt.cn/deploy/docker/v4.15/global/docker-compose.milvus.yml)
- **Zilliz** - **Zilliz**
- 中国大陆地区镜像源(阿里云):[docker-compose.zilliz.yml](https://doc.fastgpt.cn/deploy/docker/v4.14/cn/docker-compose.zilliz.yml) - 中国大陆地区镜像源(阿里云):[docker-compose.zilliz.yml](https://doc.fastgpt.cn/deploy/docker/v4.15/cn/docker-compose.zilliz.yml)
- 全球镜像源(dockerhub, ghcr):[docker-compose.zilliz.yml](https://doc.fastgpt.cn/deploy/docker/v4.14/global/docker-compose.zilliz.yml) - 全球镜像源(dockerhub, ghcr):[docker-compose.zilliz.yml](https://doc.fastgpt.cn/deploy/docker/v4.15/global/docker-compose.zilliz.yml)
- **SeekDB** - **SeekDB**
- 中国大陆地区镜像源(阿里云):[docker-compose.seekdb.yml](https://doc.fastgpt.cn/deploy/docker/v4.14/cn/docker-compose.seekdb.yml) - 中国大陆地区镜像源(阿里云):[docker-compose.seekdb.yml](https://doc.fastgpt.cn/deploy/docker/v4.15/cn/docker-compose.seekdb.yml)
- 全球镜像源(dockerhub, ghcr):[docker-compose.seekdb.yml](https://doc.fastgpt.cn/deploy/docker/v4.14/global/docker-compose.seekdb.yml) - 全球镜像源(dockerhub, ghcr):[docker-compose.seekdb.yml](https://doc.fastgpt.cn/deploy/docker/v4.15/global/docker-compose.seekdb.yml)
</details>
2. 下载 `config.json` 文件 2. 下载 `install.sh` 到服务器
- [config.json](https://doc.fastgpt.cn/deploy/config/config.json) ```bash
curl -fsSL https://doc.fastgpt.cn/deploy/install.sh -o install.sh
```
</details> 3. 使用 `install.sh` 读取本地 compose 文件并生成最终部署配置:
```bash
FASTGPT_LOCAL_COMPOSE_PATH=./docker-compose.source.yml bash install.sh
```
下载 config.json 文件 脚本会复制该 compose 文件为最终的 `docker-compose.yml`,并继续下载 `config.json`、随机生成登录密码和各类凭证、写入 S3/MCP 地址。生成完成后,按终端输出的 root 密码登录。
- [config.json](https://doc.fastgpt.cn/deploy/config/config.json) 完全离线环境下,需要同时准备 `docker-compose.yml`、`config.json` 和 `install.sh`。如果无法让脚本下载 `config.json`,则需要手动修改 `DEFAULT_ROOT_PSW`、服务 Token、数据库密码、S3/MCP 地址等配置。
#### 自定义镜像源部署
如果需要使用企业内网 Harbor、私有 Registry 或自建镜像加速源,可以先下载 `docker-compose.yml`,把所有 `image:` 改成自己的镜像地址,再走本地 compose 模式:
```bash
FASTGPT_LOCAL_COMPOSE_PATH=./docker-compose.yml bash install.sh
```
如果启用 Agent/Skill 沙盒,还需要单独部署 `fastgpt-agent-sandbox-proxy`,并同步替换 `AGENT_SANDBOX_SEALOS_IMAGE` 或 `AGENT_SANDBOX_OPENSANDBOX_IMAGE_REPO`,确保沙盒 provider 可以拉取 `fastgpt-agent-sandbox` 镜像。v4.15.0 默认部署文件不内置 `fastgpt-agent-sandbox-proxy`,也不会默认启动 OpenSandbox;沙盒 provider 的接入方式见 [V4.15.0 升级说明](../upgrading/4-15/41500.mdx#5-agent-sandbox-部署方案)。
### 2. 修改环境变量 ### 2. 修改环境变量
...@@ -169,7 +200,7 @@ bash <(curl -fsSL https://doc.fastgpt.cn/deploy/install.sh) ...@@ -169,7 +200,7 @@ bash <(curl -fsSL https://doc.fastgpt.cn/deploy/install.sh)
1. 3000 端口(FastGPT 主服务) 1. 3000 端口(FastGPT 主服务)
2. 9000 端口(S3 服务) 2. 9000 端口(S3 服务)
3. 3005 端口(FastGPT SSE MCP server 服务) 3. 3003 端口(FastGPT SSE MCP server 服务)
### 4. 启动容器 ### 4. 启动容器
...@@ -177,13 +208,14 @@ bash <(curl -fsSL https://doc.fastgpt.cn/deploy/install.sh) ...@@ -177,13 +208,14 @@ bash <(curl -fsSL https://doc.fastgpt.cn/deploy/install.sh)
```bash ```bash
# 启动容器 # 启动容器
docker compose --profile prepull pull opensandbox-agent-sandbox-image opensandbox-execd-image opensandbox-egress-image && docker compose up -d docker compose up -d
``` ```
### 5. 访问 FastGPT ### 5. 访问 FastGPT
可通过第二步开放的端口/域名访问 FastGPT。登录用户名为 `root`,密码为 `docker-compose.yml` 环境变量里设置的 `DEFAULT_ROOT_PSW`。每次重启容器,都会自动初始化 root 用户,密码为 `1234`(与环境变量中的 `DEFAULT_ROOT_PSW` 一致)。 可通过第三步开放的端口/域名访问 FastGPT。登录用户名为 `root`,密码为 `docker-compose.yml` 环境变量里设置的 `DEFAULT_ROOT_PSW`。
如果使用交互式脚本部署,脚本会随机生成 `DEFAULT_ROOT_PSW`,并在执行完成后输出本次登录密码;如果手动下载部署,请自行修改 `docker-compose.yml` 中的默认密码后再启动服务。每次重启容器,都会按 `DEFAULT_ROOT_PSW` 自动更新 root 用户密码。
### 6. 配置模型 ### 6. 配置模型
...@@ -316,20 +348,9 @@ docker compose up -d ...@@ -316,20 +348,9 @@ docker compose up -d
4. 执行初始化脚本(如果有) 4. 执行初始化脚本(如果有)
### 如何自定义配置文件? ### 如何自定义环境变量?
修改 `config.json` 文件,并执行 `docker compose down` 再执行 `docker compose up -d` 重起容器。具体配置,参考[配置详解](../config/json.mdx)。
### 如何检查自定义配置文件是否挂载
1. `docker logs fastgpt` 可以查看日志,在启动容器后,第一次请求网页,会进行配置文件读取,可以看看有没有读取成功以及有无错误日志。
2. `docker exec -it fastgpt sh` 进入 FastGPT 容器,可以通过 `ls data` 查看目录下是否成功挂载 `config.json` 文件。可通过 `cat data/config.json` 查看配置文件。
**可能不生效的原因**
1. 挂载目录不正确 修改 `docker-compose.yml` 中 `fastgpt-app` 的 `environment` 配置,并执行 `docker compose up -d` 重启容器。具体配置参考[环境变量说明](../config/env.mdx)。
2. 配置文件不正确,日志中会提示 `invalid json`,配置文件需要是标准的 JSON 文件。
3. 修改后,没有 `docker compose down` 再 `docker compose up -d`,restart 是不会重新挂载文件的。
### 如何检查环境变量是否正常加载 ### 如何检查环境变量是否正常加载
......
...@@ -104,7 +104,8 @@ In **App Launchpad**, select FastGPT, click **Change**, and you'll see environme ...@@ -104,7 +104,8 @@ In **App Launchpad**, select FastGPT, click **Change**, and you'll see environme
![](../../../public/imgs/fastgptonsealos1.png) ![](../../../public/imgs/fastgptonsealos1.png)
<Alert icon="🤖" context="success"> <Alert icon="🤖" context="success">
On Sealos, FastGPT runs 1 service and 2 databases. When pausing or deleting, handle the databases together. (You can start them during the day and pause at night to save costs.) On Sealos, FastGPT runs 1 service and 2 databases. When pausing or deleting, handle the databases
together. (You can start them during the day and pause at night to save costs.)
</Alert> </Alert>
### How to Update/Upgrade FastGPT ### How to Update/Upgrade FastGPT
...@@ -138,13 +139,13 @@ Click **Change** on the app -> **Custom Domain** -> enter domain -> configure do ...@@ -138,13 +139,13 @@ Click **Change** on the app -> **Custom Domain** -> enter domain -> configure do
![](../../../public/imgs/onsealos4.png) ![](../../../public/imgs/onsealos4.png)
### How to Modify Config Files ### How to Modify Environment Variables
Open Sealos app management -> find the app -> **Change** -> scroll down to advanced configuration where you'll find config files -> add new or click an existing config file to edit -> click confirm change in the top right. Open Sealos app management -> find the app -> **Change** -> edit environment variables -> click confirm change in the top right.
![](../../../public/imgs/onsealos5.png) ![](../../../public/imgs/onsealos5.png)
[Config file reference](../config/json.en.mdx) [Environment Variables](../config/env.en.mdx)
### Modify Site Name and Favicon ### Modify Site Name and Favicon
......
...@@ -11,7 +11,7 @@ import { Alert } from '@/components/docs/Alert'; ...@@ -11,7 +11,7 @@ import { Alert } from '@/components/docs/Alert';
## 多模型支持 ## 多模型支持
FastGPT 使用了 one-api 项目来管理模型池,其可以兼容 OpenAI 、Azure 、国内主流模型和本地模型等。 FastGPT 使用了 one-api 项目来管理模型池,其可以兼容 OpenAI、Azure、国内主流模型和本地模型等。
可参考:[Sealos 快速部署 OneAPI](../config/model/intro.mdx) 可参考:[Sealos 快速部署 OneAPI](../config/model/intro.mdx)
...@@ -53,11 +53,11 @@ FastGPT 使用了 one-api 项目来管理模型池,其可以兼容 OpenAI 、A ...@@ -53,11 +53,11 @@ FastGPT 使用了 one-api 项目来管理模型池,其可以兼容 OpenAI 、A
由于需要部署数据库,部署完后需要等待 2~4 分钟才能正常访问。默认用了最低配置,首次访问时会有些慢。 由于需要部署数据库,部署完后需要等待 2~4 分钟才能正常访问。默认用了最低配置,首次访问时会有些慢。
根据提示,输入`root_password`,和 `openai`/`oneapi` 的地址和密钥。 根据提示,输入 `root_password`,和 `openai` / `oneapi` 的地址和密钥。
![](../../../public/imgs/sealos1.png) ![](../../../public/imgs/sealos1.png)
点击部署后,会跳转到应用管理页面。可以点击`fastgpt`主应用右侧的详情按键(名字为 fastgpt-xxxx), 如下图所示。 点击部署后,会跳转到应用管理页面。可以点击 `fastgpt` 主应用右侧的详情按键(名字为 fastgpt-xxxx),如下图所示。
![](../../../public/imgs/sealos-deploy1.jpg) ![](../../../public/imgs/sealos-deploy1.jpg)
...@@ -71,7 +71,7 @@ FastGPT 使用了 one-api 项目来管理模型池,其可以兼容 OpenAI 、A ...@@ -71,7 +71,7 @@ FastGPT 使用了 one-api 项目来管理模型池,其可以兼容 OpenAI 、A
用户名:`root` 用户名:`root`
密码是刚刚一键部署时设置的`root_password` 密码是刚刚一键部署时设置的 `root_password`
### 3. 配置模型 ### 3. 配置模型
...@@ -83,13 +83,13 @@ FastGPT 使用了 one-api 项目来管理模型池,其可以兼容 OpenAI 、A ...@@ -83,13 +83,13 @@ FastGPT 使用了 one-api 项目来管理模型池,其可以兼容 OpenAI 、A
## 收费 ## 收费
Sealos 采用按量计费的方式,也就是申请了多少 cpu、内存、磁盘,就按该申请量进行计费。具体的计费标准,可以打开`sealos`控制面板中的`费用中心`进行查看。 Sealos 采用按量计费的方式,也就是申请了多少 cpu、内存、磁盘,就按该申请量进行计费。具体的计费标准,可以打开 `sealos` 控制面板中的 `费用中心` 进行查看。
## Sealos 使用 ## Sealos 使用
### 简介 ### 简介
FastGPT 商业版共包含了2个应用(fastgpt, fastgpt-plus)和2个数据库,使用多 Api Key 时候需要安装 OneAPI(一个应用和一个数据库),总计3个应用和3个数据库。 FastGPT 商业版共包含了 2 个应用(fastgpt, fastgpt-plus)和 2 个数据库,使用多 API Key 时候需要安装 OneAPI(一个应用和一个数据库),总计 3 个应用和 3 个数据库。
![](../../../public/imgs/onSealos1.png) ![](../../../public/imgs/onSealos1.png)
...@@ -97,9 +97,9 @@ FastGPT 商业版共包含了2个应用(fastgpt, fastgpt-plus)和2个数据 ...@@ -97,9 +97,9 @@ FastGPT 商业版共包含了2个应用(fastgpt, fastgpt-plus)和2个数据
### 修改配置文件和环境变量 ### 修改配置文件和环境变量
在 Sealos 中,你可以打开`应用管理`(App Launchpad)看到部署的 FastGPT,可以打开`数据库`(Database)看到对应的数据库。 在 Sealos 中,你可以打开 `应用管理`(App Launchpad)看到部署的 FastGPT,可以打开 `数据库`(Database)看到对应的数据库。
`应用管理`中,选中 FastGPT,点击变更,可以看到对应的环境变量和配置文件。 `应用管理` 中,选中 FastGPT,点击变更,可以看到对应的环境变量和配置文件。
![](../../../public/imgs/fastgptonsealos1.png) ![](../../../public/imgs/fastgptonsealos1.png)
...@@ -110,16 +110,16 @@ FastGPT 商业版共包含了2个应用(fastgpt, fastgpt-plus)和2个数据 ...@@ -110,16 +110,16 @@ FastGPT 商业版共包含了2个应用(fastgpt, fastgpt-plus)和2个数据
### 如何更新/升级 FastGPT ### 如何更新/升级 FastGPT
[升级脚本文档](../upgrading/upgrade-intruction.mdx)先看下文档,看下需要升级哪个版本。注意,不要跨版本升级!!!!! [升级脚本文档](../upgrading/upgrade-intruction.mdx)先看下文档,看下需要升级哪个版本。注意,不要跨版本升级
例如,目前是4.5 版本,要升级到4.5.1,就先把镜像版本改成v4.5.1,执行一下升级脚本,等待完成后再继续升级。如果目标版本不需要执行初始化,则可以跳过。 例如,目前是 4.5 版本,要升级到 4.5.1,就先把镜像版本改成 v4.5.1,执行一下升级脚本,等待完成后再继续升级。如果目标版本不需要执行初始化,则可以跳过。
升级步骤: 升级步骤:
1. 查看[更新文档](../upgrading/upgrade-intruction.mdx),确认要升级的版本,避免跨版本升级。 1. 查看[更新文档](../upgrading/upgrade-intruction.mdx),确认要升级的版本,避免跨版本升级。
2. 打开 sealos 的应用管理 2. 打开 sealos 的应用管理
3. 有2个应用 fastgpt , fastgpt-pro 3. 有 2 个应用 fastgpt、fastgpt-pro
4. 点击对应应用右边3个点,变更。或者点详情后右上角的变更。 4. 点击对应应用右边 3 个点,变更。或者点详情后右上角的变更。
5. 修改镜像的版本号 5. 修改镜像的版本号
![](../../../public/imgs/onsealos2.png) ![](../../../public/imgs/onsealos2.png)
...@@ -135,17 +135,17 @@ FastGPT 商业版共包含了2个应用(fastgpt, fastgpt-plus)和2个数据 ...@@ -135,17 +135,17 @@ FastGPT 商业版共包含了2个应用(fastgpt, fastgpt-plus)和2个数据
### 配置自定义域名 ### 配置自定义域名
点击对应应用的变更->点击自定义域名->填写域名-> 操作域名 Cname -> 确认 -> 确认变。 点击对应应用的变更 ->点击自定义域名 ->填写域名 -> 操作域名 Cname -> 确认 -> 确认变。
![](../../../public/imgs/onsealos4.png) ![](../../../public/imgs/onsealos4.png)
### 如何修改配置文件 ### 如何修改环境变量
打开 Sealos 的应用管理 -> 找到对应的应用 -> 变更 -> 往下拉到高级配置,里面有个配置文件 -> 新增或点击对应的配置文件可以进行编辑 -> 点击右上角确认变。 打开 Sealos 的应用管理 -> 找到对应的应用 -> 变更 -> 修改环境变量 -> 点击右上角确认变。
![](../../../public/imgs/onsealos5.png) ![](../../../public/imgs/onsealos5.png)
[配置文件参考](../config/json.mdx) [环境变量说明](../config/env.mdx)
### 修改站点名称以及 favicon ### 修改站点名称以及 favicon
...@@ -162,10 +162,9 @@ SYSTEM_FAVICON 可以是一个网络地址 ...@@ -162,10 +162,9 @@ SYSTEM_FAVICON 可以是一个网络地址
![](../../../public/imgs/onsealos6.png) ![](../../../public/imgs/onsealos6.png)
### 挂载logo ### 挂载 logo
目前暂时无法 把浏览器上的logo替换。仅支持svg,待后续可视化做了后可以全部替换。 目前暂时无法把浏览器上的 logo 替换。仅支持 svg,待后续可视化做了后可以全部替换。新增一个挂载文件,文件名为:/app/projects/app/public/icon/logo.svg,值为 svg 对应的值。
新增一个挂载文件,文件名为:/app/projects/app/public/icon/logo.svg ,值为 svg 对应的值。
![](../../../public/imgs/onsealos7.png) ![](../../../public/imgs/onsealos7.png)
......
...@@ -29,8 +29,6 @@ Code Sandbox adds security-related environment variables such as `SANDBOX_API_MA ...@@ -29,8 +29,6 @@ Code Sandbox adds security-related environment variables such as `SANDBOX_API_MA
| `SANDBOX_REQUEST_MAX_BODY_MB` | `5` | Maximum request body size for one sandbox network request, in MB. | | `SANDBOX_REQUEST_MAX_BODY_MB` | `5` | Maximum request body size for one sandbox network request, in MB. |
| `SANDBOX_QUEUE_ID_CONCURRENCY` | Empty | Number of requests with the same `queueId` that may enter execution at once. Empty disables queueing. | | `SANDBOX_QUEUE_ID_CONCURRENCY` | Empty | Number of requests with the same `queueId` that may enter execution at once. Empty disables queueing. |
`/sandbox/js` and `/sandbox/python` request bodies now support an optional `queueId` field. When `SANDBOX_QUEUE_ID_CONCURRENCY` is configured and a valid `queueId` is provided, requests with the same `queueId` are queued in FIFO order. Requests with different `queueId` values, or requests without `queueId`, are not limited by this setting and continue to be limited only by the worker pool concurrency.
## 🚀 New Features ## 🚀 New Features
1. Multimodal models now support audio and video input. 1. Multimodal models now support audio and video input.
......
...@@ -29,8 +29,6 @@ Code Sandbox 新增 `SANDBOX_API_MAX_BODY_MB`、`SANDBOX_MAX_OUTPUT_MB` 等安 ...@@ -29,8 +29,6 @@ Code Sandbox 新增 `SANDBOX_API_MAX_BODY_MB`、`SANDBOX_MAX_OUTPUT_MB` 等安
| `SANDBOX_REQUEST_MAX_BODY_MB` | `5` | 沙箱内单次网络请求体最大大小,单位 MB。 | | `SANDBOX_REQUEST_MAX_BODY_MB` | `5` | 沙箱内单次网络请求体最大大小,单位 MB。 |
| `SANDBOX_QUEUE_ID_CONCURRENCY` | 空 | 同一个 `queueId` 同时可进入执行流程的请求数;为空时不启用排队。 | | `SANDBOX_QUEUE_ID_CONCURRENCY` | 空 | 同一个 `queueId` 同时可进入执行流程的请求数;为空时不启用排队。 |
`/sandbox/js` 和 `/sandbox/python` 请求体新增可选字段 `queueId`。当配置 `SANDBOX_QUEUE_ID_CONCURRENCY` 且请求传入有效 `queueId` 时,同一 `queueId` 的请求会按 FIFO 排队;不同 `queueId` 或未传 `queueId` 的请求不受该限制,仍只受 worker 池并发限制影响。
## 🚀 新增内容 ## 🚀 新增内容
1. 多模态模型支持音视频输入。 1. 多模态模型支持音视频输入。
......
...@@ -100,4 +100,4 @@ Risk: trace records written before this upgrade do not have `teamId`, so they ca ...@@ -100,4 +100,4 @@ Risk: trace records written before this upgrade do not have `teamId`, so they ca
## Code Improvements ## Code Improvements
1. The chat takeover API has been abstracted from app-specific handling into a platform-level capability. 1. The chat API has been abstracted from app-specific handling into a platform-level capability.
...@@ -106,4 +106,4 @@ LLM 请求追踪记录(`llm_request_records`)新增 `teamId` 字段,`GET / ...@@ -106,4 +106,4 @@ LLM 请求追踪记录(`llm_request_records`)新增 `teamId` 字段,`GET /
## 代码优化 ## 代码优化
1. chat 接管接口抽象,不再绑定 app, 改成平台级别通用。 1. chat 接口抽象,不再绑定 app, 改成平台级别通用。
...@@ -34,8 +34,8 @@ CREATE INDEX CONCURRENTLY vector_index ON modeldata USING hnsw (vector vector_ip ...@@ -34,8 +34,8 @@ CREATE INDEX CONCURRENTLY vector_index ON modeldata USING hnsw (vector vector_ip
\d modeldata \d modeldata
``` ```
| | | | | |
| -------------------- | -------------------- | | -------------------------------------- | -------------------------------------- |
| ![](../../../../public/imgs/v45-1.jpg) | ![](../../../../public/imgs/v45-2.jpg) | | ![](../../../../public/imgs/v45-1.jpg) | ![](../../../../public/imgs/v45-2.jpg) |
| ![](../../../../public/imgs/v45-3.jpg) | ![](../../../../public/imgs/v45-4.jpg) | | ![](../../../../public/imgs/v45-3.jpg) | ![](../../../../public/imgs/v45-4.jpg) |
...@@ -84,4 +84,4 @@ CREATE INDEX CONCURRENTLY vector_index ON modeldata USING hnsw (vector vector_ip ...@@ -84,4 +84,4 @@ CREATE INDEX CONCURRENTLY vector_index ON modeldata USING hnsw (vector vector_ip
## Configuration File Changes Required ## Configuration File Changes Required
For the latest configuration, refer to: [V4.5 Latest config.json](../../config/json.en.mdx) The legacy `config.json` guide is no longer maintained. For current versions, see [Model Configuration](../../config/model/intro.en.mdx).
...@@ -3,13 +3,13 @@ title: V4.5(需进行较为复杂更新) ...@@ -3,13 +3,13 @@ title: V4.5(需进行较为复杂更新)
description: FastGPT V4.5 更新 description: FastGPT V4.5 更新
--- ---
FastGPT V4.5 引入 PgVector0.5 版本的 HNSW 索引,极大的提高了知识库检索的速度,比起`IVFFlat`索引大致有3~10倍的性能提升,可轻松实现百万数据毫秒级搜索。缺点在于构建索引的速度非常慢,4c16g 500w 组数据使用`并行构建`大约花了 48 小时。具体参数配置可参考 [PgVector官方](https://github.com/pgvector/pgvector) FastGPT V4.5 引入 PgVector0.5 版本的 HNSW 索引,极大的提高了知识库检索的速度,比起 `IVFFlat` 索引大致有 3~10 倍的性能提升,可轻松实现百万数据毫秒级搜索。缺点在于构建索引的速度非常慢,4c16g 500w 组数据使用 `并行构建` 大约花了 48 小时。具体参数配置可参考 [PgVector 官方](https://github.com/pgvector/pgvector)
下面需要对数据库进行一些操作升级: 下面需要对数据库进行一些操作升级:
## PgVector升级:Sealos 部署方案 ## PgVector 升级:Sealos 部署方案
1. 点击[Sealos桌面](https://cloud.sealos.io?uid=fnWRt09fZP)的数据库应用。 1. 点击 [Sealos 桌面](https://cloud.sealos.io?uid=fnWRt09fZP)的数据库应用。
2. 点击【pg】数据库的详情。 2. 点击【pg】数据库的详情。
3. 点击右上角的重启,等待重启完成。 3. 点击右上角的重启,等待重启完成。
4. 点击左侧的一键链接,等待打开 Terminal。 4. 点击左侧的一键链接,等待打开 Terminal。
...@@ -34,16 +34,16 @@ CREATE INDEX CONCURRENTLY vector_index ON modeldata USING hnsw (vector vector_ip ...@@ -34,16 +34,16 @@ CREATE INDEX CONCURRENTLY vector_index ON modeldata USING hnsw (vector vector_ip
\d modeldata \d modeldata
``` ```
| | | | | |
| -------------------- | -------------------- | | -------------------------------------- | -------------------------------------- |
| ![](../../../../public/imgs/v45-1.jpg) | ![](../../../../public/imgs/v45-2.jpg) | | ![](../../../../public/imgs/v45-1.jpg) | ![](../../../../public/imgs/v45-2.jpg) |
| ![](../../../../public/imgs/v45-3.jpg) | ![](../../../../public/imgs/v45-4.jpg) | | ![](../../../../public/imgs/v45-3.jpg) | ![](../../../../public/imgs/v45-4.jpg) |
## PgVector升级:Docker-compose.yml 部署方案 ## PgVector 升级:Docker-compose.yml 部署方案
下面的命令是基于给的 docker-compose 模板,如果数据库账号密码更换了,请自行调整。 下面的命令是基于给的 docker-compose 模板,如果数据库账号密码更换了,请自行调整。
1. 修改 `docker-compose.yml` 中pg的镜像版本,改成 `ankane/pgvector:v0.5.0` 或 `registry.cn-hangzhou.aliyuncs.com/fastgpt/pgvector:v0.5.0` 1. 修改 `docker-compose.yml` 中 pg 的镜像版本,改成 `ankane/pgvector:v0.5.0` 或 `registry.cn-hangzhou.aliyuncs.com/fastgpt/pgvector:v0.5.0`
2. 重启 pg 容器(docker-compose pull && docker-compose up -d),等待重启完成。 2. 重启 pg 容器(docker-compose pull && docker-compose up -d),等待重启完成。
3. 进入容器: `docker exec -it pg bash` 3. 进入容器: `docker exec -it pg bash`
4. 连接数据库: `psql 'postgresql://username:password@localhost:5432/postgres'` 4. 连接数据库: `psql 'postgresql://username:password@localhost:5432/postgres'`
...@@ -76,7 +76,7 @@ CREATE INDEX CONCURRENTLY vector_index ON modeldata USING hnsw (vector vector_ip ...@@ -76,7 +76,7 @@ CREATE INDEX CONCURRENTLY vector_index ON modeldata USING hnsw (vector vector_ip
### Fast GPT V4.5 ### Fast GPT V4.5
1. 新增 - 升级 PgVector 插件,引入 HNSW 索引,极大加快的知识库搜索速度。 1. 新增 - 升级 PgVector 插件,引入 HNSW 索引,极大加快的知识库搜索速度。
2. 新增 - AI对话模块,增加【返回AI内容】选项,可控制 AI 的内容不直接返回浏览器。 2. 新增 - AI 对话模块,增加【返回 AI 内容】选项,可控制 AI 的内容不直接返回浏览器。
3. 新增 - 支持问题分类选择模型 3. 新增 - 支持问题分类选择模型
4. 优化 - TextSplitter,采用递归拆解法。 4. 优化 - TextSplitter,采用递归拆解法。
5. 优化 - 高级编排 UX 性能 5. 优化 - 高级编排 UX 性能
...@@ -84,4 +84,4 @@ CREATE INDEX CONCURRENTLY vector_index ON modeldata USING hnsw (vector vector_ip ...@@ -84,4 +84,4 @@ CREATE INDEX CONCURRENTLY vector_index ON modeldata USING hnsw (vector vector_ip
## 该版本需要修改 `config.json` 文件 ## 该版本需要修改 `config.json` 文件
最新配置可参考: [V45版本最新 config.json](../../config/json.mdx) 旧版 `config.json` 配置说明已不再维护,当前版本请参考[模型配置方案](../../config/model/intro.mdx)。
...@@ -9,7 +9,7 @@ description: FastGPT V4.6 Update ...@@ -9,7 +9,7 @@ description: FastGPT V4.6 Update
Update the image to the latest or V4.6 version. For the commercial edition, update to V0.2.1. Update the image to the latest or V4.6 version. For the commercial edition, update to V0.2.1.
For the latest configuration, refer to: [V4.6 Latest config.json](../../config/json.en.mdx). The commercial edition configuration file has also been updated — refer to the latest Lark documentation. The legacy `config.json` guide is no longer maintained. For current versions, see [Model Configuration](../../config/model/intro.en.mdx) and [Environment Variables](../../config/env.en.mdx). The commercial edition configuration file has also been updated — refer to the latest Lark documentation.
## 2. Run the Initialization APIs ## 2. Run the Initialization APIs
...@@ -34,6 +34,7 @@ curl --location --request POST 'https://{{host}}/api/admin/initv46-2' \ ...@@ -34,6 +34,7 @@ curl --location --request POST 'https://{{host}}/api/admin/initv46-2' \
``` ```
What the initialization does: What the initialization does:
1. Creates the default team. 1. Creates the default team.
2. Initializes team fields for all resources in Mongo. 2. Initializes team fields for all resources in Mongo.
3. Initializes PG fields. 3. Initializes PG fields.
......
...@@ -9,11 +9,11 @@ description: FastGPT V4.6 更新 ...@@ -9,11 +9,11 @@ description: FastGPT V4.6 更新
更新镜像至 latest 或者 v4.6 版本。商业版镜像更新至 V0.2.1 更新镜像至 latest 或者 v4.6 版本。商业版镜像更新至 V0.2.1
最新配置可参考:[V46 版本最新 config.json](../../config/json.mdx),商业镜像配置文件也更新,参考最新的飞书文档。 旧版 `config.json` 配置说明已不再维护,当前版本请参考[模型配置方案](../../config/model/intro.mdx)和[环境变量说明](../../config/env.mdx),商业镜像配置文件也更新,参考最新的飞书文档。
## 2。执行初始化 API ## 2。执行初始化 API
发起 2 个 HTTP 请求 (`{{rootkey}}` 替换成环境变量里的 `rootkey`,`{{host}}` 替换成自己域名) 发起 2 个 HTTP 请求 ( `{{rootkey}}` 替换成环境变量里的 `rootkey`,`{{host}}` 替换成自己域名)
**该初始化接口可能速度很慢,返回超时不用管,注意看日志即可,需要注意的是,需确保 initv46 成功后,在执行 initv46-2** **该初始化接口可能速度很慢,返回超时不用管,注意看日志即可,需要注意的是,需确保 initv46 成功后,在执行 initv46-2**
...@@ -33,8 +33,7 @@ curl --location --request POST 'https://{{host}}/api/admin/initv46-2' \ ...@@ -33,8 +33,7 @@ curl --location --request POST 'https://{{host}}/api/admin/initv46-2' \
--header 'Content-Type: application/json' --header 'Content-Type: application/json'
``` ```
初始化内容: 初始化内容:1。创建默认团队
1。创建默认团队
2。初始化 Mongo 所有资源的团队字段 2。初始化 Mongo 所有资源的团队字段
3。初始化 Pg 的字段 3。初始化 Pg 的字段
4。初始化 Mongo Data 4。初始化 Mongo Data
......
...@@ -7,7 +7,7 @@ description: FastGPT V4.6.5 ...@@ -7,7 +7,7 @@ description: FastGPT V4.6.5
Since OpenAI has begun deprecating function calls in favor of tool choice, FastGPT has updated its configuration and invocation methods accordingly. You'll need to make some changes to your configuration file: Since OpenAI has begun deprecating function calls in favor of tool choice, FastGPT has updated its configuration and invocation methods accordingly. You'll need to make some changes to your configuration file:
[View the latest configuration file](../../config/json.en.mdx) The legacy `config.json` guide is no longer maintained. For current versions, see [Model Configuration](../../config/model/intro.en.mdx).
1. The main change is renaming the `functionCall` field to `toolChoice` in your model configuration. Models with this set to `true` will use OpenAI's tools mode by default; models without it or with it set to `false` will use prompt-based generation. 1. The main change is renaming the `functionCall` field to `toolChoice` in your model configuration. Models with this set to `true` will use OpenAI's tools mode by default; models without it or with it set to `false` will use prompt-based generation.
......
...@@ -7,9 +7,9 @@ description: FastGPT V4.6.5 ...@@ -7,9 +7,9 @@ description: FastGPT V4.6.5
由于 openai 已开始弃用 function call,改为 toolChoice。FastGPT 同步的修改了对于的配置和调用方式,需要对配置文件做一些修改: 由于 openai 已开始弃用 function call,改为 toolChoice。FastGPT 同步的修改了对于的配置和调用方式,需要对配置文件做一些修改:
[点击查看最新的配置文件](../../config/json.mdx) 旧版 `config.json` 配置说明已不再维护,当前版本请参考[模型配置方案](../../config/model/intro.mdx)。
1. 主要是修改模型的`functionCall`字段,改成`toolChoice`即可。设置为`true`的模型,会默认走 openai 的 tools 模式;未设置或设置为`false`的,会走提示词生成模式。 1. 主要是修改模型的 `functionCall` 字段,改成 `toolChoice` 即可。设置为 `true` 的模型,会默认走 openai 的 tools 模式;未设置或设置为 `false` 的,会走提示词生成模式。
问题优化模型与内容提取模型使用同一组配置。 问题优化模型与内容提取模型使用同一组配置。
...@@ -21,8 +21,8 @@ description: FastGPT V4.6.5 ...@@ -21,8 +21,8 @@ description: FastGPT V4.6.5
2. 新增 - [文本编辑模块](../../../guide/build/workflow/nodes/text_editor.mdx) 2. 新增 - [文本编辑模块](../../../guide/build/workflow/nodes/text_editor.mdx)
3. 新增 - [判断器模块](../../../guide/build/workflow/nodes/tfswitch.mdx) 3. 新增 - [判断器模块](../../../guide/build/workflow/nodes/tfswitch.mdx)
4. 新增 - [自定义反馈模块](../../../guide/build/workflow/nodes/custom_feedback.mdx) 4. 新增 - [自定义反馈模块](../../../guide/build/workflow/nodes/custom_feedback.mdx)
5. 新增 - 【内容提取】模块支持选择模型,以及字段枚举 5. 新增 -【内容提取】模块支持选择模型,以及字段枚举
6. 优化 - docx读取,兼容表格(表格转markdown) 6. 优化 - docx 读取,兼容表格(表格转 markdown)
7. 优化 - 高级编排连接线交互 7. 优化 - 高级编排连接线交互
8. 优化 - 由于 html2md 导致的 cpu密集计算,阻断线程问题 8. 优化 - 由于 html2md 导致的 cpu 密集计算,阻断线程问题
9. 修复 - 高级编排提示词提取描述 9. 修复 - 高级编排提示词提取描述
...@@ -5,7 +5,7 @@ description: FastGPT V4.6.6 ...@@ -5,7 +5,7 @@ description: FastGPT V4.6.6
## Configuration Changes ## Configuration Changes
To reduce code duplication, we've made some changes to the configuration file: [View the latest configuration file](../../config/json.en.mdx) To reduce code duplication, we've made some changes to the configuration file. The legacy `config.json` guide is no longer maintained. For current versions, see [Model Configuration](../../config/model/intro.en.mdx) and [Environment Variables](../../config/env.en.mdx).
## Commercial Edition Changes ## Commercial Edition Changes
......
...@@ -5,15 +5,15 @@ description: FastGPT V4.6.6 ...@@ -5,15 +5,15 @@ description: FastGPT V4.6.6
## 配置文件变更 ## 配置文件变更
为了减少代码重复度,我们对配置文件做了一些修改:[点击查看最新的配置文件](../../config/json.mdx) 为了减少代码重复度,我们对配置文件做了一些修改。旧版 `config.json` 配置说明已不再维护,当前版本请参考[模型配置方案](../../config/model/intro.mdx)和[环境变量说明](../../config/env.mdx)。
## 商业版变更 ## 商业版变更
1. 更新商业版镜像到 4.6.6 版本。 1. 更新商业版镜像到 4.6.6 版本。
2. 将旧版配置文件中的 `SystemParams.pluginBaseUrl` 放置到环境变量中: 2. 将旧版配置文件中的 `SystemParams.pluginBaseUrl` 放置到环境变量中:
PRO_URL=商业版镜像地址(此处不再需要以 /api 结尾),例如: PRO_URL=商业版镜像地址(此处不再需要以 /API 结尾),例如:
PRO_URL=http://fastgpt-plugin.ns-hsss5d.svc.cluster.local:3000 PRO_URL= http://fastgpt-plugin.ns-hsss5d.svc.cluster.local:3000
3. 原本在配置文件中的 `FeConfig` 已被移除,可以直接打开新的商业版镜像外网地址进行配置。包括 FastGPT 的各个参数和模型都可以直接在商业版镜像中配置,无需再变更 `config.json` 文件。 3. 原本在配置文件中的 `FeConfig` 已被移除,可以直接打开新的商业版镜像外网地址进行配置。包括 FastGPT 的各个参数和模型都可以直接在商业版镜像中配置,无需再变更 `config.json` 文件。
...@@ -21,9 +21,9 @@ description: FastGPT V4.6.6 ...@@ -21,9 +21,9 @@ description: FastGPT V4.6.6
1. 查看 [FastGPT 2024 RoadMap](https://github.com/labring/FastGPT?tab=readme-ov-file#-%E5%9C%A8%E7%BA%BF%E4%BD%BF%E7%94%A8) 1. 查看 [FastGPT 2024 RoadMap](https://github.com/labring/FastGPT?tab=readme-ov-file#-%E5%9C%A8%E7%BA%BF%E4%BD%BF%E7%94%A8)
2. 新增 - Http 模块请求头支持 Json 编辑器。 2. 新增 - Http 模块请求头支持 Json 编辑器。
3. 新增 - [ReRank模型部署](../../custom-models/bge-rerank.mdx) 3. 新增 - [ReRank 模型部署](../../custom-models/bge-rerank.mdx)
4. 新增 - 搜索方式:分离向量语义检索,全文检索和重排,通过 RRF 进行排序合并。 4. 新增 - 搜索方式:分离向量语义检索,全文检索和重排,通过 RRF 进行排序合并。
5. 优化 - 问题分类提示词,id引导。测试国产商用 api 模型(百度阿里智谱讯飞)使用 Prompt 模式均可分类。 5. 优化 - 问题分类提示词,ID 引导。测试国产商用 API 模型(百度阿里智谱讯飞)使用 Prompt 模式均可分类。
6. UI 优化,未来将逐步替换新的UI设计。 6. UI 优化,未来将逐步替换新的 UI 设计。
7. 优化代码:Icon 抽离和自动化获取。 7. 优化代码:Icon 抽离和自动化获取。
8. 修复 - 链接读取的数据集,未保存选择器,导致同步时不使用选择器。 8. 修复 - 链接读取的数据集,未保存选择器,导致同步时不使用选择器。
...@@ -67,7 +67,7 @@ docker-compose up -d ...@@ -67,7 +67,7 @@ docker-compose up -d
## Update Configuration File ## Update Configuration File
Removed duplicate model configurations. All LLM models are now consolidated into a single property. [View the latest configuration file](../../config/json.en.mdx) Removed duplicate model configurations. All LLM models are now consolidated into a single property. The legacy `config.json` guide is no longer maintained. For current versions, see [Model Configuration](../../config/model/intro.en.mdx).
## Commercial Edition Initialization ## Commercial Edition Initialization
......
...@@ -5,7 +5,7 @@ description: FastGPT V4.6.8更新说明 ...@@ -5,7 +5,7 @@ description: FastGPT V4.6.8更新说明
## docker 部署 - 手动更新 Mongo ## docker 部署 - 手动更新 Mongo
1. 修改 docker-compose.yml 的mongo部分,补上`command`和`entrypoint` 1. 修改 docker-compose.yml 的 mongo 部分,补上 `command` 和 `entrypoint`
```yml ```yml
mongo: mongo:
...@@ -67,13 +67,13 @@ docker-compose up -d ...@@ -67,13 +67,13 @@ docker-compose up -d
## 修改配置文件 ## 修改配置文件
去除了重复的模型配置,LLM模型都合并到一个属性中:[点击查看最新的配置文件](../../config/json.mdx) 去除了重复的模型配置,LLM 模型都合并到一个属性中。旧版 `config.json` 配置说明已不再维护,当前版本请参考[模型配置方案](../../config/model/intro.mdx)。
## 商业版初始化 ## 商业版初始化
商业版用户需要执行一个初始化,格式化团队信息。 商业版用户需要执行一个初始化,格式化团队信息。
发起 1 个 HTTP 请求 (`{{rootkey}}` 替换成环境变量里的 `rootkey`,`{{host}}` 替换成商业版域名) 发起 1 个 HTTP 请求 ( `{{rootkey}}` 替换成环境变量里的 `rootkey`,`{{host}}` 替换成商业版域名)
```bash ```bash
curl --location --request POST 'https://{{host}}/api/init/v468' \ curl --location --request POST 'https://{{host}}/api/init/v468' \
...@@ -87,8 +87,8 @@ curl --location --request POST 'https://{{host}}/api/init/v468' \ ...@@ -87,8 +87,8 @@ curl --location --request POST 'https://{{host}}/api/init/v468' \
1. 新增 - 知识库搜索合并模块。 1. 新增 - 知识库搜索合并模块。
2. 新增 - 新的 Http 模块,支持更加灵活的参数传入。同时支持了输入输出自动数据类型转化,例如:接口输出的 JSON 类型会自动转成字符串类型,直接给其他模块使用。此外,还补充了一些例子,可在文档中查看。 2. 新增 - 新的 Http 模块,支持更加灵活的参数传入。同时支持了输入输出自动数据类型转化,例如:接口输出的 JSON 类型会自动转成字符串类型,直接给其他模块使用。此外,还补充了一些例子,可在文档中查看。
3. 优化 - 内容补全。将内容补全内置到【知识库搜索】中,并实现了一次内容补全,即可完成“指代消除”和“问题扩展”。FastGPT知识库搜索详细流程可查看:[知识库搜索介绍](../../../guide/build/workflow/nodes/dataset_search.mdx) 3. 优化 - 内容补全。将内容补全内置到【知识库搜索】中,并实现了一次内容补全,即可完成“指代消除”和“问题扩展”。FastGPT 知识库搜索详细流程可查看:[知识库搜索介绍](../../../guide/build/workflow/nodes/dataset_search.mdx)
4. 优化 - LLM 模型配置,不再区分对话、分类、提取模型。同时支持模型的默认参数,避免不同模型参数冲突,可通过`defaultConfig`传入默认的配置。 4. 优化 - LLM 模型配置,不再区分对话、分类、提取模型。同时支持模型的默认参数,避免不同模型参数冲突,可通过 `defaultConfig` 传入默认的配置。
5. 优化 - 流响应,参考了`ChatNextWeb`的流,更加丝滑。此外,之前提到的乱码、中断,刷新后又正常了,可能会修复) 5. 优化 - 流响应,参考了 `ChatNextWeb` 的流,更加丝滑。此外,之前提到的乱码、中断,刷新后又正常了,可能会修复。
6. 修复 - 语音输入文件无法上传。 6. 修复 - 语音输入文件无法上传。
7. 修复 - 对话框重新生成无法使用。 7. 修复 - 对话框重新生成无法使用。
...@@ -5,7 +5,7 @@ description: FastGPT V4.7 Release Notes ...@@ -5,7 +5,7 @@ description: FastGPT V4.7 Release Notes
## 1. Update Configuration File ## 1. Update Configuration File
Added Boolean values to control which models are available for different feature modules, and added model logos. [View the latest configuration file](../../config/json.en.mdx) Added Boolean values to control which models are available for different feature modules, and added model logos. The legacy `config.json` guide is no longer maintained. For current versions, see [Model Configuration](../../config/model/intro.en.mdx).
## 2. Initialization Script ## 2. Initialization Script
......
...@@ -5,7 +5,7 @@ description: FastGPT V4.7更新说明 ...@@ -5,7 +5,7 @@ description: FastGPT V4.7更新说明
## 1. 修改配置文件 ## 1. 修改配置文件
增加一些 Boolean 值,用于决定不同功能块可以使用哪些模型,同时增加了模型的 logo:[点击查看最新的配置文件](../../config/json.mdx) 增加一些 Boolean 值,用于决定不同功能块可以使用哪些模型,同时增加了模型的 logo。旧版 `config.json` 配置说明已不再维护,当前版本请参考[模型配置方案](../../config/model/intro.mdx)。
## 2. 初始化脚本 ## 2. 初始化脚本
...@@ -23,9 +23,9 @@ curl --location --request POST 'https://{{host}}/api/admin/initv47' \ ...@@ -23,9 +23,9 @@ curl --location --request POST 'https://{{host}}/api/admin/initv47' \
## 3. 升级 ReRank 模型 ## 3. 升级 ReRank 模型
4.7对ReRank模型进行了格式变动,兼容 cohere 的格式,可以直接使用 cohere 提供的 API。如果是本地的 ReRank 模型,需要修改镜像为:`registry.cn-hangzhou.aliyuncs.com/fastgpt/bge-rerank-base:v0.1` 4.7 对 ReRank 模型进行了格式变动,兼容 cohere 的格式,可以直接使用 cohere 提供的 API。如果是本地的 ReRank 模型,需要修改镜像为:`registry.cn-hangzhou.aliyuncs.com/fastgpt/bge-rerank-base:v0.1`
cohere的重排模型对中文不是很好,感觉不如 bge 的好用,接入教程如下: cohere 的重排模型对中文不是很好,感觉不如 bge 的好用,接入教程如下:
1. 申请 Cohere 官方 Key: https://dashboard.cohere.com/api-keys 1. 申请 Cohere 官方 Key: https://dashboard.cohere.com/api-keys
2. 修改 FastGPT 配置文件 2. 修改 FastGPT 配置文件
...@@ -45,22 +45,22 @@ cohere的重排模型对中文不是很好,感觉不如 bge 的好用,接入 ...@@ -45,22 +45,22 @@ cohere的重排模型对中文不是很好,感觉不如 bge 的好用,接入
## V4.7 更新说明 ## V4.7 更新说明
1. 新增 - 工具调用模块,可以让LLM模型根据用户意图,动态的选择其他模型或插件执行。 1. 新增 - 工具调用模块,可以让 LLM 模型根据用户意图,动态的选择其他模型或插件执行。
2. 新增 - 分类和内容提取支持 functionCall 模式。部分模型支持 functionCall 不支持 ToolCall,也可以使用了。需要把 LLM 模型配置文件里的 `functionCall` 设置为 `true`, `toolChoice`设置为 `false`。如果 `toolChoice` 为 true,会走 tool 模式。 2. 新增 - 分类和内容提取支持 functionCall 模式。部分模型支持 functionCall 不支持 ToolCall,也可以使用了。需要把 LLM 模型配置文件里的 `functionCall` 设置为 `true`,`toolChoice` 设置为 `false`。如果 `toolChoice` 为 true,会走 tool 模式。
3. 新增 - HTTP插件,可实现OpenAPI快速生成插件。 3. 新增 - HTTP 插件,可实现 OpenAPI 快速生成插件。
4. 新增 - Rerank 模型兼容 [cohere的格式](https://docs.cohere.com/reference/rerank-1),可以直接使用 cohere 的 rerank 模型。 4. 新增 - Rerank 模型兼容 [cohere 的格式](https://docs.cohere.com/reference/rerank-1),可以直接使用 cohere 的 rerank 模型。
5. 新增 - Helm 安装。 5. 新增 - Helm 安装。
6. 优化 - 高级编排性能。 6. 优化 - 高级编排性能。
7. 优化 - 抽离 Flow controller 到 packages。 7. 优化 - 抽离 Flow controller 到 packages。
8. 优化 - AI模型选择。 8. 优化 - AI 模型选择。
9. 优化 - 手动输入知识库弹窗。 9. 优化 - 手动输入知识库弹窗。
10. 优化 - 变量输入弹窗。 10. 优化 - 变量输入弹窗。
11. 优化 - docker 部署,自动初始化副本集。 11. 优化 - docker 部署,自动初始化副本集。
12. 优化 - 浏览器读取文件自动推断编码,减少乱码情况。 12. 优化 - 浏览器读取文件自动推断编码,减少乱码情况。
13. 修复 - 社区版重排选不上。 13. 修复 - 社区版重排选不上。
14. 修复 - http 请求 body,不使用时,传入undefined。(会造成部分GET请求失败) 14. 修复 - http 请求 body,不使用时,传入 undefined。(会造成部分 GET 请求失败)
15. 新增 - 支持 http url 使用变量。 15. 新增 - 支持 http URL 使用变量。
16. 修复 - 469 的提取的提示词容易造成幻觉。 16. 修复 - 469 的提取的提示词容易造成幻觉。
17. 修复 - PG HNSW索引未实际生效问题,本次更新后,搜索速度大幅度提升(但是可能会出现精度损失,如果出现精度损失需要参考PgVector文档,对索引进行调整)。详细见:https://github.com/pgvector/pgvector?tab=readme-ov-file#troubleshooting 17. 修复 - PG HNSW 索引未实际生效问题,本次更新后,搜索速度大幅度提升(但是可能会出现精度损失,如果出现精度损失需要参考 PgVector 文档,对索引进行调整)。详细见:https://github.com/pgvector/pgvector?tab=readme-ov-file#troubleshooting
18. 修复Safari浏览器语音输入问题。 18. 修复 Safari 浏览器语音输入问题。
19. 修复 - 自定义分割规则可输入正则特殊字符(之前输入的话,会导致前端崩溃) 19. 修复 - 自定义分割规则可输入正则特殊字符(之前输入的话,会导致前端崩溃)
...@@ -17,7 +17,7 @@ This request runs stale data cleanup (removes invalid files, images, Knowledge B ...@@ -17,7 +17,7 @@ This request runs stale data cleanup (removes invalid files, images, Knowledge B
## Update Configuration File ## Update Configuration File
Added Laf environment configuration. [View the latest configuration file](../../config/json.en.mdx) Added Laf environment configuration. The legacy `config.json` guide is no longer maintained. For current versions, see [Environment Variables](../../config/env.en.mdx).
## V4.7.1 Release Notes ## V4.7.1 Release Notes
......
...@@ -5,7 +5,7 @@ description: FastGPT V4.7.1 更新说明 ...@@ -5,7 +5,7 @@ description: FastGPT V4.7.1 更新说明
## 初始化脚本 ## 初始化脚本
从任意终端,发起 1 个 HTTP 请求。其中 `{{rootkey}}` 替换成环境变量里的 `rootkey`;`{{host}}` 替换成FastGPT的域名。 从任意终端,发起 1 个 HTTP 请求。其中 `{{rootkey}}` 替换成环境变量里的 `rootkey`;`{{host}}` 替换成 FastGPT 的域名。
```bash ```bash
curl --location --request POST 'https://{{host}}/api/admin/clearInvalidData' \ curl --location --request POST 'https://{{host}}/api/admin/clearInvalidData' \
...@@ -17,19 +17,19 @@ curl --location --request POST 'https://{{host}}/api/admin/clearInvalidData' \ ...@@ -17,19 +17,19 @@ curl --location --request POST 'https://{{host}}/api/admin/clearInvalidData' \
## 修改配置文件 ## 修改配置文件
增加了Laf环境配置:[点击查看最新的配置文件](../../config/json.mdx) 增加了 Laf 环境配置。旧版 `config.json` 配置说明已不再维护,当前版本请参考[环境变量说明](../../config/env.mdx)。
## V4.7.1 更新说明 ## V4.7.1 更新说明
1. 新增 - 语音输入完整配置。支持选择是否打开语音输入(包括分享页面),支持语音输入后自动发送,支持语音输入后自动语音播放(流式)。 1. 新增 - 语音输入完整配置。支持选择是否打开语音输入(包括分享页面),支持语音输入后自动发送,支持语音输入后自动语音播放(流式)。
2. 新增 - pptx 和 xlsx 文件读取。但所有文件读取都放服务端,会消耗更多的服务器资源,以及无法在上传时预览更多内容。 2. 新增 - pptx 和 xlsx 文件读取。但所有文件读取都放服务端,会消耗更多的服务器资源,以及无法在上传时预览更多内容。
3. 新增 - 集成 Laf 云函数,可以读取 Laf 账号中的云函数作为 HTTP 模块。 3. 新增 - 集成 Laf 云函数,可以读取 Laf 账号中的云函数作为 HTTP 模块。
4. 新增 - 定时器,清理垃圾数据。(采用小范围清理,会清理最近n个小时的,所以请保证服务持续运行,长时间不允许,可以继续执行 clearInvalidData 的接口进行全量清理。) 4. 新增 - 定时器,清理垃圾数据。(采用小范围清理,会清理最近 n 个小时的,所以请保证服务持续运行,长时间不允许,可以继续执行 clearInvalidData 的接口进行全量清理。)
5. 商业版新增 - 后台配置系统通知。 5. 商业版新增 - 后台配置系统通知。
6. 优化 - 支持ip模式导出知识库。 6. 优化 - 支持 ip 模式导出知识库。
7. 修改 - csv导入模板,取消 header 校验,自动获取前两列。 7. 修改 - csv 导入模板,取消 header 校验,自动获取前两列。
8. 修复 - 工具调用模块连线数据类型校验错误。 8. 修复 - 工具调用模块连线数据类型校验错误。
9. 修复 - 自定义索引输入时,解构数据失败。 9. 修复 - 自定义索引输入时,解构数据失败。
10. 修复 - rerank 模型数据格式。 10. 修复 - rerank 模型数据格式。
11. 修复 - 问题补全历史记录BUG 11. 修复 - 问题补全历史记录 BUG
12. 修复 - 分享页面特殊情况下加载缓慢问题(由于ssr时候数据库不会触发连接) 12. 修复 - 分享页面特殊情况下加载缓慢问题(由于 ssr 时候数据库不会触发连接)
...@@ -13,7 +13,7 @@ description: FastGPT V4.8.16 Release Notes ...@@ -13,7 +13,7 @@ description: FastGPT V4.8.16 Release Notes
### 2. Update configuration file ### 2. Update configuration file
Refer to the latest [configuration file documentation](../../config/json.en.mdx) and update your `config.json` or admin model configuration. Add the `provider` field to LLMModel and VectorModel for model categorization. For example: Update your `config.json` or admin model configuration. Add the `provider` field to LLMModel and VectorModel for model categorization. The legacy `config.json` guide is no longer maintained. For current versions, see [Model Configuration](../../config/model/intro.en.mdx). For example:
```json ```json
{ {
......
...@@ -13,7 +13,7 @@ description: FastGPT V4.8.16 更新说明 ...@@ -13,7 +13,7 @@ description: FastGPT V4.8.16 更新说明
### 2. 更新配置文件 ### 2. 更新配置文件
参考最新的[配置文件](../../config/json.mdx),更新 `config.json` 或 admin 中模型文件配置。给 LLMModel 和 VectorModel 增加 `provider` 字段,以便进行模型分类。例如: 更新 `config.json` 或 admin 中模型文件配置。给 LLMModel 和 VectorModel 增加 `provider` 字段,以便进行模型分类。旧版 `config.json` 配置说明已不再维护,当前版本请参考[模型配置方案](../../config/model/intro.mdx)。例如:
```json ```json
{ {
......
...@@ -160,7 +160,7 @@ curl --location --request POST 'https://{{host}}/api/admin/initv490' \ ...@@ -160,7 +160,7 @@ curl --location --request POST 'https://{{host}}/api/admin/initv490' \
## Compatibility & Deprecations ## Compatibility & Deprecations
1. Deprecated — The previous custom file parsing solution for private deployments. Please update to the latest configuration. [See PDF Enhanced Parsing Configuration](../../config/json.en.mdx#使用-doc2x-解析-pdf-文件) 1. Deprecated — The previous custom file parsing solution for private deployments. Please update to the latest environment-variable configuration. [See Environment Variables](../../config/env.en.mdx)
2. Deprecated — The legacy local file upload API: `/api/core/dataset/collection/create/file` (previously available only in the Pro edition). This endpoint has been replaced by: `/api/core/dataset/collection/create/localFile` 2. Deprecated — The legacy local file upload API: `/api/core/dataset/collection/create/file` (previously available only in the Pro edition). This endpoint has been replaced by: `/api/core/dataset/collection/create/localFile`
3. Maintenance ending, deprecation upcoming — External file library APIs. Use the API File Library as a replacement. 3. Maintenance ending, deprecation upcoming — External file library APIs. Use the API File Library as a replacement.
4. API Update — For endpoints that include a `trainingType` field (file upload to knowledge base, link collection creation, API file library, push chunk data, etc.), `trainingType` will only support `chunk` and `QA` modes going forward. Enhanced indexing mode will use a separate field: `autoIndexes`. Legacy `trainingType=auto` code is still supported for now, but please migrate to the new API format as soon as possible. See: [Knowledge Base OpenAPI Documentation](../../../openapi/dataset.en.mdx) 4. API Update — For endpoints that include a `trainingType` field (file upload to knowledge base, link collection creation, API file library, push chunk data, etc.), `trainingType` will only support `chunk` and `QA` modes going forward. Enhanced indexing mode will use a separate field: `autoIndexes`. Legacy `trainingType=auto` code is still supported for now, but please migrate to the new API format as soon as possible. See: [Knowledge Base OpenAPI Documentation](../../../openapi/dataset.en.mdx)
......
...@@ -160,7 +160,7 @@ curl --location --request POST 'https://{{host}}/api/admin/initv490' \ ...@@ -160,7 +160,7 @@ curl --location --request POST 'https://{{host}}/api/admin/initv490' \
## 兼容 & 弃用 ## 兼容 & 弃用
1. 弃用 - 之前私有化部署的自定义文件解析方案,请同步更新到最新的配置方案。[点击查看 PDF 增强解析配置](../../config/json.mdx#使用-doc2x-解析-pdf-文件) 1. 弃用 - 之前私有化部署的自定义文件解析方案,请同步更新到最新的环境变量配置方案。[点击查看环境变量说明](../../config/env.mdx)
2. 弃用 - 弃用旧版本地文件上传 API:/api/core/dataset/collection/create/file(以前仅商业版可用的 API,该接口已放切换成:/api/core/dataset/collection/create/localFile) 2. 弃用 - 弃用旧版本地文件上传 API:/api/core/dataset/collection/create/file(以前仅商业版可用的 API,该接口已放切换成:/api/core/dataset/collection/create/localFile)
3. 停止维护,即将弃用 - 外部文件库相关 API,可通过 API 文件库替代。 3. 停止维护,即将弃用 - 外部文件库相关 API,可通过 API 文件库替代。
4. API 更新 - 上传文件至知识库、创建连接集合、API 文件库、推送分块数据等带有 `trainingType` 字段的接口,`trainingType` 字段未来仅支持 `chunk` 和 `QA` 两种模式。增强索引模式将设置单独字段:`autoIndexes`,目前仍有适配旧版 `trainingType=auto` 代码,但请尽快变更成新接口类型。具体可见:[知识库 OpenAPI 文档](../../../openapi/dataset.mdx) 4. API 更新 - 上传文件至知识库、创建连接集合、API 文件库、推送分块数据等带有 `trainingType` 字段的接口,`trainingType` 字段未来仅支持 `chunk` 和 `QA` 两种模式。增强索引模式将设置单独字段:`autoIndexes`,目前仍有适配旧版 `trainingType=auto` 代码,但请尽快变更成新接口类型。具体可见:[知识库 OpenAPI 文档](../../../openapi/dataset.mdx)
......
...@@ -87,13 +87,13 @@ description: FastGPT Toc ...@@ -87,13 +87,13 @@ description: FastGPT Toc
- [/en/plugin/model-presets](/en/plugin/model-presets) - [/en/plugin/model-presets](/en/plugin/model-presets)
- [/en/plugin/system-tool-development](/en/plugin/system-tool-development) - [/en/plugin/system-tool-development](/en/plugin/system-tool-development)
- [/en/self-host/config/env](/en/self-host/config/env) - [/en/self-host/config/env](/en/self-host/config/env)
- [/en/self-host/config/json](/en/self-host/config/json)
- [/en/self-host/config/model/intro](/en/self-host/config/model/intro) - [/en/self-host/config/model/intro](/en/self-host/config/model/intro)
- [/en/self-host/config/model/minimax](/en/self-host/config/model/minimax) - [/en/self-host/config/model/minimax](/en/self-host/config/model/minimax)
- [/en/self-host/config/model/siliconCloud](/en/self-host/config/model/siliconCloud) - [/en/self-host/config/model/siliconCloud](/en/self-host/config/model/siliconCloud)
- [/en/self-host/config/object-storage](/en/self-host/config/object-storage) - [/en/self-host/config/object-storage](/en/self-host/config/object-storage)
- [/en/self-host/config/remote-debug-suite](/en/self-host/config/remote-debug-suite) - [/en/self-host/config/remote-debug-suite](/en/self-host/config/remote-debug-suite)
- [/en/self-host/config/sandbox/common](/en/self-host/config/sandbox/common) - [/en/self-host/config/sandbox/common](/en/self-host/config/sandbox/common)
- [/en/self-host/config/sandbox/opensandbox](/en/self-host/config/sandbox/opensandbox)
- [/en/self-host/config/sandbox/sealosdevbox](/en/self-host/config/sandbox/sealosdevbox) - [/en/self-host/config/sandbox/sealosdevbox](/en/self-host/config/sandbox/sealosdevbox)
- [/en/self-host/config/signoz](/en/self-host/config/signoz) - [/en/self-host/config/signoz](/en/self-host/config/signoz)
- [/en/self-host/custom-models/bge-rerank](/en/self-host/custom-models/bge-rerank) - [/en/self-host/custom-models/bge-rerank](/en/self-host/custom-models/bge-rerank)
......
...@@ -87,13 +87,13 @@ description: FastGPT 文档目录 ...@@ -87,13 +87,13 @@ description: FastGPT 文档目录
- [/plugin/model-presets](/plugin/model-presets) - [/plugin/model-presets](/plugin/model-presets)
- [/plugin/system-tool-development](/plugin/system-tool-development) - [/plugin/system-tool-development](/plugin/system-tool-development)
- [/self-host/config/env](/self-host/config/env) - [/self-host/config/env](/self-host/config/env)
- [/self-host/config/json](/self-host/config/json)
- [/self-host/config/model/intro](/self-host/config/model/intro) - [/self-host/config/model/intro](/self-host/config/model/intro)
- [/self-host/config/model/minimax](/self-host/config/model/minimax) - [/self-host/config/model/minimax](/self-host/config/model/minimax)
- [/self-host/config/model/siliconCloud](/self-host/config/model/siliconCloud) - [/self-host/config/model/siliconCloud](/self-host/config/model/siliconCloud)
- [/self-host/config/object-storage](/self-host/config/object-storage) - [/self-host/config/object-storage](/self-host/config/object-storage)
- [/self-host/config/remote-debug-suite](/self-host/config/remote-debug-suite) - [/self-host/config/remote-debug-suite](/self-host/config/remote-debug-suite)
- [/self-host/config/sandbox/common](/self-host/config/sandbox/common) - [/self-host/config/sandbox/common](/self-host/config/sandbox/common)
- [/self-host/config/sandbox/opensandbox](/self-host/config/sandbox/opensandbox)
- [/self-host/config/sandbox/sealosdevbox](/self-host/config/sandbox/sealosdevbox) - [/self-host/config/sandbox/sealosdevbox](/self-host/config/sandbox/sealosdevbox)
- [/self-host/config/signoz](/self-host/config/signoz) - [/self-host/config/signoz](/self-host/config/signoz)
- [/self-host/custom-models/bge-rerank](/self-host/custom-models/bge-rerank) - [/self-host/custom-models/bge-rerank](/self-host/custom-models/bge-rerank)
......
...@@ -48,7 +48,6 @@ x-vec-config: &x-vec-config ...@@ -48,7 +48,6 @@ x-vec-config: &x-vec-config
MILVUS_TOKEN: none MILVUS_TOKEN: none
services: services:
# Vector DB
fastgpt-milvus-minio: fastgpt-milvus-minio:
container_name: fastgpt-milvus-minio container_name: fastgpt-milvus-minio
image: minio/minio:RELEASE.2023-03-20T20-16-18Z image: minio/minio:RELEASE.2023-03-20T20-16-18Z
...@@ -193,7 +192,7 @@ services: ...@@ -193,7 +192,7 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.15.0-beta1 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.15.0
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
...@@ -285,15 +284,10 @@ services: ...@@ -285,15 +284,10 @@ services:
TEXTIN_SECRET_CODE: TEXTIN_SECRET_CODE:
fastgpt-code-sandbox: fastgpt-code-sandbox:
container_name: fastgpt-code-sandbox container_name: fastgpt-code-sandbox
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox:v4.15.0-beta1 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox:v4.15.0
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
read_only: true
tmpfs:
- /tmp:size=128m,noexec,nosuid,nodev
cap_drop:
- ALL
security_opt: security_opt:
- no-new-privileges:true - no-new-privileges:true
environment: environment:
...@@ -344,7 +338,7 @@ services: ...@@ -344,7 +338,7 @@ services:
retries: 3 retries: 3
fastgpt-mcp-server: fastgpt-mcp-server:
container_name: fastgpt-mcp-server container_name: fastgpt-mcp-server
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.15.0-beta1 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.14.23
networks: networks:
- app - app
ports: ports:
...@@ -354,7 +348,7 @@ services: ...@@ -354,7 +348,7 @@ services:
<<: [*x-log-config, *x-no-proxy-config] <<: [*x-log-config, *x-no-proxy-config]
FASTGPT_ENDPOINT: http://fastgpt-app:3000 FASTGPT_ENDPOINT: http://fastgpt-app:3000
fastgpt-plugin: fastgpt-plugin:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-plugin:v0.6.2 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-plugin:v1.0.0
container_name: fastgpt-plugin container_name: fastgpt-plugin
restart: always restart: always
networks: networks:
...@@ -382,7 +376,7 @@ services: ...@@ -382,7 +376,7 @@ services:
# AI Proxy # AI Proxy
fastgpt-aiproxy: fastgpt-aiproxy:
image: registry.cn-hangzhou.aliyuncs.com/labring/aiproxy:v0.5.8 image: registry.cn-hangzhou.aliyuncs.com/labring/aiproxy:v0.6.5
container_name: fastgpt-aiproxy container_name: fastgpt-aiproxy
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
......
...@@ -47,7 +47,6 @@ x-vec-config: &x-vec-config ...@@ -47,7 +47,6 @@ x-vec-config: &x-vec-config
OCEANBASE_URL: mysql://root%40tenantname:tenantpassword@fastgpt-vector:2881/mysql OCEANBASE_URL: mysql://root%40tenantname:tenantpassword@fastgpt-vector:2881/mysql
services: services:
# Vector DB
fastgpt-vector: fastgpt-vector:
image: oceanbase/oceanbase-ce:4.3.5-lts image: oceanbase/oceanbase-ce:4.3.5-lts
container_name: fastgpt-ob container_name: fastgpt-ob
...@@ -171,7 +170,7 @@ services: ...@@ -171,7 +170,7 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.15.0-beta1 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.15.0
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
...@@ -263,15 +262,10 @@ services: ...@@ -263,15 +262,10 @@ services:
TEXTIN_SECRET_CODE: TEXTIN_SECRET_CODE:
fastgpt-code-sandbox: fastgpt-code-sandbox:
container_name: fastgpt-code-sandbox container_name: fastgpt-code-sandbox
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox:v4.15.0-beta1 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox:v4.15.0
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
read_only: true
tmpfs:
- /tmp:size=128m,noexec,nosuid,nodev
cap_drop:
- ALL
security_opt: security_opt:
- no-new-privileges:true - no-new-privileges:true
environment: environment:
...@@ -322,7 +316,7 @@ services: ...@@ -322,7 +316,7 @@ services:
retries: 3 retries: 3
fastgpt-mcp-server: fastgpt-mcp-server:
container_name: fastgpt-mcp-server container_name: fastgpt-mcp-server
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.15.0-beta1 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.14.23
networks: networks:
- app - app
ports: ports:
...@@ -332,7 +326,7 @@ services: ...@@ -332,7 +326,7 @@ services:
<<: [*x-log-config, *x-no-proxy-config] <<: [*x-log-config, *x-no-proxy-config]
FASTGPT_ENDPOINT: http://fastgpt-app:3000 FASTGPT_ENDPOINT: http://fastgpt-app:3000
fastgpt-plugin: fastgpt-plugin:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-plugin:v0.6.2 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-plugin:v1.0.0
container_name: fastgpt-plugin container_name: fastgpt-plugin
restart: always restart: always
networks: networks:
...@@ -360,7 +354,7 @@ services: ...@@ -360,7 +354,7 @@ services:
# AI Proxy # AI Proxy
fastgpt-aiproxy: fastgpt-aiproxy:
image: registry.cn-hangzhou.aliyuncs.com/labring/aiproxy:v0.5.8 image: registry.cn-hangzhou.aliyuncs.com/labring/aiproxy:v0.6.5
container_name: fastgpt-aiproxy container_name: fastgpt-aiproxy
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
......
...@@ -47,7 +47,6 @@ x-vec-config: &x-vec-config ...@@ -47,7 +47,6 @@ x-vec-config: &x-vec-config
OPENGAUSS_URL: postgresql://gaussdb:FastGPT@123@fastgpt-vector:5432/fastgpt OPENGAUSS_URL: postgresql://gaussdb:FastGPT@123@fastgpt-vector:5432/fastgpt
services: services:
# Vector DB
fastgpt-vector: fastgpt-vector:
image: opengauss/opengauss:7.0.0-RC1 image: opengauss/opengauss:7.0.0-RC1
container_name: fastgpt-opengauss container_name: fastgpt-opengauss
...@@ -155,7 +154,7 @@ services: ...@@ -155,7 +154,7 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.15.0-beta1 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.15.0
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
...@@ -247,15 +246,10 @@ services: ...@@ -247,15 +246,10 @@ services:
TEXTIN_SECRET_CODE: TEXTIN_SECRET_CODE:
fastgpt-code-sandbox: fastgpt-code-sandbox:
container_name: fastgpt-code-sandbox container_name: fastgpt-code-sandbox
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox:v4.15.0-beta1 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox:v4.15.0
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
read_only: true
tmpfs:
- /tmp:size=128m,noexec,nosuid,nodev
cap_drop:
- ALL
security_opt: security_opt:
- no-new-privileges:true - no-new-privileges:true
environment: environment:
...@@ -306,7 +300,7 @@ services: ...@@ -306,7 +300,7 @@ services:
retries: 3 retries: 3
fastgpt-mcp-server: fastgpt-mcp-server:
container_name: fastgpt-mcp-server container_name: fastgpt-mcp-server
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.15.0-beta1 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.14.23
networks: networks:
- app - app
ports: ports:
...@@ -316,7 +310,7 @@ services: ...@@ -316,7 +310,7 @@ services:
<<: [*x-log-config, *x-no-proxy-config] <<: [*x-log-config, *x-no-proxy-config]
FASTGPT_ENDPOINT: http://fastgpt-app:3000 FASTGPT_ENDPOINT: http://fastgpt-app:3000
fastgpt-plugin: fastgpt-plugin:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-plugin:v0.6.2 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-plugin:v1.0.0
container_name: fastgpt-plugin container_name: fastgpt-plugin
restart: always restart: always
networks: networks:
...@@ -344,7 +338,7 @@ services: ...@@ -344,7 +338,7 @@ services:
# AI Proxy # AI Proxy
fastgpt-aiproxy: fastgpt-aiproxy:
image: registry.cn-hangzhou.aliyuncs.com/labring/aiproxy:v0.5.8 image: registry.cn-hangzhou.aliyuncs.com/labring/aiproxy:v0.6.5
container_name: fastgpt-aiproxy container_name: fastgpt-aiproxy
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
......
...@@ -47,7 +47,6 @@ x-vec-config: &x-vec-config ...@@ -47,7 +47,6 @@ x-vec-config: &x-vec-config
PG_URL: postgresql://username:password@fastgpt-vector:5432/postgres PG_URL: postgresql://username:password@fastgpt-vector:5432/postgres
services: services:
# Vector DB
fastgpt-vector: fastgpt-vector:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/pgvector:0.8.0-pg15 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/pgvector:0.8.0-pg15
container_name: fastgpt-pg container_name: fastgpt-pg
...@@ -153,7 +152,7 @@ services: ...@@ -153,7 +152,7 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.15.0-beta1 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.15.0
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
...@@ -245,15 +244,10 @@ services: ...@@ -245,15 +244,10 @@ services:
TEXTIN_SECRET_CODE: TEXTIN_SECRET_CODE:
fastgpt-code-sandbox: fastgpt-code-sandbox:
container_name: fastgpt-code-sandbox container_name: fastgpt-code-sandbox
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox:v4.15.0-beta1 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox:v4.15.0
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
read_only: true
tmpfs:
- /tmp:size=128m,noexec,nosuid,nodev
cap_drop:
- ALL
security_opt: security_opt:
- no-new-privileges:true - no-new-privileges:true
environment: environment:
...@@ -304,7 +298,7 @@ services: ...@@ -304,7 +298,7 @@ services:
retries: 3 retries: 3
fastgpt-mcp-server: fastgpt-mcp-server:
container_name: fastgpt-mcp-server container_name: fastgpt-mcp-server
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.15.0-beta1 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.14.23
networks: networks:
- app - app
ports: ports:
...@@ -314,7 +308,7 @@ services: ...@@ -314,7 +308,7 @@ services:
<<: [*x-log-config, *x-no-proxy-config] <<: [*x-log-config, *x-no-proxy-config]
FASTGPT_ENDPOINT: http://fastgpt-app:3000 FASTGPT_ENDPOINT: http://fastgpt-app:3000
fastgpt-plugin: fastgpt-plugin:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-plugin:v0.6.2 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-plugin:v1.0.0
container_name: fastgpt-plugin container_name: fastgpt-plugin
restart: always restart: always
networks: networks:
...@@ -342,7 +336,7 @@ services: ...@@ -342,7 +336,7 @@ services:
# AI Proxy # AI Proxy
fastgpt-aiproxy: fastgpt-aiproxy:
image: registry.cn-hangzhou.aliyuncs.com/labring/aiproxy:v0.5.8 image: registry.cn-hangzhou.aliyuncs.com/labring/aiproxy:v0.6.5
container_name: fastgpt-aiproxy container_name: fastgpt-aiproxy
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
......
...@@ -47,7 +47,6 @@ x-vec-config: &x-vec-config ...@@ -47,7 +47,6 @@ x-vec-config: &x-vec-config
SEEKDB_URL: mysql://root:seekdbpassword@fastgpt-vector:2881/mysql SEEKDB_URL: mysql://root:seekdbpassword@fastgpt-vector:2881/mysql
services: services:
# Vector DB
fastgpt-vector: fastgpt-vector:
image: oceanbase/seekdb:1.0.1.0-100000392025122619 image: oceanbase/seekdb:1.0.1.0-100000392025122619
container_name: fastgpt-seekdb container_name: fastgpt-seekdb
...@@ -158,7 +157,7 @@ services: ...@@ -158,7 +157,7 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.15.0-beta1 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.15.0
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
...@@ -250,15 +249,10 @@ services: ...@@ -250,15 +249,10 @@ services:
TEXTIN_SECRET_CODE: TEXTIN_SECRET_CODE:
fastgpt-code-sandbox: fastgpt-code-sandbox:
container_name: fastgpt-code-sandbox container_name: fastgpt-code-sandbox
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox:v4.15.0-beta1 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox:v4.15.0
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
read_only: true
tmpfs:
- /tmp:size=128m,noexec,nosuid,nodev
cap_drop:
- ALL
security_opt: security_opt:
- no-new-privileges:true - no-new-privileges:true
environment: environment:
...@@ -309,7 +303,7 @@ services: ...@@ -309,7 +303,7 @@ services:
retries: 3 retries: 3
fastgpt-mcp-server: fastgpt-mcp-server:
container_name: fastgpt-mcp-server container_name: fastgpt-mcp-server
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.15.0-beta1 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.14.23
networks: networks:
- app - app
ports: ports:
...@@ -319,7 +313,7 @@ services: ...@@ -319,7 +313,7 @@ services:
<<: [*x-log-config, *x-no-proxy-config] <<: [*x-log-config, *x-no-proxy-config]
FASTGPT_ENDPOINT: http://fastgpt-app:3000 FASTGPT_ENDPOINT: http://fastgpt-app:3000
fastgpt-plugin: fastgpt-plugin:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-plugin:v0.6.2 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-plugin:v1.0.0
container_name: fastgpt-plugin container_name: fastgpt-plugin
restart: always restart: always
networks: networks:
...@@ -347,7 +341,7 @@ services: ...@@ -347,7 +341,7 @@ services:
# AI Proxy # AI Proxy
fastgpt-aiproxy: fastgpt-aiproxy:
image: registry.cn-hangzhou.aliyuncs.com/labring/aiproxy:v0.5.8 image: registry.cn-hangzhou.aliyuncs.com/labring/aiproxy:v0.6.5
container_name: fastgpt-aiproxy container_name: fastgpt-aiproxy
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
......
...@@ -48,8 +48,6 @@ x-vec-config: &x-vec-config ...@@ -48,8 +48,6 @@ x-vec-config: &x-vec-config
MILVUS_TOKEN: zilliz_cloud_token MILVUS_TOKEN: zilliz_cloud_token
services: services:
# Vector DB
fastgpt-mongo: fastgpt-mongo:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/mongo:5.0.32 # cpu 不支持 AVX 时候使用 4.4.29 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/mongo:5.0.32 # cpu 不支持 AVX 时候使用 4.4.29
container_name: fastgpt-mongo container_name: fastgpt-mongo
...@@ -137,7 +135,7 @@ services: ...@@ -137,7 +135,7 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.15.0-beta1 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt:v4.15.0
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
...@@ -229,15 +227,10 @@ services: ...@@ -229,15 +227,10 @@ services:
TEXTIN_SECRET_CODE: TEXTIN_SECRET_CODE:
fastgpt-code-sandbox: fastgpt-code-sandbox:
container_name: fastgpt-code-sandbox container_name: fastgpt-code-sandbox
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox:v4.15.0-beta1 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-code-sandbox:v4.15.0
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
read_only: true
tmpfs:
- /tmp:size=128m,noexec,nosuid,nodev
cap_drop:
- ALL
security_opt: security_opt:
- no-new-privileges:true - no-new-privileges:true
environment: environment:
...@@ -288,7 +281,7 @@ services: ...@@ -288,7 +281,7 @@ services:
retries: 3 retries: 3
fastgpt-mcp-server: fastgpt-mcp-server:
container_name: fastgpt-mcp-server container_name: fastgpt-mcp-server
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.15.0-beta1 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.14.23
networks: networks:
- app - app
ports: ports:
...@@ -298,7 +291,7 @@ services: ...@@ -298,7 +291,7 @@ services:
<<: [*x-log-config, *x-no-proxy-config] <<: [*x-log-config, *x-no-proxy-config]
FASTGPT_ENDPOINT: http://fastgpt-app:3000 FASTGPT_ENDPOINT: http://fastgpt-app:3000
fastgpt-plugin: fastgpt-plugin:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-plugin:v0.6.2 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-plugin:v1.0.0
container_name: fastgpt-plugin container_name: fastgpt-plugin
restart: always restart: always
networks: networks:
...@@ -326,7 +319,7 @@ services: ...@@ -326,7 +319,7 @@ services:
# AI Proxy # AI Proxy
fastgpt-aiproxy: fastgpt-aiproxy:
image: registry.cn-hangzhou.aliyuncs.com/labring/aiproxy:v0.5.8 image: registry.cn-hangzhou.aliyuncs.com/labring/aiproxy:v0.6.5
container_name: fastgpt-aiproxy container_name: fastgpt-aiproxy
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
......
...@@ -48,7 +48,6 @@ x-vec-config: &x-vec-config ...@@ -48,7 +48,6 @@ x-vec-config: &x-vec-config
MILVUS_TOKEN: none MILVUS_TOKEN: none
services: services:
# Vector DB
fastgpt-milvus-minio: fastgpt-milvus-minio:
container_name: fastgpt-milvus-minio container_name: fastgpt-milvus-minio
image: minio/minio:RELEASE.2023-03-20T20-16-18Z image: minio/minio:RELEASE.2023-03-20T20-16-18Z
...@@ -193,7 +192,7 @@ services: ...@@ -193,7 +192,7 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: ghcr.io/labring/fastgpt:v4.15.0-beta1 image: ghcr.io/labring/fastgpt:v4.15.0
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
...@@ -285,15 +284,10 @@ services: ...@@ -285,15 +284,10 @@ services:
TEXTIN_SECRET_CODE: TEXTIN_SECRET_CODE:
fastgpt-code-sandbox: fastgpt-code-sandbox:
container_name: fastgpt-code-sandbox container_name: fastgpt-code-sandbox
image: ghcr.io/labring/fastgpt-code-sandbox:v4.15.0-beta1 image: ghcr.io/labring/fastgpt-code-sandbox:v4.15.0
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
read_only: true
tmpfs:
- /tmp:size=128m,noexec,nosuid,nodev
cap_drop:
- ALL
security_opt: security_opt:
- no-new-privileges:true - no-new-privileges:true
environment: environment:
...@@ -344,7 +338,7 @@ services: ...@@ -344,7 +338,7 @@ services:
retries: 3 retries: 3
fastgpt-mcp-server: fastgpt-mcp-server:
container_name: fastgpt-mcp-server container_name: fastgpt-mcp-server
image: ghcr.io/labring/fastgpt-mcp_server:v4.15.0-beta1 image: ghcr.io/labring/fastgpt-mcp_server:v4.14.23
networks: networks:
- app - app
ports: ports:
...@@ -354,7 +348,7 @@ services: ...@@ -354,7 +348,7 @@ services:
<<: [*x-log-config, *x-no-proxy-config] <<: [*x-log-config, *x-no-proxy-config]
FASTGPT_ENDPOINT: http://fastgpt-app:3000 FASTGPT_ENDPOINT: http://fastgpt-app:3000
fastgpt-plugin: fastgpt-plugin:
image: ghcr.io/labring/fastgpt-plugin:v0.6.2 image: ghcr.io/labring/fastgpt-plugin:v1.0.0
container_name: fastgpt-plugin container_name: fastgpt-plugin
restart: always restart: always
networks: networks:
...@@ -382,7 +376,7 @@ services: ...@@ -382,7 +376,7 @@ services:
# AI Proxy # AI Proxy
fastgpt-aiproxy: fastgpt-aiproxy:
image: ghcr.io/labring/aiproxy:v0.5.8 image: ghcr.io/labring/aiproxy:v0.6.5
container_name: fastgpt-aiproxy container_name: fastgpt-aiproxy
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
......
...@@ -47,7 +47,6 @@ x-vec-config: &x-vec-config ...@@ -47,7 +47,6 @@ x-vec-config: &x-vec-config
OCEANBASE_URL: mysql://root%40tenantname:tenantpassword@fastgpt-vector:2881/mysql OCEANBASE_URL: mysql://root%40tenantname:tenantpassword@fastgpt-vector:2881/mysql
services: services:
# Vector DB
fastgpt-vector: fastgpt-vector:
image: oceanbase/oceanbase-ce:4.3.5-lts image: oceanbase/oceanbase-ce:4.3.5-lts
container_name: fastgpt-ob container_name: fastgpt-ob
...@@ -171,7 +170,7 @@ services: ...@@ -171,7 +170,7 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: ghcr.io/labring/fastgpt:v4.15.0-beta1 image: ghcr.io/labring/fastgpt:v4.15.0
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
...@@ -263,15 +262,10 @@ services: ...@@ -263,15 +262,10 @@ services:
TEXTIN_SECRET_CODE: TEXTIN_SECRET_CODE:
fastgpt-code-sandbox: fastgpt-code-sandbox:
container_name: fastgpt-code-sandbox container_name: fastgpt-code-sandbox
image: ghcr.io/labring/fastgpt-code-sandbox:v4.15.0-beta1 image: ghcr.io/labring/fastgpt-code-sandbox:v4.15.0
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
read_only: true
tmpfs:
- /tmp:size=128m,noexec,nosuid,nodev
cap_drop:
- ALL
security_opt: security_opt:
- no-new-privileges:true - no-new-privileges:true
environment: environment:
...@@ -322,7 +316,7 @@ services: ...@@ -322,7 +316,7 @@ services:
retries: 3 retries: 3
fastgpt-mcp-server: fastgpt-mcp-server:
container_name: fastgpt-mcp-server container_name: fastgpt-mcp-server
image: ghcr.io/labring/fastgpt-mcp_server:v4.15.0-beta1 image: ghcr.io/labring/fastgpt-mcp_server:v4.14.23
networks: networks:
- app - app
ports: ports:
...@@ -332,7 +326,7 @@ services: ...@@ -332,7 +326,7 @@ services:
<<: [*x-log-config, *x-no-proxy-config] <<: [*x-log-config, *x-no-proxy-config]
FASTGPT_ENDPOINT: http://fastgpt-app:3000 FASTGPT_ENDPOINT: http://fastgpt-app:3000
fastgpt-plugin: fastgpt-plugin:
image: ghcr.io/labring/fastgpt-plugin:v0.6.2 image: ghcr.io/labring/fastgpt-plugin:v1.0.0
container_name: fastgpt-plugin container_name: fastgpt-plugin
restart: always restart: always
networks: networks:
...@@ -360,7 +354,7 @@ services: ...@@ -360,7 +354,7 @@ services:
# AI Proxy # AI Proxy
fastgpt-aiproxy: fastgpt-aiproxy:
image: ghcr.io/labring/aiproxy:v0.5.8 image: ghcr.io/labring/aiproxy:v0.6.5
container_name: fastgpt-aiproxy container_name: fastgpt-aiproxy
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
......
...@@ -47,7 +47,6 @@ x-vec-config: &x-vec-config ...@@ -47,7 +47,6 @@ x-vec-config: &x-vec-config
OPENGAUSS_URL: postgresql://gaussdb:FastGPT@123@fastgpt-vector:5432/fastgpt OPENGAUSS_URL: postgresql://gaussdb:FastGPT@123@fastgpt-vector:5432/fastgpt
services: services:
# Vector DB
fastgpt-vector: fastgpt-vector:
image: opengauss/opengauss:7.0.0-RC1 image: opengauss/opengauss:7.0.0-RC1
container_name: fastgpt-opengauss container_name: fastgpt-opengauss
...@@ -155,7 +154,7 @@ services: ...@@ -155,7 +154,7 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: ghcr.io/labring/fastgpt:v4.15.0-beta1 image: ghcr.io/labring/fastgpt:v4.15.0
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
...@@ -247,15 +246,10 @@ services: ...@@ -247,15 +246,10 @@ services:
TEXTIN_SECRET_CODE: TEXTIN_SECRET_CODE:
fastgpt-code-sandbox: fastgpt-code-sandbox:
container_name: fastgpt-code-sandbox container_name: fastgpt-code-sandbox
image: ghcr.io/labring/fastgpt-code-sandbox:v4.15.0-beta1 image: ghcr.io/labring/fastgpt-code-sandbox:v4.15.0
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
read_only: true
tmpfs:
- /tmp:size=128m,noexec,nosuid,nodev
cap_drop:
- ALL
security_opt: security_opt:
- no-new-privileges:true - no-new-privileges:true
environment: environment:
...@@ -306,7 +300,7 @@ services: ...@@ -306,7 +300,7 @@ services:
retries: 3 retries: 3
fastgpt-mcp-server: fastgpt-mcp-server:
container_name: fastgpt-mcp-server container_name: fastgpt-mcp-server
image: ghcr.io/labring/fastgpt-mcp_server:v4.15.0-beta1 image: ghcr.io/labring/fastgpt-mcp_server:v4.14.23
networks: networks:
- app - app
ports: ports:
...@@ -316,7 +310,7 @@ services: ...@@ -316,7 +310,7 @@ services:
<<: [*x-log-config, *x-no-proxy-config] <<: [*x-log-config, *x-no-proxy-config]
FASTGPT_ENDPOINT: http://fastgpt-app:3000 FASTGPT_ENDPOINT: http://fastgpt-app:3000
fastgpt-plugin: fastgpt-plugin:
image: ghcr.io/labring/fastgpt-plugin:v0.6.2 image: ghcr.io/labring/fastgpt-plugin:v1.0.0
container_name: fastgpt-plugin container_name: fastgpt-plugin
restart: always restart: always
networks: networks:
...@@ -344,7 +338,7 @@ services: ...@@ -344,7 +338,7 @@ services:
# AI Proxy # AI Proxy
fastgpt-aiproxy: fastgpt-aiproxy:
image: ghcr.io/labring/aiproxy:v0.5.8 image: ghcr.io/labring/aiproxy:v0.6.5
container_name: fastgpt-aiproxy container_name: fastgpt-aiproxy
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
......
...@@ -47,7 +47,6 @@ x-vec-config: &x-vec-config ...@@ -47,7 +47,6 @@ x-vec-config: &x-vec-config
PG_URL: postgresql://username:password@fastgpt-vector:5432/postgres PG_URL: postgresql://username:password@fastgpt-vector:5432/postgres
services: services:
# Vector DB
fastgpt-vector: fastgpt-vector:
image: pgvector/pgvector:0.8.0-pg15 image: pgvector/pgvector:0.8.0-pg15
container_name: fastgpt-pg container_name: fastgpt-pg
...@@ -153,7 +152,7 @@ services: ...@@ -153,7 +152,7 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: ghcr.io/labring/fastgpt:v4.15.0-beta1 image: ghcr.io/labring/fastgpt:v4.15.0
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
...@@ -245,15 +244,10 @@ services: ...@@ -245,15 +244,10 @@ services:
TEXTIN_SECRET_CODE: TEXTIN_SECRET_CODE:
fastgpt-code-sandbox: fastgpt-code-sandbox:
container_name: fastgpt-code-sandbox container_name: fastgpt-code-sandbox
image: ghcr.io/labring/fastgpt-code-sandbox:v4.15.0-beta1 image: ghcr.io/labring/fastgpt-code-sandbox:v4.15.0
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
read_only: true
tmpfs:
- /tmp:size=128m,noexec,nosuid,nodev
cap_drop:
- ALL
security_opt: security_opt:
- no-new-privileges:true - no-new-privileges:true
environment: environment:
...@@ -304,7 +298,7 @@ services: ...@@ -304,7 +298,7 @@ services:
retries: 3 retries: 3
fastgpt-mcp-server: fastgpt-mcp-server:
container_name: fastgpt-mcp-server container_name: fastgpt-mcp-server
image: ghcr.io/labring/fastgpt-mcp_server:v4.15.0-beta1 image: ghcr.io/labring/fastgpt-mcp_server:v4.14.23
networks: networks:
- app - app
ports: ports:
...@@ -314,7 +308,7 @@ services: ...@@ -314,7 +308,7 @@ services:
<<: [*x-log-config, *x-no-proxy-config] <<: [*x-log-config, *x-no-proxy-config]
FASTGPT_ENDPOINT: http://fastgpt-app:3000 FASTGPT_ENDPOINT: http://fastgpt-app:3000
fastgpt-plugin: fastgpt-plugin:
image: ghcr.io/labring/fastgpt-plugin:v0.6.2 image: ghcr.io/labring/fastgpt-plugin:v1.0.0
container_name: fastgpt-plugin container_name: fastgpt-plugin
restart: always restart: always
networks: networks:
...@@ -342,7 +336,7 @@ services: ...@@ -342,7 +336,7 @@ services:
# AI Proxy # AI Proxy
fastgpt-aiproxy: fastgpt-aiproxy:
image: ghcr.io/labring/aiproxy:v0.5.8 image: ghcr.io/labring/aiproxy:v0.6.5
container_name: fastgpt-aiproxy container_name: fastgpt-aiproxy
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
......
...@@ -47,7 +47,6 @@ x-vec-config: &x-vec-config ...@@ -47,7 +47,6 @@ x-vec-config: &x-vec-config
SEEKDB_URL: mysql://root:seekdbpassword@fastgpt-vector:2881/mysql SEEKDB_URL: mysql://root:seekdbpassword@fastgpt-vector:2881/mysql
services: services:
# Vector DB
fastgpt-vector: fastgpt-vector:
image: oceanbase/seekdb:1.0.1.0-100000392025122619 image: oceanbase/seekdb:1.0.1.0-100000392025122619
container_name: fastgpt-seekdb container_name: fastgpt-seekdb
...@@ -158,7 +157,7 @@ services: ...@@ -158,7 +157,7 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: ghcr.io/labring/fastgpt:v4.15.0-beta1 image: ghcr.io/labring/fastgpt:v4.15.0
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
...@@ -250,15 +249,10 @@ services: ...@@ -250,15 +249,10 @@ services:
TEXTIN_SECRET_CODE: TEXTIN_SECRET_CODE:
fastgpt-code-sandbox: fastgpt-code-sandbox:
container_name: fastgpt-code-sandbox container_name: fastgpt-code-sandbox
image: ghcr.io/labring/fastgpt-code-sandbox:v4.15.0-beta1 image: ghcr.io/labring/fastgpt-code-sandbox:v4.15.0
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
read_only: true
tmpfs:
- /tmp:size=128m,noexec,nosuid,nodev
cap_drop:
- ALL
security_opt: security_opt:
- no-new-privileges:true - no-new-privileges:true
environment: environment:
...@@ -309,7 +303,7 @@ services: ...@@ -309,7 +303,7 @@ services:
retries: 3 retries: 3
fastgpt-mcp-server: fastgpt-mcp-server:
container_name: fastgpt-mcp-server container_name: fastgpt-mcp-server
image: ghcr.io/labring/fastgpt-mcp_server:v4.15.0-beta1 image: ghcr.io/labring/fastgpt-mcp_server:v4.14.23
networks: networks:
- app - app
ports: ports:
...@@ -319,7 +313,7 @@ services: ...@@ -319,7 +313,7 @@ services:
<<: [*x-log-config, *x-no-proxy-config] <<: [*x-log-config, *x-no-proxy-config]
FASTGPT_ENDPOINT: http://fastgpt-app:3000 FASTGPT_ENDPOINT: http://fastgpt-app:3000
fastgpt-plugin: fastgpt-plugin:
image: ghcr.io/labring/fastgpt-plugin:v0.6.2 image: ghcr.io/labring/fastgpt-plugin:v1.0.0
container_name: fastgpt-plugin container_name: fastgpt-plugin
restart: always restart: always
networks: networks:
...@@ -347,7 +341,7 @@ services: ...@@ -347,7 +341,7 @@ services:
# AI Proxy # AI Proxy
fastgpt-aiproxy: fastgpt-aiproxy:
image: ghcr.io/labring/aiproxy:v0.5.8 image: ghcr.io/labring/aiproxy:v0.6.5
container_name: fastgpt-aiproxy container_name: fastgpt-aiproxy
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
......
...@@ -48,8 +48,6 @@ x-vec-config: &x-vec-config ...@@ -48,8 +48,6 @@ x-vec-config: &x-vec-config
MILVUS_TOKEN: zilliz_cloud_token MILVUS_TOKEN: zilliz_cloud_token
services: services:
# Vector DB
fastgpt-mongo: fastgpt-mongo:
image: mongo:5.0.32 # cpu 不支持 AVX 时候使用 4.4.29 image: mongo:5.0.32 # cpu 不支持 AVX 时候使用 4.4.29
container_name: fastgpt-mongo container_name: fastgpt-mongo
...@@ -137,7 +135,7 @@ services: ...@@ -137,7 +135,7 @@ services:
fastgpt-app: fastgpt-app:
container_name: fastgpt-app container_name: fastgpt-app
image: ghcr.io/labring/fastgpt:v4.15.0-beta1 image: ghcr.io/labring/fastgpt:v4.15.0
ports: ports:
- 3000:3000 - 3000:3000
networks: networks:
...@@ -229,15 +227,10 @@ services: ...@@ -229,15 +227,10 @@ services:
TEXTIN_SECRET_CODE: TEXTIN_SECRET_CODE:
fastgpt-code-sandbox: fastgpt-code-sandbox:
container_name: fastgpt-code-sandbox container_name: fastgpt-code-sandbox
image: ghcr.io/labring/fastgpt-code-sandbox:v4.15.0-beta1 image: ghcr.io/labring/fastgpt-code-sandbox:v4.15.0
networks: networks:
- codesandbox - codesandbox
restart: always restart: always
read_only: true
tmpfs:
- /tmp:size=128m,noexec,nosuid,nodev
cap_drop:
- ALL
security_opt: security_opt:
- no-new-privileges:true - no-new-privileges:true
environment: environment:
...@@ -288,7 +281,7 @@ services: ...@@ -288,7 +281,7 @@ services:
retries: 3 retries: 3
fastgpt-mcp-server: fastgpt-mcp-server:
container_name: fastgpt-mcp-server container_name: fastgpt-mcp-server
image: ghcr.io/labring/fastgpt-mcp_server:v4.15.0-beta1 image: ghcr.io/labring/fastgpt-mcp_server:v4.14.23
networks: networks:
- app - app
ports: ports:
...@@ -298,7 +291,7 @@ services: ...@@ -298,7 +291,7 @@ services:
<<: [*x-log-config, *x-no-proxy-config] <<: [*x-log-config, *x-no-proxy-config]
FASTGPT_ENDPOINT: http://fastgpt-app:3000 FASTGPT_ENDPOINT: http://fastgpt-app:3000
fastgpt-plugin: fastgpt-plugin:
image: ghcr.io/labring/fastgpt-plugin:v0.6.2 image: ghcr.io/labring/fastgpt-plugin:v1.0.0
container_name: fastgpt-plugin container_name: fastgpt-plugin
restart: always restart: always
networks: networks:
...@@ -326,7 +319,7 @@ services: ...@@ -326,7 +319,7 @@ services:
# AI Proxy # AI Proxy
fastgpt-aiproxy: fastgpt-aiproxy:
image: ghcr.io/labring/aiproxy:v0.5.8 image: ghcr.io/labring/aiproxy:v0.6.5
container_name: fastgpt-aiproxy container_name: fastgpt-aiproxy
restart: unless-stopped restart: unless-stopped
depends_on: depends_on:
......
...@@ -50,7 +50,6 @@ x-vec-config: &x-vec-config ...@@ -50,7 +50,6 @@ x-vec-config: &x-vec-config
MILVUS_TOKEN: none MILVUS_TOKEN: none
services: services:
# Vector DB
fastgpt-milvus-minio: fastgpt-milvus-minio:
container_name: fastgpt-milvus-minio container_name: fastgpt-milvus-minio
image: minio/minio:RELEASE.2023-03-20T20-16-18Z image: minio/minio:RELEASE.2023-03-20T20-16-18Z
...@@ -325,7 +324,7 @@ services: ...@@ -325,7 +324,7 @@ services:
retries: 3 retries: 3
fastgpt-mcp-server: fastgpt-mcp-server:
container_name: fastgpt-mcp-server container_name: fastgpt-mcp-server
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.14.22 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.14.23
networks: networks:
- app - app
ports: ports:
......
...@@ -49,7 +49,6 @@ x-vec-config: &x-vec-config ...@@ -49,7 +49,6 @@ x-vec-config: &x-vec-config
OCEANBASE_URL: mysql://root%40tenantname:tenantpassword@fastgpt-vector:2881/mysql OCEANBASE_URL: mysql://root%40tenantname:tenantpassword@fastgpt-vector:2881/mysql
services: services:
# Vector DB
fastgpt-vector: fastgpt-vector:
image: oceanbase/oceanbase-ce:4.3.5-lts image: oceanbase/oceanbase-ce:4.3.5-lts
container_name: fastgpt-ob container_name: fastgpt-ob
...@@ -303,7 +302,7 @@ services: ...@@ -303,7 +302,7 @@ services:
retries: 3 retries: 3
fastgpt-mcp-server: fastgpt-mcp-server:
container_name: fastgpt-mcp-server container_name: fastgpt-mcp-server
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.14.22 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.14.23
networks: networks:
- app - app
ports: ports:
......
...@@ -49,7 +49,6 @@ x-vec-config: &x-vec-config ...@@ -49,7 +49,6 @@ x-vec-config: &x-vec-config
OPENGAUSS_URL: postgresql://gaussdb:FastGPT@123@fastgpt-vector:5432/fastgpt OPENGAUSS_URL: postgresql://gaussdb:FastGPT@123@fastgpt-vector:5432/fastgpt
services: services:
# Vector DB
fastgpt-vector: fastgpt-vector:
image: opengauss/opengauss:7.0.0-RC1 image: opengauss/opengauss:7.0.0-RC1
container_name: fastgpt-opengauss container_name: fastgpt-opengauss
...@@ -287,7 +286,7 @@ services: ...@@ -287,7 +286,7 @@ services:
retries: 3 retries: 3
fastgpt-mcp-server: fastgpt-mcp-server:
container_name: fastgpt-mcp-server container_name: fastgpt-mcp-server
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.14.22 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.14.23
networks: networks:
- app - app
ports: ports:
......
...@@ -49,7 +49,6 @@ x-vec-config: &x-vec-config ...@@ -49,7 +49,6 @@ x-vec-config: &x-vec-config
PG_URL: postgresql://username:password@fastgpt-vector:5432/postgres PG_URL: postgresql://username:password@fastgpt-vector:5432/postgres
services: services:
# Vector DB
fastgpt-vector: fastgpt-vector:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/pgvector:0.8.0-pg15 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/pgvector:0.8.0-pg15
container_name: fastgpt-pg container_name: fastgpt-pg
...@@ -285,7 +284,7 @@ services: ...@@ -285,7 +284,7 @@ services:
retries: 3 retries: 3
fastgpt-mcp-server: fastgpt-mcp-server:
container_name: fastgpt-mcp-server container_name: fastgpt-mcp-server
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.14.22 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.14.23
networks: networks:
- app - app
ports: ports:
......
...@@ -49,7 +49,6 @@ x-vec-config: &x-vec-config ...@@ -49,7 +49,6 @@ x-vec-config: &x-vec-config
SEEKDB_URL: mysql://root:seekdbpassword@fastgpt-vector:2881/mysql SEEKDB_URL: mysql://root:seekdbpassword@fastgpt-vector:2881/mysql
services: services:
# Vector DB
fastgpt-vector: fastgpt-vector:
image: oceanbase/seekdb:1.0.1.0-100000392025122619 image: oceanbase/seekdb:1.0.1.0-100000392025122619
container_name: fastgpt-seekdb container_name: fastgpt-seekdb
...@@ -290,7 +289,7 @@ services: ...@@ -290,7 +289,7 @@ services:
retries: 3 retries: 3
fastgpt-mcp-server: fastgpt-mcp-server:
container_name: fastgpt-mcp-server container_name: fastgpt-mcp-server
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.14.22 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.14.23
networks: networks:
- app - app
ports: ports:
......
...@@ -50,8 +50,6 @@ x-vec-config: &x-vec-config ...@@ -50,8 +50,6 @@ x-vec-config: &x-vec-config
MILVUS_TOKEN: zilliz_cloud_token MILVUS_TOKEN: zilliz_cloud_token
services: services:
# Vector DB
fastgpt-mongo: fastgpt-mongo:
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/mongo:5.0.32 # cpu 不支持 AVX 时候使用 4.4.29 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/mongo:5.0.32 # cpu 不支持 AVX 时候使用 4.4.29
container_name: fastgpt-mongo container_name: fastgpt-mongo
...@@ -269,7 +267,7 @@ services: ...@@ -269,7 +267,7 @@ services:
retries: 3 retries: 3
fastgpt-mcp-server: fastgpt-mcp-server:
container_name: fastgpt-mcp-server container_name: fastgpt-mcp-server
image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.14.22 image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.14.23
networks: networks:
- app - app
ports: ports:
......
...@@ -50,7 +50,6 @@ x-vec-config: &x-vec-config ...@@ -50,7 +50,6 @@ x-vec-config: &x-vec-config
MILVUS_TOKEN: none MILVUS_TOKEN: none
services: services:
# Vector DB
fastgpt-milvus-minio: fastgpt-milvus-minio:
container_name: fastgpt-milvus-minio container_name: fastgpt-milvus-minio
image: minio/minio:RELEASE.2023-03-20T20-16-18Z image: minio/minio:RELEASE.2023-03-20T20-16-18Z
...@@ -325,7 +324,7 @@ services: ...@@ -325,7 +324,7 @@ services:
retries: 3 retries: 3
fastgpt-mcp-server: fastgpt-mcp-server:
container_name: fastgpt-mcp-server container_name: fastgpt-mcp-server
image: ghcr.io/labring/fastgpt-mcp_server:v4.14.22 image: ghcr.io/labring/fastgpt-mcp_server:v4.14.23
networks: networks:
- app - app
ports: ports:
......
...@@ -49,7 +49,6 @@ x-vec-config: &x-vec-config ...@@ -49,7 +49,6 @@ x-vec-config: &x-vec-config
OCEANBASE_URL: mysql://root%40tenantname:tenantpassword@fastgpt-vector:2881/mysql OCEANBASE_URL: mysql://root%40tenantname:tenantpassword@fastgpt-vector:2881/mysql
services: services:
# Vector DB
fastgpt-vector: fastgpt-vector:
image: oceanbase/oceanbase-ce:4.3.5-lts image: oceanbase/oceanbase-ce:4.3.5-lts
container_name: fastgpt-ob container_name: fastgpt-ob
...@@ -303,7 +302,7 @@ services: ...@@ -303,7 +302,7 @@ services:
retries: 3 retries: 3
fastgpt-mcp-server: fastgpt-mcp-server:
container_name: fastgpt-mcp-server container_name: fastgpt-mcp-server
image: ghcr.io/labring/fastgpt-mcp_server:v4.14.22 image: ghcr.io/labring/fastgpt-mcp_server:v4.14.23
networks: networks:
- app - app
ports: ports:
......
...@@ -49,7 +49,6 @@ x-vec-config: &x-vec-config ...@@ -49,7 +49,6 @@ x-vec-config: &x-vec-config
OPENGAUSS_URL: postgresql://gaussdb:FastGPT@123@fastgpt-vector:5432/fastgpt OPENGAUSS_URL: postgresql://gaussdb:FastGPT@123@fastgpt-vector:5432/fastgpt
services: services:
# Vector DB
fastgpt-vector: fastgpt-vector:
image: opengauss/opengauss:7.0.0-RC1 image: opengauss/opengauss:7.0.0-RC1
container_name: fastgpt-opengauss container_name: fastgpt-opengauss
...@@ -287,7 +286,7 @@ services: ...@@ -287,7 +286,7 @@ services:
retries: 3 retries: 3
fastgpt-mcp-server: fastgpt-mcp-server:
container_name: fastgpt-mcp-server container_name: fastgpt-mcp-server
image: ghcr.io/labring/fastgpt-mcp_server:v4.14.22 image: ghcr.io/labring/fastgpt-mcp_server:v4.14.23
networks: networks:
- app - app
ports: ports:
......
...@@ -49,7 +49,6 @@ x-vec-config: &x-vec-config ...@@ -49,7 +49,6 @@ x-vec-config: &x-vec-config
PG_URL: postgresql://username:password@fastgpt-vector:5432/postgres PG_URL: postgresql://username:password@fastgpt-vector:5432/postgres
services: services:
# Vector DB
fastgpt-vector: fastgpt-vector:
image: pgvector/pgvector:0.8.0-pg15 image: pgvector/pgvector:0.8.0-pg15
container_name: fastgpt-pg container_name: fastgpt-pg
...@@ -285,7 +284,7 @@ services: ...@@ -285,7 +284,7 @@ services:
retries: 3 retries: 3
fastgpt-mcp-server: fastgpt-mcp-server:
container_name: fastgpt-mcp-server container_name: fastgpt-mcp-server
image: ghcr.io/labring/fastgpt-mcp_server:v4.14.22 image: ghcr.io/labring/fastgpt-mcp_server:v4.14.23
networks: networks:
- app - app
ports: ports:
......
...@@ -49,7 +49,6 @@ x-vec-config: &x-vec-config ...@@ -49,7 +49,6 @@ x-vec-config: &x-vec-config
SEEKDB_URL: mysql://root:seekdbpassword@fastgpt-vector:2881/mysql SEEKDB_URL: mysql://root:seekdbpassword@fastgpt-vector:2881/mysql
services: services:
# Vector DB
fastgpt-vector: fastgpt-vector:
image: oceanbase/seekdb:1.0.1.0-100000392025122619 image: oceanbase/seekdb:1.0.1.0-100000392025122619
container_name: fastgpt-seekdb container_name: fastgpt-seekdb
...@@ -290,7 +289,7 @@ services: ...@@ -290,7 +289,7 @@ services:
retries: 3 retries: 3
fastgpt-mcp-server: fastgpt-mcp-server:
container_name: fastgpt-mcp-server container_name: fastgpt-mcp-server
image: ghcr.io/labring/fastgpt-mcp_server:v4.14.22 image: ghcr.io/labring/fastgpt-mcp_server:v4.14.23
networks: networks:
- app - app
ports: ports:
......
...@@ -50,8 +50,6 @@ x-vec-config: &x-vec-config ...@@ -50,8 +50,6 @@ x-vec-config: &x-vec-config
MILVUS_TOKEN: zilliz_cloud_token MILVUS_TOKEN: zilliz_cloud_token
services: services:
# Vector DB
fastgpt-mongo: fastgpt-mongo:
image: mongo:5.0.32 # cpu 不支持 AVX 时候使用 4.4.29 image: mongo:5.0.32 # cpu 不支持 AVX 时候使用 4.4.29
container_name: fastgpt-mongo container_name: fastgpt-mongo
...@@ -269,7 +267,7 @@ services: ...@@ -269,7 +267,7 @@ services:
retries: 3 retries: 3
fastgpt-mcp-server: fastgpt-mcp-server:
container_name: fastgpt-mcp-server container_name: fastgpt-mcp-server
image: ghcr.io/labring/fastgpt-mcp_server:v4.14.22 image: ghcr.io/labring/fastgpt-mcp_server:v4.14.23
networks: networks:
- app - app
ports: ports:
......
...@@ -78,6 +78,10 @@ function stripFragment(url) { ...@@ -78,6 +78,10 @@ function stripFragment(url) {
return url.split('#')[0].split('?')[0]; return url.split('#')[0].split('?')[0];
} }
function isSkippedAttachment(target) {
return /^\/deploy\/.+\.ya?ml$/i.test(target);
}
function normalizeRoutePath(p) { function normalizeRoutePath(p) {
return p.replace(/\/+$/, '').replace(/\.(en\.)?(mdx|md)$/i, ''); return p.replace(/\/+$/, '').replace(/\.(en\.)?(mdx|md)$/i, '');
} }
...@@ -116,6 +120,7 @@ function isValidRef(url, mdxPath) { ...@@ -116,6 +120,7 @@ function isValidRef(url, mdxPath) {
// 绝对路径 // 绝对路径
if (target.startsWith('/')) { if (target.startsWith('/')) {
if (isSkippedAttachment(target)) return { ok: true };
if (target.startsWith('/imgs/')) { if (target.startsWith('/imgs/')) {
const p = path.join(PUBLIC_DIR, target); const p = path.join(PUBLIC_DIR, target);
return fileExists(p) ? { ok: true } : { ok: false, expected: p }; return fileExists(p) ? { ok: true } : { ok: false, expected: p };
......
{ {
"associated_skills": "关联 Skill", "associated_skills": "关联技能",
"confirm_delete_action": "坚持删除", "confirm_delete_action": "坚持删除",
"confirm_delete_title": "确定删除该技能吗?", "confirm_delete_title": "确定删除该技能吗?",
"confirm_delete_with_refs": "该技能当前正被<bold>{{count}}个应用</bold>引用。删除后,相关应用将<bold>无法调用此技能</bold>。建议先解除关联或备份配置。", "confirm_delete_with_refs": "该技能当前正被<bold>{{count}}个应用</bold>引用。删除后,相关应用将<bold>无法调用此技能</bold>。建议先解除关联或备份配置。",
...@@ -15,10 +15,10 @@ ...@@ -15,10 +15,10 @@
"deploy_success": "发布成功", "deploy_success": "发布成功",
"edit_failed": "编辑失败", "edit_failed": "编辑失败",
"edit_success": "编辑成功", "edit_success": "编辑成功",
"empty_state_community_prefix": "通过对话预览 Skill 效果,", "empty_state_community_prefix": "通过对话预览技能效果,",
"empty_state_community_suffix": "可使用 AI 生成 Skill。", "empty_state_community_suffix": "可使用 AI 生成技能。",
"empty_state_community_upgrade": "升级商业版", "empty_state_community_upgrade": "升级商业版",
"empty_state_tip": "告诉 AI 如何修改 Skill,\n或让 AI 运行 Skill 查看效果", "empty_state_tip": "告诉 AI 如何修改技能,\n或让 AI 运行技能查看效果",
"export_config": "导出配置", "export_config": "导出配置",
"export_failed": "导出失败", "export_failed": "导出失败",
"export_success": "导出成功", "export_success": "导出成功",
...@@ -30,28 +30,28 @@ ...@@ -30,28 +30,28 @@
"move_failed": "移动失败", "move_failed": "移动失败",
"move_skill": "移动技能", "move_skill": "移动技能",
"move_skill_hint": "移动后,所选技能/文件夹将继承新文件夹的权限设置。", "move_skill_hint": "移动后,所选技能/文件夹将继承新文件夹的权限设置。",
"no_current_version": "Skill 暂无可用版本,请重新创建或导入后再编辑。", "no_current_version": "技能暂无可用版本,请重新创建或导入后再编辑。",
"no_skills": "暂无 Skill", "no_skills": "暂无技能",
"permission.des.manage": "可管理 Agent Skill 和协作者", "permission.des.manage": "可管理 Agent 技能和协作者",
"permission.des.read": "可查看 Agent Skill", "permission.des.read": "可查看 Agent 技能",
"permission.des.write": "可编辑 Agent Skill", "permission.des.write": "可编辑 Agent 技能",
"permission_settings": "权限设置", "permission_settings": "权限设置",
"related_apps_hidden": "其余 {{count}} 个应用无权限查看", "related_apps_hidden": "其余 {{count}} 个应用无权限查看",
"related_count": "关联应用", "related_count": "关联应用",
"sandbox_auto_enabled_for_skill": "skill运行依赖虚拟机环境,已为你打开虚拟机功能", "sandbox_auto_enabled_for_skill": "技能运行依赖虚拟机环境,已为你打开虚拟机功能",
"sandbox_checking": "正在检查现有沙箱环境...", "sandbox_checking": "正在检查现有沙箱环境...",
"sandbox_connecting": "正在连接沙箱环境...", "sandbox_connecting": "正在连接沙箱环境...",
"sandbox_creating_container": "正在初始化云端沙箱...", "sandbox_creating_container": "正在初始化云端沙箱...",
"sandbox_deploying_skills": "正在部署 Skill: {{skillName}}...", "sandbox_deploying_skills": "正在部署技能: {{skillName}}...",
"sandbox_disable_blocked_toast": "Skill运行依赖虚拟机环境,当前 Agent 已配置 Skill,请先移除所有 Skill 再关闭虚拟机", "sandbox_disable_blocked_toast": "技能运行依赖虚拟机环境,当前 Agent 已配置技能,请先移除所有技能再关闭虚拟机",
"sandbox_downloading": "正在下载 Skill 包...", "sandbox_downloading": "正在下载技能包...",
"sandbox_error_title": "沙箱创建失败", "sandbox_error_title": "沙箱创建失败",
"sandbox_extracting": "正在解压 Skill 包...", "sandbox_extracting": "正在解压技能包...",
"sandbox_failed": "沙箱创建失败: {{message}}", "sandbox_failed": "沙箱创建失败: {{message}}",
"sandbox_fetch_skills": "正在获取 Skill 配置信息...", "sandbox_fetch_skills": "正在获取技能配置信息...",
"sandbox_lazy_init": "正在初始化运行环境...", "sandbox_lazy_init": "正在初始化运行环境...",
"sandbox_operation_plan_not_supported_content": "skill操作依赖虚拟机环境。当前套餐不支持虚拟机功能,请升级套餐后继续使用。", "sandbox_operation_plan_not_supported_content": "技能操作依赖虚拟机环境。当前套餐不支持虚拟机功能,请升级套餐后继续使用。",
"sandbox_operation_system_not_configured_content": "skill操作依赖虚拟机环境。当前系统未配置虚拟机,暂时无法使用相关功能,请联系管理员配置。", "sandbox_operation_system_not_configured_content": "技能操作依赖虚拟机环境。当前系统未配置虚拟机,暂时无法使用相关功能,请联系管理员配置。",
"sandbox_operation_system_not_configured_title": "未配置虚拟机", "sandbox_operation_system_not_configured_title": "未配置虚拟机",
"sandbox_plan_not_supported_title": "套餐不支持功能", "sandbox_plan_not_supported_title": "套餐不支持功能",
"sandbox_ready": "沙箱环境就绪", "sandbox_ready": "沙箱环境就绪",
...@@ -64,23 +64,23 @@ ...@@ -64,23 +64,23 @@
"sandbox_runtime_upgrade_failed": "升级失败,请重新尝试", "sandbox_runtime_upgrade_failed": "升级失败,请重新尝试",
"sandbox_runtime_upgrade_in_progress": "沙盒正在升级中", "sandbox_runtime_upgrade_in_progress": "沙盒正在升级中",
"sandbox_runtime_upgrade_required": "虚拟机环境升级提示", "sandbox_runtime_upgrade_required": "虚拟机环境升级提示",
"sandbox_skill_plan_not_supported_content": "skill运行依赖虚拟机环境。当前套餐不支持虚拟机功能,请升级套餐后继续使用。", "sandbox_skill_plan_not_supported_content": "技能运行依赖虚拟机环境。当前套餐不支持虚拟机功能,请升级套餐后继续使用。",
"sandbox_skill_system_not_configured_toast": "skill运行依赖虚拟机环境。当前系统未配置虚拟机,暂时无法使用相关功能,请联系管理员配置。", "sandbox_skill_system_not_configured_toast": "技能运行依赖虚拟机环境。当前系统未配置虚拟机,暂时无法使用相关功能,请联系管理员配置。",
"sandbox_skill_unavailable_toast": "Skill运行依赖虚拟机环境,当前 Agent 已配置 Skill,请先移除所有 Skill 再关闭虚拟机", "sandbox_skill_unavailable_toast": "技能运行依赖虚拟机环境,当前 Agent 已配置技能,请先移除所有技能再关闭虚拟机",
"sandbox_system_not_configured_toast": "当前系统未配置虚拟机,暂时无法使用相关功能,请联系管理员配置。", "sandbox_system_not_configured_toast": "当前系统未配置虚拟机,暂时无法使用相关功能,请联系管理员配置。",
"sandbox_unavailable_tag": "不可用", "sandbox_unavailable_tag": "不可用",
"sandbox_upgrade_action": "去升级", "sandbox_upgrade_action": "去升级",
"sandbox_uploading": "正在上传 Skill 包到沙箱...", "sandbox_uploading": "正在上传技能包到沙箱...",
"search_skill": "搜索", "search_skill": "搜索",
"select_skill": "选择 Skill", "select_skill": "选择技能",
"skill_avatar_and_name": "头像 & 名称", "skill_avatar_and_name": "头像 & 名称",
"skill_deleted": "技能已删除", "skill_deleted": "技能已删除",
"skill_deleted_click_remove_tip": "技能已删除,点击删除", "skill_deleted_click_remove_tip": "技能已删除,点击删除",
"skill_info_edit": "技能信息编辑", "skill_info_edit": "技能信息编辑",
"skill_intro_label": "应用介绍", "skill_intro_label": "应用介绍",
"skill_intro_placeholder": "介绍使用场景及途径", "skill_intro_placeholder": "介绍使用场景及途径",
"skill_name_placeholder": "请输入 Skill 名称", "skill_name_placeholder": "请输入技能名称",
"skill_select_limit_tip": "已达到单个应用可关联 Skill 的上限(100 个)", "skill_select_limit_tip": "已达到单个应用可关联技能的上限(100 个)",
"unnamed_skill": "未命名", "unnamed_skill": "未命名",
"unsupported_file_format": "不支持 {{ext}} 文件格式" "unsupported_file_format": "不支持 {{ext}} 文件格式"
} }
{ {
"associated_skills": "關聯 Skill", "associated_skills": "關聯技能",
"confirm_delete_action": "堅持刪除", "confirm_delete_action": "堅持刪除",
"confirm_delete_title": "確定刪除該技能嗎?", "confirm_delete_title": "確定刪除該技能嗎?",
"confirm_delete_with_refs": "該技能當前正被<bold>{{count}}個應用</bold>引用。刪除後,相關應用將<bold>無法調用此技能</bold>。建議先解除關聯或備份配置。", "confirm_delete_with_refs": "該技能當前正被<bold>{{count}}個應用</bold>引用。刪除後,相關應用將<bold>無法調用此技能</bold>。建議先解除關聯或備份配置。",
...@@ -15,10 +15,10 @@ ...@@ -15,10 +15,10 @@
"deploy_success": "發布成功", "deploy_success": "發布成功",
"edit_failed": "編輯失敗", "edit_failed": "編輯失敗",
"edit_success": "編輯成功", "edit_success": "編輯成功",
"empty_state_community_prefix": "透過對話預覽 Skill 效果,", "empty_state_community_prefix": "透過對話預覽技能效果,",
"empty_state_community_suffix": "可使用 AI 生成 Skill。", "empty_state_community_suffix": "可使用 AI 生成技能。",
"empty_state_community_upgrade": "升級商業版", "empty_state_community_upgrade": "升級商業版",
"empty_state_tip": "告訴 AI 如何修改 Skill,\n或讓 AI 運行 Skill 查看效果", "empty_state_tip": "告訴 AI 如何修改技能,\n或讓 AI 運行技能查看效果",
"export_config": "導出配置", "export_config": "導出配置",
"export_failed": "導出失敗", "export_failed": "導出失敗",
"export_success": "導出成功", "export_success": "導出成功",
...@@ -28,30 +28,30 @@ ...@@ -28,30 +28,30 @@
"import_skill_max_size_tip": "單次最多上傳 {{maxCount}} 個文件,單個文件最大 {{maxSize}}", "import_skill_max_size_tip": "單次最多上傳 {{maxCount}} 個文件,單個文件最大 {{maxSize}}",
"import_skill_select_file": "上傳技能", "import_skill_select_file": "上傳技能",
"move_failed": "移動失敗", "move_failed": "移動失敗",
"move_skill": "移動 Skill", "move_skill": "移動技能",
"move_skill_hint": "移動後,所選 Skill/文件夾將繼承新文件夾的權限設置。", "move_skill_hint": "移動後,所選技能/文件夾將繼承新文件夾的權限設置。",
"no_current_version": "Skill 暫無可用版本,請重新建立或匯入後再編輯。", "no_current_version": "技能暫無可用版本,請重新建立或匯入後再編輯。",
"no_skills": "暫無 Skill", "no_skills": "暫無技能",
"permission.des.manage": "可管理 Agent Skill 和協作者", "permission.des.manage": "可管理 Agent 技能和協作者",
"permission.des.read": "可查看 Agent Skill", "permission.des.read": "可查看 Agent 技能",
"permission.des.write": "可編輯 Agent Skill", "permission.des.write": "可編輯 Agent 技能",
"permission_settings": "權限設置", "permission_settings": "權限設置",
"related_apps_hidden": "其餘 {{count}} 個應用無權限查看", "related_apps_hidden": "其餘 {{count}} 個應用無權限查看",
"related_count": "關聯應用", "related_count": "關聯應用",
"sandbox_auto_enabled_for_skill": "skill運行依賴虛擬機器環境,已為你開啟虛擬機器功能", "sandbox_auto_enabled_for_skill": "技能運行依賴虛擬機器環境,已為你開啟虛擬機器功能",
"sandbox_checking": "正在檢查現有沙箱環境...", "sandbox_checking": "正在檢查現有沙箱環境...",
"sandbox_connecting": "正在連接沙箱環境...", "sandbox_connecting": "正在連接沙箱環境...",
"sandbox_creating_container": "正在初始化雲端沙箱...", "sandbox_creating_container": "正在初始化雲端沙箱...",
"sandbox_deploying_skills": "正在部署 Skill: {{skillName}}...", "sandbox_deploying_skills": "正在部署技能: {{skillName}}...",
"sandbox_disable_blocked_toast": "Skill運行依賴虛擬機器環境,目前 Agent 已配置 Skill,請先移除所有 Skill 再關閉虛擬機器", "sandbox_disable_blocked_toast": "技能運行依賴虛擬機器環境,目前 Agent 已配置技能,請先移除所有技能再關閉虛擬機器",
"sandbox_downloading": "正在下載 Skill 包...", "sandbox_downloading": "正在下載技能包...",
"sandbox_error_title": "沙箱創建失敗", "sandbox_error_title": "沙箱創建失敗",
"sandbox_extracting": "正在解壓 Skill 包...", "sandbox_extracting": "正在解壓技能包...",
"sandbox_failed": "沙箱創建失敗: {{message}}", "sandbox_failed": "沙箱創建失敗: {{message}}",
"sandbox_fetch_skills": "正在獲取 Skill 配置資訊...", "sandbox_fetch_skills": "正在獲取技能配置資訊...",
"sandbox_lazy_init": "正在初始化運行環境...", "sandbox_lazy_init": "正在初始化運行環境...",
"sandbox_operation_plan_not_supported_content": "skill操作依賴虛擬機器環境。目前套餐不支援虛擬機器功能,請升級套餐後繼續使用。", "sandbox_operation_plan_not_supported_content": "技能操作依賴虛擬機器環境。目前套餐不支援虛擬機器功能,請升級套餐後繼續使用。",
"sandbox_operation_system_not_configured_content": "skill操作依賴虛擬機器環境。目前系統未配置虛擬機器,暫時無法使用相關功能,請聯絡管理員配置。", "sandbox_operation_system_not_configured_content": "技能操作依賴虛擬機器環境。目前系統未配置虛擬機器,暫時無法使用相關功能,請聯絡管理員配置。",
"sandbox_operation_system_not_configured_title": "未配置虛擬機器", "sandbox_operation_system_not_configured_title": "未配置虛擬機器",
"sandbox_plan_not_supported_title": "套餐不支援功能", "sandbox_plan_not_supported_title": "套餐不支援功能",
"sandbox_ready": "沙箱環境就緒", "sandbox_ready": "沙箱環境就緒",
...@@ -64,23 +64,23 @@ ...@@ -64,23 +64,23 @@
"sandbox_runtime_upgrade_failed": "升級失敗,請重新嘗試", "sandbox_runtime_upgrade_failed": "升級失敗,請重新嘗試",
"sandbox_runtime_upgrade_in_progress": "沙盒正在升級中", "sandbox_runtime_upgrade_in_progress": "沙盒正在升級中",
"sandbox_runtime_upgrade_required": "虛擬機環境升級提示", "sandbox_runtime_upgrade_required": "虛擬機環境升級提示",
"sandbox_skill_plan_not_supported_content": "skill運行依賴虛擬機器環境。目前套餐不支援虛擬機器功能,請升級套餐後繼續使用。", "sandbox_skill_plan_not_supported_content": "技能運行依賴虛擬機器環境。目前套餐不支援虛擬機器功能,請升級套餐後繼續使用。",
"sandbox_skill_system_not_configured_toast": "skill運行依賴虛擬機器環境。目前系統未配置虛擬機器,暫時無法使用相關功能,請聯絡管理員配置。", "sandbox_skill_system_not_configured_toast": "技能運行依賴虛擬機器環境。目前系統未配置虛擬機器,暫時無法使用相關功能,請聯絡管理員配置。",
"sandbox_skill_unavailable_toast": "Skill運行依賴虛擬機器環境,目前 Agent 已配置 Skill,請先移除所有 Skill 再關閉虛擬機器", "sandbox_skill_unavailable_toast": "技能運行依賴虛擬機器環境,目前 Agent 已配置技能,請先移除所有技能再關閉虛擬機器",
"sandbox_system_not_configured_toast": "目前系統未配置虛擬機器,暫時無法使用相關功能,請聯絡管理員配置。", "sandbox_system_not_configured_toast": "目前系統未配置虛擬機器,暫時無法使用相關功能,請聯絡管理員配置。",
"sandbox_unavailable_tag": "不可用", "sandbox_unavailable_tag": "不可用",
"sandbox_upgrade_action": "去升級", "sandbox_upgrade_action": "去升級",
"sandbox_uploading": "正在上傳 Skill 包到沙箱...", "sandbox_uploading": "正在上傳技能包到沙箱...",
"search_skill": "搜尋", "search_skill": "搜尋",
"select_skill": "選擇 Skill", "select_skill": "選擇技能",
"skill_avatar_and_name": "頭像 & 名稱", "skill_avatar_and_name": "頭像 & 名稱",
"skill_deleted": "技能已刪除", "skill_deleted": "技能已刪除",
"skill_deleted_click_remove_tip": "技能已刪除,點擊刪除", "skill_deleted_click_remove_tip": "技能已刪除,點擊刪除",
"skill_info_edit": "技能資訊編輯", "skill_info_edit": "技能資訊編輯",
"skill_intro_label": "應用介紹", "skill_intro_label": "應用介紹",
"skill_intro_placeholder": "介紹使用場景及途徑", "skill_intro_placeholder": "介紹使用場景及途徑",
"skill_name_placeholder": "請輸入 Skill 名稱", "skill_name_placeholder": "請輸入技能名稱",
"skill_select_limit_tip": "已達到單個應用可關聯 Skill 的上限(100 個)", "skill_select_limit_tip": "已達到單個應用可關聯技能的上限(100 個)",
"unnamed_skill": "未命名", "unnamed_skill": "未命名",
"unsupported_file_format": "不支持 {{ext}} 文件格式" "unsupported_file_format": "不支持 {{ext}} 文件格式"
} }
import { beforeEach, describe, expect, it } from 'vitest'; import { afterAll, beforeEach, describe, expect, it } from 'vitest';
import { import {
ChatRoleEnum, ChatRoleEnum,
ChatSourceEnum, ChatSourceEnum,
...@@ -14,10 +14,17 @@ const tmbId = '65f000000000000000000062'; ...@@ -14,10 +14,17 @@ const tmbId = '65f000000000000000000062';
const appId = '65f000000000000000000063'; const appId = '65f000000000000000000063';
const otherAppId = '65f000000000000000000064'; const otherAppId = '65f000000000000000000064';
const legacyUniqueIndexNames = ['appId_1_chatId_1', 'sourceType_1_appId_1_chatId_1'] as const; const duplicateBlockingUniqueIndexNames = [
'appId_1_chatId_1',
'sourceType_1_appId_1_chatId_1'
] as const;
const ensureLegacyDuplicateWritableCollection = async () => { const ensureLegacyDuplicateWritableCollection = async () => {
for (const indexName of legacyUniqueIndexNames) { // Mongoose may still be building schema indexes in the background when this file starts.
// Wait first, then drop the unique indexes that intentionally prevent legacy duplicates.
await MongoChat.init();
for (const indexName of duplicateBlockingUniqueIndexNames) {
try { try {
await MongoChat.collection.dropIndex(indexName); await MongoChat.collection.dropIndex(indexName);
} catch (error) { } catch (error) {
...@@ -29,6 +36,10 @@ const ensureLegacyDuplicateWritableCollection = async () => { ...@@ -29,6 +36,10 @@ const ensureLegacyDuplicateWritableCollection = async () => {
} }
}; };
const restoreChatSchemaIndexes = async () => {
await MongoChat.syncIndexes();
};
const createChatHeader = ({ const createChatHeader = ({
id, id,
sourceId = appId, sourceId = appId,
...@@ -65,6 +76,10 @@ describe('cleanupDuplicateChats data clean API', () => { ...@@ -65,6 +76,10 @@ describe('cleanupDuplicateChats data clean API', () => {
await ensureLegacyDuplicateWritableCollection(); await ensureLegacyDuplicateWritableCollection();
}); });
afterAll(async () => {
await restoreChatSchemaIndexes();
});
it('dry-runs duplicate chat headers without deleting data', async () => { it('dry-runs duplicate chat headers without deleting data', async () => {
await MongoChat.collection.insertMany([ await MongoChat.collection.insertMany([
createChatHeader({ createChatHeader({
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment