Commit 16a74c90 by Archer Committed by GitHub

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

* fix: doc preview action

* update doc

* dpc
parent 61899d9b
...@@ -19,12 +19,8 @@ jobs: ...@@ -19,12 +19,8 @@ jobs:
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
with:
- name: Rewrite image paths ref: ${{ github.event.pull_request.head.sha }}
run: |
find document/content/docs -name "*.mdx" -type f | while read file; do
sed -i 's|](/imgs/|](https://cdn.jsdelivr.net/gh/labring/fastgpt-img@main/|g' "$file"
done
- name: Get current datetime - name: Get current datetime
id: datetime id: datetime
......
...@@ -37,15 +37,14 @@ import { Alert } from '@/components/docs/Alert'; ...@@ -37,15 +37,14 @@ import { Alert } from '@/components/docs/Alert';
![](/imgs/sharelink_process.png) ![](/imgs/sharelink_process.png)
## 配置教程 ## 配置教程
### 1. 配置身份校验地址 ### 1. 配置身份校验地址
![](/imgs/share-setlink.png) ![](/imgs/share-setlink.png)
配置校验地址后,在每次分享链接使用时,都会向对应的地址发起校验和上报请求。 配置校验地址后,在每次分享链接使用时,都会向对应的地址发起校验和上报请求。
<Alert icon="🤖" > <Alert icon="🤖">这里仅需配置根地址,无需具体到完整请求路径。</Alert>
这里仅需配置根地址,无需具体到完整请求路径。
</Alert>
### 2. 分享链接中增加额外 query ### 2. 分享链接中增加额外 query
...@@ -62,7 +61,6 @@ import { Alert } from '@/components/docs/Alert'; ...@@ -62,7 +61,6 @@ import { Alert } from '@/components/docs/Alert';
<Tabs items={['请求示例','鉴权成功','鉴权失败']}> <Tabs items={['请求示例','鉴权成功','鉴权失败']}>
<Tab value="请求示例" > <Tab value="请求示例" >
```bash ```bash
curl --location --request POST '{{host}}/shareAuth/init' \ curl --location --request POST '{{host}}/shareAuth/init' \
--header 'Content-Type: application/json' \ --header 'Content-Type: application/json' \
...@@ -71,12 +69,10 @@ curl --location --request POST '{{host}}/shareAuth/init' \ ...@@ -71,12 +69,10 @@ curl --location --request POST '{{host}}/shareAuth/init' \
}' }'
``` ```
</Tab> </Tab>
<Tab value="鉴权成功" > <Tab value="鉴权成功" >
```json ```json
{ {
"success": true, "success": true,
...@@ -88,31 +84,25 @@ curl --location --request POST '{{host}}/shareAuth/init' \ ...@@ -88,31 +84,25 @@ curl --location --request POST '{{host}}/shareAuth/init' \
系统会拉取该分享链接下,uid 为 username123 的对话记录。 系统会拉取该分享链接下,uid 为 username123 的对话记录。
</Tab> </Tab>
<Tab value="鉴权失败" > <Tab value="鉴权失败" >
```json ```json
{ {
"success": false, "success": false,
"message": "身份错误", "message": "身份错误"
} }
``` ```
</Tab> </Tab>
</Tabs> </Tabs>
### 4. 编写对话前校验接口 ### 4. 编写对话前校验接口
<Tabs items={['请求示例','鉴权成功','鉴权失败']}> <Tabs items={['请求示例','鉴权成功','鉴权失败']}>
<Tab value="请求示例" > <Tab value="请求示例" >
```bash ```bash
curl --location --request POST '{{host}}/shareAuth/start' \ curl --location --request POST '{{host}}/shareAuth/start' \
--header 'Content-Type: application/json' \ --header 'Content-Type: application/json' \
...@@ -122,12 +112,10 @@ curl --location --request POST '{{host}}/shareAuth/start' \ ...@@ -122,12 +112,10 @@ curl --location --request POST '{{host}}/shareAuth/start' \
}' }'
``` ```
</Tab> </Tab>
<Tab value="鉴权成功" > <Tab value="鉴权成功" >
```json ```json
{ {
"success": true, "success": true,
...@@ -137,27 +125,24 @@ curl --location --request POST '{{host}}/shareAuth/start' \ ...@@ -137,27 +125,24 @@ curl --location --request POST '{{host}}/shareAuth/start' \
} }
``` ```
</Tab> </Tab>
<Tab value="鉴权失败" > <Tab value="鉴权失败" >
```json ```json
{ {
"success": false, "success": false,
"message": "身份验证失败", "message": "身份验证失败"
} }
``` ```
```json ```json
{ {
"success": false, "success": false,
"message": "存在违规词", "message": "存在违规词"
} }
``` ```
</Tab> </Tab>
</Tabs> </Tabs>
...@@ -165,7 +150,7 @@ curl --location --request POST '{{host}}/shareAuth/start' \ ...@@ -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消耗总数) 重点关注:`totalPoints`(总消耗AI积分),`token`(Token消耗总数)
...@@ -285,7 +270,7 @@ type ResponseType = { ...@@ -285,7 +270,7 @@ type ResponseType = {
pluginDetail?: ChatHistoryItemResType[]; // 插件详情 pluginDetail?: ChatHistoryItemResType[]; // 插件详情
isElseResult?: boolean; // 判断器结果 isElseResult?: boolean; // 判断器结果
} };
``` ```
## 实践案例 ## 实践案例
...@@ -296,87 +281,75 @@ type ResponseType = { ...@@ -296,87 +281,75 @@ type ResponseType = {
![](/imgs/share-auth1.png) ![](/imgs/share-auth1.png)
<Tabs items={['/shareAuth/init','/shareAuth/start','/shareAuth/finish']}> <Tabs items={['/shareAuth/init','/shareAuth/start','/shareAuth/finish']}>
<Tab value="/shareAuth/init" > <Tab value="/shareAuth/init" >
这个接口中,我们设置了`token`必须等于`fastgpt`才能通过校验。(实际生产中不建议固定写死) 这个接口中,我们设置了`token`必须等于`fastgpt`才能通过校验。(实际生产中不建议固定写死)
```ts ```ts
import cloud from '@lafjs/cloud' import cloud from '@lafjs/cloud';
export default async function (ctx: FunctionContext) { export default async function (ctx: FunctionContext) {
const { token } = ctx.body const { token } = ctx.body;
// 此处省略 token 解码过程 // 此处省略 token 解码过程
if (token === 'fastgpt') { 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>
<Tab value="/shareAuth/start" > <Tab value="/shareAuth/start" >
这个接口中,我们设置了`token`必须等于`fastgpt`才能通过校验。并且如果问题中包含了`你`字,则会报错,用于模拟敏感校验。 这个接口中,我们设置了`token`必须等于`fastgpt`才能通过校验。并且如果问题中包含了`你`字,则会报错,用于模拟敏感校验。
```ts ```ts
import cloud from '@lafjs/cloud' import cloud from '@lafjs/cloud';
export default async function (ctx: FunctionContext) { export default async function (ctx: FunctionContext) {
const { token, question } = ctx.body const { token, question } = ctx.body;
// 此处省略 token 解码过程 // 此处省略 token 解码过程
if (token !== 'fastgpt') { if (token !== 'fastgpt') {
return { success: false, message: "身份错误" } return { success: false, message: '身份错误' };
} }
if(question.includes("你")){ if (question.includes('你')) {
return { success: false, message: "内容不合规" } return { success: false, message: '内容不合规' };
} }
return { success: true, data: { uid: "user1" } } return { success: true, data: { uid: 'user1' } };
} }
``` ```
</Tab> </Tab>
<Tab value="/shareAuth/finish" > <Tab value="/shareAuth/finish" >
结果上报接口可自行进行逻辑处理。 结果上报接口可自行进行逻辑处理。
```ts ```ts
import cloud from '@lafjs/cloud' import cloud from '@lafjs/cloud';
export default async function (ctx: FunctionContext) { export default async function (ctx: FunctionContext) {
const { token, responseData } = ctx.body const { token, responseData } = ctx.body;
const total = responseData.reduce((sum,item) => sum + item.price,0) const total = responseData.reduce((sum, item) => sum + item.price, 0);
const amount = total / 100000 const amount = total / 100000;
// 省略数据库操作 // 省略数据库操作
return { } return {};
} }
``` ```
</Tab> </Tab>
</Tabs> </Tabs>
### 2. 配置校验地址 ### 2. 配置校验地址
我们随便复制3个地址中一个接口: `https://d8dns0.laf.dev/shareAuth/finish`, 去除`/shareAuth/finish`后填入`身份校验`:`https://d8dns0.laf.dev` 我们随便复制3个地址中一个接口: `https://d8dns0.laf.dev/shareAuth/finish`, 去除`/shareAuth/finish`后填入`身份校验`:`https://d8dns0.laf.dev`
...@@ -394,7 +367,6 @@ export default async function (ctx: FunctionContext) { ...@@ -394,7 +367,6 @@ export default async function (ctx: FunctionContext) {
1. 打开源链接或者`authToken`不等于`fastgpt`的链接会提示身份错误。 1. 打开源链接或者`authToken`不等于`fastgpt`的链接会提示身份错误。
2. 发送内容中包含你字,会提示内容不合规。 2. 发送内容中包含你字,会提示内容不合规。
## 使用场景 ## 使用场景
这个鉴权方式通常是帮助你直接嵌入`分享链接`到你的应用中,在你的应用打开分享链接前,应做`authToken`的拼接后再打开。 这个鉴权方式通常是帮助你直接嵌入`分享链接`到你的应用中,在你的应用打开分享链接前,应做`authToken`的拼接后再打开。
......
...@@ -16,14 +16,14 @@ curl --location --request POST 'https://{{host}}/api/admin/initv464' \ ...@@ -16,14 +16,14 @@ curl --location --request POST 'https://{{host}}/api/admin/initv464' \
``` ```
初始化说明: 初始化说明:
1. 初始化 PG 的createTime字段 1. 初始化 PG 的createTime字段
2. 初始化 Mongo 中 chat 的 feedback 字段 2. 初始化 Mongo 中 chat 的 feedback 字段
## V4.6.4 功能介绍 ## V4.6.4 功能介绍
1. 重写 - 分享链接身份逻辑,采用 localID 记录用户的ID。 1. 重写 - 分享链接身份逻辑,采用 localID 记录用户的ID。
2. 商业版新增 - 分享链接 SSO 方案,通过`身份鉴权`地址,仅需`3个接口`即可完全接入已有用户系统。具体参考[分享链接身份鉴权](/docs/development/openapi/share/) 2. 商业版新增 - 分享链接 SSO 方案,通过`身份鉴权`地址,仅需`3个接口`即可完全接入已有用户系统。具体参考[分享链接身份鉴权](/docs/introduction/development/openapi/share/)
3. 新增 - 分享链接更多嵌入方式提示,更多DIY方式。 3. 新增 - 分享链接更多嵌入方式提示,更多DIY方式。
4. 优化 - 历史记录模块。弃用旧的历史记录模块,直接在对应地方填写数值即可。 4. 优化 - 历史记录模块。弃用旧的历史记录模块,直接在对应地方填写数值即可。
5. 调整 - 知识库搜索模块 topk 逻辑,采用 MaxToken 计算,兼容不同长度的文本块 5. 调整 - 知识库搜索模块 topk 逻辑,采用 MaxToken 计算,兼容不同长度的文本块
...@@ -35,5 +35,3 @@ curl --location --request POST 'https://{{host}}/api/admin/initv464' \ ...@@ -35,5 +35,3 @@ curl --location --request POST 'https://{{host}}/api/admin/initv464' \
11. 修复 - md 代码块问题 11. 修复 - md 代码块问题
12. 修复 - root 权限问题 12. 修复 - root 权限问题
13. 优化 docker file 13. 优化 docker file
...@@ -16,15 +16,15 @@ curl --location --request POST 'https://{{host}}/api/admin/initv467' \ ...@@ -16,15 +16,15 @@ curl --location --request POST 'https://{{host}}/api/admin/initv467' \
``` ```
初始化说明: 初始化说明:
1. 将 images 重新关联到数据集 1. 将 images 重新关联到数据集
2. 设置 pg 表的 null 值。 2. 设置 pg 表的 null 值。
## V4.6.7 更新说明 ## V4.6.7 更新说明
1. 修改了知识库UI及新的导入交互方式。 1. 修改了知识库UI及新的导入交互方式。
2. 优化知识库和对话的数据索引。 2. 优化知识库和对话的数据索引。
3. 知识库 openAPI,支持通过 [API 操作知识库](/docs/development/openapi/dataset)。 3. 知识库 openAPI,支持通过 [API 操作知识库](/docs/introduction/development/openapi/dataset)。
4. 新增 - 输入框变量提示。输入 `{` 号后将会获得可用变量提示。根据社区针对高级编排的反馈,我们计划于 2 月份的版本中,优化变量内容,支持模块的局部变量以及更多全局变量写入。 4. 新增 - 输入框变量提示。输入 `{` 号后将会获得可用变量提示。根据社区针对高级编排的反馈,我们计划于 2 月份的版本中,优化变量内容,支持模块的局部变量以及更多全局变量写入。
5. 优化 - 切换团队后会保存记录,下次登录时优先登录该团队。 5. 优化 - 切换团队后会保存记录,下次登录时优先登录该团队。
6. 修复 - API 对话时,chatId 冲突问题。 6. 修复 - API 对话时,chatId 冲突问题。
......
...@@ -27,7 +27,7 @@ curl --location --request POST 'https://{{host}}/api/admin/initv469' \ ...@@ -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 更新说明 ## V4.6.9 更新说明
......
...@@ -3,7 +3,6 @@ title: V4.9.0(包含升级脚本) ...@@ -3,7 +3,6 @@ title: V4.9.0(包含升级脚本)
description: FastGPT V4.9.0 更新说明 description: FastGPT V4.9.0 更新说明
--- ---
## 更新指南 ## 更新指南
### 1. 做好数据库备份 ### 1. 做好数据库备份
...@@ -145,7 +144,7 @@ docker-compose up -d ...@@ -145,7 +144,7 @@ docker-compose up -d
### 4. 运行 FastGPT 升级脚本 ### 4. 运行 FastGPT 升级脚本
从任意终端,发起 1 个 HTTP 请求。其中 ``{{rootkey}}`` 替换成环境变量里的 `rootkey`;``{{host}}`` 替换成**FastGPT 域名**。 从任意终端,发起 1 个 HTTP 请求。其中 `{{rootkey}}` 替换成环境变量里的 `rootkey`;`{{host}}` 替换成**FastGPT 域名**。
```bash ```bash
curl --location --request POST 'https://{{host}}/api/admin/initv490' \ curl --location --request POST 'https://{{host}}/api/admin/initv490' \
...@@ -164,7 +163,7 @@ 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-文件) 1. 弃用 - 之前私有化部署的自定义文件解析方案,请同步更新到最新的配置方案。[点击查看 PDF 增强解析配置](/docs/development/configuration/#使用-doc2x-解析-pdf-文件)
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 文档](/docs/development/openapi/dataset.md) 4. API更新 - 上传文件至知识库、创建连接集合、API 文件库、推送分块数据等带有 `trainingType` 字段的接口,`trainingType`字段未来仅支持`chunk`和`QA`两种模式。增强索引模式将设置单独字段:`autoIndexes`,目前仍有适配旧版`trainingType=auto`代码,但请尽快变更成新接口类型。具体可见:[知识库 OpenAPI 文档](/docs/introduction/development/openapi/dataset.md)
## 🚀 新增内容 ## 🚀 新增内容
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
title: V4.9.2 title: V4.9.2
description: FastGPT V4.9.2 更新说明 description: FastGPT V4.9.2 更新说明
--- ---
## 更新指南 ## 更新指南
可直接升级v4.9.3,v4.9.2存在一个工作流数据类型转化错误。 可直接升级v4.9.3,v4.9.2存在一个工作流数据类型转化错误。
...@@ -32,7 +33,7 @@ description: FastGPT V4.9.2 更新说明 ...@@ -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) 文档。
## 🚀 新增内容 ## 🚀 新增内容
...@@ -58,9 +59,10 @@ description: FastGPT V4.9.2 更新说明 ...@@ -58,9 +59,10 @@ description: FastGPT V4.9.2 更新说明
9. 个人信息和通知展示优化。 9. 个人信息和通知展示优化。
10. 模型测试 loading 动画优化。 10. 模型测试 loading 动画优化。
11. 分块算法小调整: 11. 分块算法小调整:
* 跨处理符号之间连续性更强。
* 代码块分割时,用 LLM 模型上下文作为分块大小,尽可能保证代码块完整性。 - 跨处理符号之间连续性更强。
* 表格分割时,用 LLM 模型上下文作为分块大小,尽可能保证表格完整性。 - 代码块分割时,用 LLM 模型上下文作为分块大小,尽可能保证代码块完整性。
- 表格分割时,用 LLM 模型上下文作为分块大小,尽可能保证表格完整性。
## 🐛 修复 ## 🐛 修复
......
...@@ -5,23 +5,22 @@ description: 通过 API 访问 FastGPT 应用 ...@@ -5,23 +5,22 @@ description: 通过 API 访问 FastGPT 应用
import { Alert } from '@/components/docs/Alert'; import { Alert } from '@/components/docs/Alert';
在 FastGPT 中,你可以为每一个应用创建多个 API 密钥,用于访问应用的 API 接口。每个密钥仅能访问一个应用。完整的接口可以[查看应用对话接口](/docs/development/openapi/chat)。 在 FastGPT 中,你可以为每一个应用创建多个 API 密钥,用于访问应用的 API 接口。每个密钥仅能访问一个应用。完整的接口可以[查看应用对话接口](/docs/introduction/development/openapi/intro)。
## 获取 API 密钥 ## 获取 API 密钥
依次选择应用 -> 「API访问」,然后点击「API 密钥」来创建密钥。 依次选择应用 -> 「API访问」,然后点击「API 密钥」来创建密钥。
<Alert context="warning"> <Alert context="warning">
密钥需要自己保管好,一旦关闭就无法再复制密钥,只能创建新密钥再复制。 密钥需要自己保管好,一旦关闭就无法再复制密钥,只能创建新密钥再复制。
</Alert> </Alert>
![](/imgs/fastgpt-api1.jpg) ![](/imgs/fastgpt-api1.jpg)
<Alert icon="🍅" context="success"> <Alert icon="🍅" context="success">
Tips: 安全起见,你可以设置一个额度或者过期时间,防止 key 被滥用。 Tips: 安全起见,你可以设置一个额度或者过期时间,防止 key 被滥用。
</Alert> </Alert>
## 替换三方应用的变量 ## 替换三方应用的变量
```bash ```bash
......
...@@ -61,8 +61,7 @@ const UsageSchema = new Schema({ ...@@ -61,8 +61,7 @@ const UsageSchema = new Schema({
}); });
try { try {
UsageSchema.index({ teamId: 1, time: 1, tmbId: 1, source: 1 }); UsageSchema.index({ teamId: 1, tmbId: 1, source: 1, time: 1, appName: 1 });
UsageSchema.index({ teamId: 1, time: 1, appName: 1 });
// timer task. clear dead team // timer task. clear dead team
// UsageSchema.index({ teamId: 1, time: -1 }); // UsageSchema.index({ teamId: 1, time: -1 });
......
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