fix: doc preview action;update doc (#5383)

* fix: doc preview action

* update doc

* dpc
This commit is contained in:
Archer
2025-08-04 18:10:58 +08:00
committed by GitHub
parent 61899d9baf
commit 16a74c909d
10 changed files with 285 additions and 318 deletions

View File

@@ -19,12 +19,12 @@ import { Alert } from '@/components/docs/Alert';
```json
{
"success": true,
"message": "错误提示",
"msg": "同message, 错误提示",
"data": {
"uid": "用户唯一凭证"
}
"success": true,
"message": "错误提示",
"msg": "同message, 错误提示",
"data": {
"uid": "用户唯一凭证"
}
}
```
@@ -37,21 +37,20 @@ import { Alert } from '@/components/docs/Alert';
![](/imgs/sharelink_process.png)
## 配置教程
### 1. 配置身份校验地址
![](/imgs/share-setlink.png)
配置校验地址后,在每次分享链接使用时,都会向对应的地址发起校验和上报请求。
<Alert icon="🤖" >
这里仅需配置根地址,无需具体到完整请求路径。
</Alert>
<Alert icon="🤖">这里仅需配置根地址,无需具体到完整请求路径。</Alert>
### 2. 分享链接中增加额外 query
在分享链接的地址中,增加一个额外的参数: authToken。例如
原始的链接:`https://share.tryfastgpt.ai/chat/share?shareId=648aaf5ae121349a16d62192`
原始的链接:`https://share.tryfastgpt.ai/chat/share?shareId=648aaf5ae121349a16d62192`
完整链接: `https://share.tryfastgpt.ai/chat/share?shareId=648aaf5ae121349a16d62192&authToken=userid12345`
@@ -62,7 +61,6 @@ import { Alert } from '@/components/docs/Alert';
<Tabs items={['请求示例','鉴权成功','鉴权失败']}>
<Tab value="请求示例" >
```bash
curl --location --request POST '{{host}}/shareAuth/init' \
--header 'Content-Type: application/json' \
@@ -71,48 +69,40 @@ curl --location --request POST '{{host}}/shareAuth/init' \
}'
```
</Tab>
<Tab value="鉴权成功" >
```json
{
"success": true,
"data": {
"uid": "用户唯一凭证"
}
"success": true,
"data": {
"uid": "用户唯一凭证"
}
}
```
系统会拉取该分享链接下uid 为 username123 的对话记录。
</Tab>
<Tab value="鉴权失败" >
```json
{
"success": false,
"message": "身份错误",
"success": false,
"message": "身份错误"
}
```
</Tab>
</Tabs>
### 4. 编写对话前校验接口
<Tabs items={['请求示例','鉴权成功','鉴权失败']}>
<Tab value="请求示例" >
```bash
curl --location --request POST '{{host}}/shareAuth/start' \
--header 'Content-Type: application/json' \
@@ -122,42 +112,37 @@ curl --location --request POST '{{host}}/shareAuth/start' \
}'
```
</Tab>
<Tab value="鉴权成功" >
```json
{
"success": true,
"data": {
"uid": "用户唯一凭证"
}
"success": true,
"data": {
"uid": "用户唯一凭证"
}
}
```
</Tab>
<Tab value="鉴权失败" >
```json
{
"success": false,
"message": "身份验证失败",
"success": false,
"message": "身份验证失败"
}
```
```json
{
"success": false,
"message": "存在违规词",
"success": false,
"message": "存在违规词"
}
```
</Tab>
</Tabs>
@@ -165,7 +150,7 @@ curl --location --request POST '{{host}}/shareAuth/start' \
该接口无规定返回值。
响应值与[chat 接口格式相同](/docs/development/openapi/chat/#响应),仅多了一个`token`。
响应值与[chat 接口格式相同](/docs/introduction/development/openapi/intro/#响应),仅多了一个`token`。
重点关注:`totalPoints`(总消耗AI积分)`token`(Token消耗总数)
@@ -236,8 +221,8 @@ curl --location --request POST '{{host}}/shareAuth/finish' \
"runningTime": 1.32
}
]
}'
```
@@ -245,47 +230,47 @@ curl --location --request POST '{{host}}/shareAuth/finish' \
```ts
type ResponseType = {
moduleType: FlowNodeTypeEnum; // 模块类型
moduleName: string; // 模块名
moduleLogo?: string; // logo
runningTime?: number; // 运行时间
query?: string; // 用户问题/检索词
textOutput?: string; // 文本输出
moduleType: FlowNodeTypeEnum; // 模块类型
moduleName: string; // 模块名
moduleLogo?: string; // logo
runningTime?: number; // 运行时间
query?: string; // 用户问题/检索词
textOutput?: string; // 文本输出
tokens?: number; // 上下文总Tokens
model?: string; // 使用到的模型
contextTotalLen?: number; // 上下文总长度
totalPoints?: number; // 总消耗AI积分
tokens?: number; // 上下文总Tokens
model?: string; // 使用到的模型
contextTotalLen?: number; // 上下文总长度
totalPoints?: number; // 总消耗AI积分
temperature?: number; // 温度
maxToken?: number; // 模型的最大token
quoteList?: SearchDataResponseItemType[]; // 引用列表
historyPreview?: ChatItemType[]; // 上下文预览(历史记录会被裁剪)
temperature?: number; // 温度
maxToken?: number; // 模型的最大token
quoteList?: SearchDataResponseItemType[]; // 引用列表
historyPreview?: ChatItemType[]; // 上下文预览(历史记录会被裁剪)
similarity?: number; // 最低相关度
limit?: number; // 引用上限token
searchMode?: `${DatasetSearchModeEnum}`; // 搜索模式
searchUsingReRank?: boolean; // 是否使用rerank
extensionModel?: string; // 问题扩展模型
extensionResult?: string; // 问题扩展结果
extensionTokens?: number; // 问题扩展总字符长度
similarity?: number; // 最低相关度
limit?: number; // 引用上限token
searchMode?: `${DatasetSearchModeEnum}`; // 搜索模式
searchUsingReRank?: boolean; // 是否使用rerank
extensionModel?: string; // 问题扩展模型
extensionResult?: string; // 问题扩展结果
extensionTokens?: number; // 问题扩展总字符长度
cqList?: ClassifyQuestionAgentItemType[]; // 分类问题列表
cqResult?: string; // 分类问题结果
cqList?: ClassifyQuestionAgentItemType[]; // 分类问题列表
cqResult?: string; // 分类问题结果
extractDescription?: string; // 内容提取描述
extractResult?: Record<string, any>; // 内容提取结果
extractDescription?: string; // 内容提取描述
extractResult?: Record<string, any>; // 内容提取结果
params?: Record<string, any>; // HTTP模块params
body?: Record<string, any>; // HTTP模块body
headers?: Record<string, any>; // HTTP模块headers
httpResult?: Record<string, any>; // HTTP模块结果
params?: Record<string, any>; // HTTP模块params
body?: Record<string, any>; // HTTP模块body
headers?: Record<string, any>; // HTTP模块headers
httpResult?: Record<string, any>; // HTTP模块结果
pluginOutput?: Record<string, any>; // 插件输出
pluginDetail?: ChatHistoryItemResType[]; // 插件详情
pluginOutput?: Record<string, any>; // 插件输出
pluginDetail?: ChatHistoryItemResType[]; // 插件详情
isElseResult?: boolean; // 判断器结果
}
isElseResult?: boolean; // 判断器结果
};
```
## 实践案例
@@ -296,87 +281,75 @@ type ResponseType = {
![](/imgs/share-auth1.png)
<Tabs items={['/shareAuth/init','/shareAuth/start','/shareAuth/finish']}>
<Tab value="/shareAuth/init" >
这个接口中,我们设置了`token`必须等于`fastgpt`才能通过校验。(实际生产中不建议固定写死)
```ts
import cloud from '@lafjs/cloud'
import cloud from '@lafjs/cloud';
export default async function (ctx: FunctionContext) {
const { token } = ctx.body
// 此处省略 token 解码过程
const { token } = ctx.body;
// 此处省略 token 解码过程
if (token === 'fastgpt') {
return { success: true, data: { uid: "user1" } }
return { success: true, data: { uid: 'user1' } };
}
return { success: false,message:"身份错误" }
return { success: false, message: '身份错误' };
}
```
</Tab>
<Tab value="/shareAuth/start" >
这个接口中,我们设置了`token`必须等于`fastgpt`才能通过校验。并且如果问题中包含了`你`字,则会报错,用于模拟敏感校验。
```ts
import cloud from '@lafjs/cloud'
import cloud from '@lafjs/cloud';
export default async function (ctx: FunctionContext) {
const { token, question } = ctx.body
const { token, question } = ctx.body;
// 此处省略 token 解码过程
// 此处省略 token 解码过程
if (token !== 'fastgpt') {
return { success: false, message: "身份错误" }
return { success: false, message: '身份错误' };
}
if(question.includes("你")){
return { success: false, message: "内容不合规" }
if (question.includes('你')) {
return { success: false, message: '内容不合规' };
}
return { success: true, data: { uid: "user1" } }
return { success: true, data: { uid: 'user1' } };
}
```
</Tab>
<Tab value="/shareAuth/finish" >
结果上报接口可自行进行逻辑处理。
```ts
import cloud from '@lafjs/cloud'
import cloud from '@lafjs/cloud';
export default async function (ctx: FunctionContext) {
const { token, responseData } = ctx.body
const total = responseData.reduce((sum,item) => sum + item.price,0)
const amount = total / 100000
const { token, responseData } = ctx.body;
const total = responseData.reduce((sum, item) => sum + item.price, 0);
const amount = total / 100000;
// 省略数据库操作
return { }
return {};
}
```
</Tab>
</Tabs>
### 2. 配置校验地址
我们随便复制3个地址中一个接口: `https://d8dns0.laf.dev/shareAuth/finish`, 去除`/shareAuth/finish`后填入`身份校验`:`https://d8dns0.laf.dev`
@@ -394,7 +367,6 @@ export default async function (ctx: FunctionContext) {
1. 打开源链接或者`authToken`不等于`fastgpt`的链接会提示身份错误。
2. 发送内容中包含你字,会提示内容不合规。
## 使用场景
这个鉴权方式通常是帮助你直接嵌入`分享链接`到你的应用中,在你的应用打开分享链接前,应做`authToken`的拼接后再打开。

View File

@@ -16,14 +16,14 @@ curl --location --request POST 'https://{{host}}/api/admin/initv464' \
```
初始化说明:
1. 初始化 PG 的createTime字段
2. 初始化 Mongo 中 chat 的 feedback 字段
## V4.6.4 功能介绍
1. 重写 - 分享链接身份逻辑,采用 localID 记录用户的ID。
2. 商业版新增 - 分享链接 SSO 方案,通过`身份鉴权`地址,仅需`3个接口`即可完全接入已有用户系统。具体参考[分享链接身份鉴权](/docs/development/openapi/share/)
2. 商业版新增 - 分享链接 SSO 方案,通过`身份鉴权`地址,仅需`3个接口`即可完全接入已有用户系统。具体参考[分享链接身份鉴权](/docs/introduction/development/openapi/share/)
3. 新增 - 分享链接更多嵌入方式提示更多DIY方式。
4. 优化 - 历史记录模块。弃用旧的历史记录模块,直接在对应地方填写数值即可。
5. 调整 - 知识库搜索模块 topk 逻辑,采用 MaxToken 计算,兼容不同长度的文本块
@@ -34,6 +34,4 @@ curl --location --request POST 'https://{{host}}/api/admin/initv464' \
10. 修复 - Dataset Intro 无法更新
11. 修复 - md 代码块问题
12. 修复 - root 权限问题
13. 优化 docker file
13. 优化 docker file

View File

@@ -16,15 +16,15 @@ curl --location --request POST 'https://{{host}}/api/admin/initv467' \
```
初始化说明:
1. 将 images 重新关联到数据集
2. 设置 pg 表的 null 值。
## V4.6.7 更新说明
1. 修改了知识库UI及新的导入交互方式。
2. 优化知识库和对话的数据索引。
3. 知识库 openAPI支持通过 [API 操作知识库](/docs/development/openapi/dataset)。
3. 知识库 openAPI支持通过 [API 操作知识库](/docs/introduction/development/openapi/dataset)。
4. 新增 - 输入框变量提示。输入 `{` 号后将会获得可用变量提示。根据社区针对高级编排的反馈,我们计划于 2 月份的版本中,优化变量内容,支持模块的局部变量以及更多全局变量写入。
5. 优化 - 切换团队后会保存记录,下次登录时优先登录该团队。
6. 修复 - API 对话时chatId 冲突问题。

View File

@@ -27,7 +27,7 @@ curl --location --request POST 'https://{{host}}/api/admin/initv469' \
## 外部接口更新
1. 由于计费系统变更,[分享链接对话上报接口](/docs/development/openapi/share/#5-编写对话结果上报接口可选)需要做一些调整price字段被totalPoints字段取代。inputToken和outputToken不再提供只提供`token`字段总token数量
1. 由于计费系统变更,[分享链接对话上报接口](/docs/introduction/development/openapi/share/#5-编写对话结果上报接口可选)需要做一些调整price字段被totalPoints字段取代。inputToken和outputToken不再提供只提供`token`字段总token数量
## V4.6.9 更新说明

View File

@@ -3,7 +3,6 @@ title: V4.9.0(包含升级脚本)
description: FastGPT V4.9.0 更新说明
---
## 更新指南
### 1. 做好数据库备份
@@ -145,7 +144,7 @@ docker-compose up -d
### 4. 运行 FastGPT 升级脚本
从任意终端,发起 1 个 HTTP 请求。其中 ``{{rootkey}}`` 替换成环境变量里的 `rootkey```{{host}}`` 替换成**FastGPT 域名**。
从任意终端,发起 1 个 HTTP 请求。其中 `{{rootkey}}` 替换成环境变量里的 `rootkey``{{host}}` 替换成**FastGPT 域名**。
```bash
curl --location --request POST 'https://{{host}}/api/admin/initv490' \
@@ -164,7 +163,7 @@ curl --location --request POST 'https://{{host}}/api/admin/initv490' \
1. 弃用 - 之前私有化部署的自定义文件解析方案,请同步更新到最新的配置方案。[点击查看 PDF 增强解析配置](/docs/development/configuration/#使用-doc2x-解析-pdf-文件)
2. 弃用 - 弃用旧版本地文件上传 API/api/core/dataset/collection/create/file以前仅商业版可用的 API该接口已放切换成/api/core/dataset/collection/create/localFile
3. 停止维护,即将弃用 - 外部文件库相关 API可通过 API 文件库替代。
4. API更新 - 上传文件至知识库、创建连接集合、API 文件库、推送分块数据等带有 `trainingType` 字段的接口,`trainingType`字段未来仅支持`chunk`和`QA`两种模式。增强索引模式将设置单独字段:`autoIndexes`,目前仍有适配旧版`trainingType=auto`代码,但请尽快变更成新接口类型。具体可见:[知识库 OpenAPI 文档](/docs/development/openapi/dataset.md)
4. API更新 - 上传文件至知识库、创建连接集合、API 文件库、推送分块数据等带有 `trainingType` 字段的接口,`trainingType`字段未来仅支持`chunk`和`QA`两种模式。增强索引模式将设置单独字段:`autoIndexes`,目前仍有适配旧版`trainingType=auto`代码,但请尽快变更成新接口类型。具体可见:[知识库 OpenAPI 文档](/docs/introduction/development/openapi/dataset.md)
## 🚀 新增内容

View File

@@ -2,6 +2,7 @@
title: V4.9.2
description: FastGPT V4.9.2 更新说明
---
## 更新指南
可直接升级v4.9.3v4.9.2存在一个工作流数据类型转化错误。
@@ -10,7 +11,7 @@ description: FastGPT V4.9.2 更新说明
### 2. SSO 迁移
使用了 SSO 或成员同步的商业版用户,并且是对接`钉钉`、`企微`的,需要迁移已有的 SSO 相关配置:
使用了 SSO 或成员同步的商业版用户,并且是对接`钉钉`、`企微`的,需要迁移已有的 SSO 相关配置:
参考:[SSO & 外部成员同步](/docs/introduction/guide/admin/sso)中的配置进行`sso-service`的部署和配置。
@@ -32,7 +33,7 @@ description: FastGPT V4.9.2 更新说明
## 重要更新
- 知识库导入数据 API 变更,增加`chunkSettingMode`,`chunkSplitMode`,`indexSize`可选参数,具体可参考 [知识库导入数据 API](/docs/development/openapi/dataset) 文档。
- 知识库导入数据 API 变更,增加`chunkSettingMode`,`chunkSplitMode`,`indexSize`可选参数,具体可参考 [知识库导入数据 API](/docs/introduction/development/openapi/dataset) 文档。
## 🚀 新增内容
@@ -40,7 +41,7 @@ description: FastGPT V4.9.2 更新说明
2. 知识库分块增加自定义分隔符预设值,同时支持自定义换行符分割。
3. 外部变量改名:自定义变量。 并且支持在测试时调试,在分享链接中,该变量直接隐藏。
4. 集合同步时,支持同步修改标题。
5. 团队成员管理重构,抽离主流 IM SSO企微、飞书、钉钉并支持通过自定义 SSO 接入 FastGPT。同时完善与外部系统的成员同步。
5. 团队成员管理重构,抽离主流 IM SSO企微、飞书、钉钉并支持通过自定义 SSO 接入 FastGPT。同时完善与外部系统的成员同步。
6. 支持 `oceanbase` 向量数据库。填写环境变量`OCEANBASE_URL`即可。
7. 基于 mistral-ocr 的 PDF 解析示例。
8. 基于 miner-u 的 PDF 解析示例。
@@ -57,10 +58,11 @@ description: FastGPT V4.9.2 更新说明
8. AI proxy 日志优化,去除重试失败的日志,仅保留最后一份错误日志。
9. 个人信息和通知展示优化。
10. 模型测试 loading 动画优化。
11. 分块算法小调整:
* 跨处理符号之间连续性更强。
* 代码块分割时,用 LLM 模型上下文作为分块大小,尽可能保证代码块完整性
* 表格分割时,用 LLM 模型上下文作为分块大小,尽可能保证表格完整性。
11. 分块算法小调整:
- 跨处理符号之间连续性更强
- 代码块分割时,用 LLM 模型上下文作为分块大小,尽可能保证代码块完整性。
- 表格分割时,用 LLM 模型上下文作为分块大小,尽可能保证表格完整性。
## 🐛 修复

View File

@@ -5,23 +5,22 @@ description: 通过 API 访问 FastGPT 应用
import { Alert } from '@/components/docs/Alert';
在 FastGPT 中,你可以为每一个应用创建多个 API 密钥,用于访问应用的 API 接口。每个密钥仅能访问一个应用。完整的接口可以[查看应用对话接口](/docs/development/openapi/chat)。
在 FastGPT 中,你可以为每一个应用创建多个 API 密钥,用于访问应用的 API 接口。每个密钥仅能访问一个应用。完整的接口可以[查看应用对话接口](/docs/introduction/development/openapi/intro)。
## 获取 API 密钥
依次选择应用 -> 「API访问」然后点击「API 密钥」来创建密钥。
<Alert context="warning">
密钥需要自己保管好,一旦关闭就无法再复制密钥,只能创建新密钥再复制。
密钥需要自己保管好,一旦关闭就无法再复制密钥,只能创建新密钥再复制。
</Alert>
![](/imgs/fastgpt-api1.jpg)
<Alert icon="🍅" context="success">
Tips: 安全起见,你可以设置一个额度或者过期时间,防止 key 被滥用。
Tips: 安全起见,你可以设置一个额度或者过期时间,防止 key 被滥用。
</Alert>
## 替换三方应用的变量
```bash