mirror of
https://github.com/labring/FastGPT.git
synced 2025-07-21 11:43:56 +00:00
4.8.11 test (#2843)
* feat: app version test * update doc * fix: paging num error * fix: doc api domain * rename variable * perf: memment node min size
This commit is contained in:
@@ -27,7 +27,7 @@ Tips: 安全起见,你可以设置一个额度或者过期时间,放置 key
|
||||
## 替换三方应用的变量
|
||||
|
||||
```bash
|
||||
OPENAI_API_BASE_URL: https://api.tryfastgpt.ai/api (改成自己部署的域名)
|
||||
OPENAI_API_BASE_URL: https://api.fastgpt.in/api (改成自己部署的域名)
|
||||
OPENAI_API_KEY = 上一步获取到的密钥
|
||||
```
|
||||
|
||||
|
@@ -32,7 +32,7 @@ FastGPT 的 API Key **有 2 类**,一类是全局通用的 key (无法直接
|
||||
OpenAPI 中,所有的接口都通过 Header.Authorization 进行鉴权。
|
||||
|
||||
```
|
||||
baseUrl: "https://api.tryfastgpt.ai/api"
|
||||
baseUrl: "https://api.fastgpt.in/api"
|
||||
headers: {
|
||||
Authorization: "Bearer {{apikey}}"
|
||||
}
|
||||
@@ -41,7 +41,7 @@ headers: {
|
||||
**发起应用对话示例**
|
||||
|
||||
```sh
|
||||
curl --location --request POST 'https://api.tryfastgpt.ai/api/v1/chat/completions' \
|
||||
curl --location --request POST 'https://api.fastgpt.in/api/v1/chat/completions' \
|
||||
--header 'Authorization: Bearer fastgpt-xxxxxx' \
|
||||
--header 'Content-Type: application/json' \
|
||||
--data-raw '{
|
||||
|
@@ -29,7 +29,7 @@ weight: 852
|
||||
{{< markdownify >}}
|
||||
|
||||
```bash
|
||||
curl --location --request POST 'https://api.tryfastgpt.ai/api/v1/chat/completions' \
|
||||
curl --location --request POST 'https://api.fastgpt.in/api/v1/chat/completions' \
|
||||
--header 'Authorization: Bearer fastgpt-xxxxxx' \
|
||||
--header 'Content-Type: application/json' \
|
||||
--data-raw '{
|
||||
|
@@ -22,7 +22,7 @@ weight: 853
|
||||
**新例子**
|
||||
|
||||
```bash
|
||||
curl --location --request POST 'https://api.tryfastgpt.ai/api/support/wallet/usage/createTrainingUsage' \
|
||||
curl --location --request POST 'https://api.fastgpt.in/api/support/wallet/usage/createTrainingUsage' \
|
||||
--header 'Authorization: Bearer {{apikey}}' \
|
||||
--header 'Content-Type: application/json' \
|
||||
--data-raw '{
|
||||
@@ -34,7 +34,7 @@ curl --location --request POST 'https://api.tryfastgpt.ai/api/support/wallet/usa
|
||||
**x例子**
|
||||
|
||||
```bash
|
||||
curl --location --request POST 'https://api.tryfastgpt.ai/api/support/wallet/bill/createTrainingBill' \
|
||||
curl --location --request POST 'https://api.fastgpt.in/api/support/wallet/bill/createTrainingBill' \
|
||||
--header 'Authorization: Bearer {{apikey}}' \
|
||||
--header 'Content-Type: application/json' \
|
||||
--data-raw '{
|
||||
@@ -991,7 +991,7 @@ curl --location --request DELETE 'http://localhost:3000/api/core/dataset/collect
|
||||
{{< markdownify >}}
|
||||
|
||||
```bash
|
||||
curl --location --request POST 'https://api.tryfastgpt.ai/api/core/dataset/data/pushData' \
|
||||
curl --location --request POST 'https://api.fastgpt.in/api/core/dataset/data/pushData' \
|
||||
--header 'Authorization: Bearer apikey' \
|
||||
--header 'Content-Type: application/json' \
|
||||
--data-raw '{
|
||||
@@ -1328,7 +1328,7 @@ curl --location --request DELETE 'http://localhost:3000/api/core/dataset/data/de
|
||||
{{< markdownify >}}
|
||||
|
||||
```bash
|
||||
curl --location --request POST 'https://api.tryfastgpt.ai/api/core/dataset/searchTest' \
|
||||
curl --location --request POST 'https://api.fastgpt.in/api/core/dataset/searchTest' \
|
||||
--header 'Authorization: Bearer fastgpt-xxxxx' \
|
||||
--header 'Content-Type: application/json' \
|
||||
--data-raw '{
|
||||
|
@@ -88,26 +88,27 @@ weight: 813
|
||||
|
||||
1. 新增 - 表单输入节点,允许用户在工作流中让用户输入一些信息。
|
||||
2. 新增 - 循环运行节点,可传入数组进行批量调用,目前最多支持 50 长度的数组串行执行。
|
||||
3. 新增 - 节点支持折叠。
|
||||
4. 新增 - 聊天记录滚动加载,不再只加载 30 条。
|
||||
5. 新增 - 工作流增加触摸板优先模式,可以通过工作流右下角按键进行切换。
|
||||
6. 新增 - 沙盒增加字符串转 base64 全局方法(全局变量 strToBase64)。
|
||||
7. 新增 - 支持 Openai o1 模型,需增加模型的 `defaultConfig` 配置,覆盖 `temperature`、`max_tokens` 和 `stream`配置,o1 不支持 stream 模式, 详细可重新拉取 `config.json` 配置文件查看。
|
||||
8. 新增 - AI 对话节点知识库引用,支持配置 role=system 和 role=user,已配置的过自定义提示词的节点将会保持 user 模式,其余用户将转成 system 模式。
|
||||
9. 新增 - 插件支持上传系统文件。
|
||||
10. 新增 - 子应用嵌套调用时,版本锁定。主应用未主动更新版本时,不会取最新版进行执行,保证主应用服务稳定。
|
||||
11. 新增 - 插件输出,支持指定字段作为工具响应。
|
||||
12. 新增 - 支持工作流嵌套子应用时,可以设置`非流模式`,同时简易模式也可以选择工作流作为插件了,简易模式调用子应用时,都将强制使用非流模式。
|
||||
13. 新增 - 调试模式下,子应用调用,支持返回详细运行数据。
|
||||
14. 新增 - 保留所有模式下子应用嵌套调用的日志。
|
||||
15. 优化 - 工作流嵌套层级限制 20 层,避免因编排不合理导致的无限死循环。
|
||||
16. 优化 - 工作流 handler 性能优化。
|
||||
17. 优化 - 工作流快捷键,避免调试测试时也会触发复制和回退。
|
||||
18. 修复 - 工作流工具调用中修改全局变量后,无法传递到后续流程。
|
||||
19. 优化 - 流输出,切换浏览器 Tab 后仍可以继续输出。
|
||||
20. 优化 - 完善外部文件知识库相关 API
|
||||
21. 修复 - 知识库选择权限问题。
|
||||
22. 修复 - 空 chatId 发起对话,首轮携带用户选择时会异常。
|
||||
23. 修复 - createDataset 接口,intro 为赋值。
|
||||
24. 修复 - 对话框渲染性能问题。
|
||||
25. 修复 - 工具调用历史记录存储不正确。
|
||||
3. 新增 - 自定义工具变量节点,可以为工具调用子流程完全自定义变量。在构建复杂 Agent 时有帮助。
|
||||
4. 新增 - 节点支持折叠。
|
||||
5. 新增 - 聊天记录滚动加载,不再只加载 30 条。
|
||||
6. 新增 - 工作流增加触摸板优先模式,可以通过工作流右下角按键进行切换。
|
||||
7. 新增 - 沙盒增加字符串转 base64 全局方法(全局变量 strToBase64)。
|
||||
8. 新增 - 支持 Openai o1 模型,需增加模型的 `defaultConfig` 配置,覆盖 `temperature`、`max_tokens` 和 `stream`配置,o1 不支持 stream 模式, 详细可重新拉取 `config.json` 配置文件查看。
|
||||
9. 新增 - AI 对话节点知识库引用,支持配置 role=system 和 role=user,已配置的过自定义提示词的节点将会保持 user 模式,其余用户将转成 system 模式。
|
||||
10. 新增 - 插件支持上传系统文件。
|
||||
11. 新增 - 子应用嵌套调用时,版本锁定。主应用未主动更新版本时,不会取最新版进行执行,保证主应用服务稳定。
|
||||
12. 新增 - 插件输出,支持指定字段作为工具响应。
|
||||
13. 新增 - 支持工作流嵌套子应用时,可以设置`非流模式`,同时简易模式也可以选择工作流作为插件了,简易模式调用子应用时,都将强制使用非流模式。
|
||||
14. 新增 - 调试模式下,子应用调用,支持返回详细运行数据。
|
||||
15. 新增 - 保留所有模式下子应用嵌套调用的日志。
|
||||
16. 优化 - 工作流嵌套层级限制 20 层,避免因编排不合理导致的无限死循环。
|
||||
17. 优化 - 工作流 handler 性能优化。
|
||||
18. 优化 - 工作流快捷键,避免调试测试时也会触发复制和回退。
|
||||
19. 修复 - 工作流工具调用中修改全局变量后,无法传递到后续流程。
|
||||
20. 优化 - 流输出,切换浏览器 Tab 后仍可以继续输出。
|
||||
21. 优化 - 完善外部文件知识库相关 API
|
||||
22. 修复 - 知识库选择权限问题。
|
||||
23. 修复 - 空 chatId 发起对话,首轮携带用户选择时会异常。
|
||||
24. 修复 - createDataset 接口,intro 为赋值。
|
||||
25. 修复 - 对话框渲染性能问题。
|
||||
26. 修复 - 工具调用历史记录存储不正确。
|
||||
|
@@ -26,7 +26,7 @@ weight: 504
|
||||
|
||||
## 3. 创建 docker-compose.yml 文件
|
||||
|
||||
只需要修改 `OPEN_AI_API_KEY` 和 `OPEN_AI_API_BASE` 两个环境变量即可。其中 `OPEN_AI_API_KEY` 为第一步获取的密钥,`OPEN_AI_API_BASE` 为 FastGPT 的 OpenAPI 地址,例如:`https://api.tryfastgpt.ai/api/v1`。
|
||||
只需要修改 `OPEN_AI_API_KEY` 和 `OPEN_AI_API_BASE` 两个环境变量即可。其中 `OPEN_AI_API_KEY` 为第一步获取的密钥,`OPEN_AI_API_BASE` 为 FastGPT 的 OpenAPI 地址,例如:`https://api.fastgpt.in/api/v1`。
|
||||
|
||||
随便找一个目录,创建一个 docker-compose.yml 文件,将下面的代码复制进去。
|
||||
|
||||
@@ -40,7 +40,7 @@ services:
|
||||
- seccomp:unconfined
|
||||
environment:
|
||||
OPEN_AI_API_KEY: 'fastgpt-z51pkjqm9nrk03a1rx2funoy'
|
||||
OPEN_AI_API_BASE: 'https://api.tryfastgpt.ai/api/v1'
|
||||
OPEN_AI_API_BASE: 'https://api.fastgpt.in/api/v1'
|
||||
MODEL: 'gpt-3.5-turbo'
|
||||
CHANNEL_TYPE: 'wx'
|
||||
PROXY: ''
|
||||
|
87
docSite/content/zh-cn/docs/workflow/modules/sandbox.md
Normal file
87
docSite/content/zh-cn/docs/workflow/modules/sandbox.md
Normal file
@@ -0,0 +1,87 @@
|
||||
---
|
||||
title: "代码运行"
|
||||
description: "FastGPT 代码运行节点介绍"
|
||||
icon: "input"
|
||||
draft: false
|
||||
toc: true
|
||||
weight: 364
|
||||
---
|
||||
|
||||

|
||||
|
||||
## 功能
|
||||
|
||||
可用于执行一段简单的 js 代码,用于进行一些复杂的数据处理。代码运行在沙盒中,无法进行网络请求、dom和异步操作。如需复杂操作,需外挂 HTTP 实现。
|
||||
|
||||
**注意事项**
|
||||
|
||||
- 私有化用户需要部署`fastgpt-sandbox` 镜像,并配置`SANDBOX_URL`环境变量。
|
||||
- 沙盒最大运行 10s, 32M 内存限制。
|
||||
|
||||
|
||||
## 变量输入
|
||||
|
||||
可在自定义输入中添加代码运行需要的变量,在代码的 main 函数中,可解构出相同名字的变量。
|
||||
|
||||
如上图,自定义输入中有 data1 和 data2 两个变量,main 函数中可以解构出相同名字的变量。
|
||||
|
||||
## 结果输出
|
||||
|
||||
务必返回一个 object 对象
|
||||
|
||||
自定义输出中,可以添加变量名来获取 object 对应 key 下的值。例如上图中,返回了一个对象:
|
||||
|
||||
```json
|
||||
{
|
||||
result: data1,
|
||||
data2
|
||||
}
|
||||
```
|
||||
|
||||
他有 2 个 key:result和 data2(js 缩写,key=data2,value=data2)。这时候自定义输出中就可以添加 2 个变量来获取对应 key 下的 value。
|
||||
|
||||
## 内置 JS 全局变量
|
||||
|
||||
### delay 延迟
|
||||
|
||||
延迟 1 秒后返回
|
||||
|
||||
```js
|
||||
async function main({data1, data2}){
|
||||
await delay(1000)
|
||||
return {
|
||||
result: "111"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### countToken 统计 token
|
||||
|
||||
```js
|
||||
function main({input}){
|
||||
return {
|
||||
result: countToken(input)
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||

|
||||
|
||||
### strToBase64 字符串转 base64(4.8.11 版本新增)
|
||||
|
||||
可用于将 SVG 图片转换为 base64 格式展示。
|
||||
|
||||
```js
|
||||
function main({input}){
|
||||
|
||||
return {
|
||||
/*
|
||||
param1: input 需要转换的字符串
|
||||
param2: base64 prefix 前缀
|
||||
*/
|
||||
result: strToBase64(input,'data:image/svg+xml;base64,')
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||

|
@@ -35,8 +35,6 @@ weight: 356
|
||||
1. 无必须的参数:尽管上下文中,没有适合的参数,也可以调用该工具。但有时候,LLM会自己伪造一个参数。
|
||||
2. 有必须的参数:如果没有适合的参数,LLM可能不会调用该工具。可以通过提示词,引导用户提供参数。
|
||||
|
||||
### 工具调用逻辑
|
||||
|
||||
在支持`函数调用`的模型中,可以一次性调用多个工具,调用逻辑如下:
|
||||
|
||||

|
||||
@@ -49,10 +47,24 @@ weight: 356
|
||||
|
||||
高级编排中,托动工具调用的连接点,可用的工具头部会出现一个菱形,可以将它与工具调用模块底部的菱形相连接。
|
||||
|
||||
被连接的工具,会自动分离工具输入与普通的输入,并且可以编辑`介绍`,可以通过调整介绍,使得该工具调用时机更加精确。
|
||||
被连接的工具,会自动分离工具输入与普通的输入,并且可以编辑`描述`,可以通过调整介绍,使得该工具调用时机更加精确。对于一些内置的节点,务必修改`描述`才能让模型正常调用。
|
||||
|
||||
关于工具调用,如何调试仍然是一个玄学,所以建议,不要一次性增加太多工具,选择少量工具调优后再进一步尝试。
|
||||
|
||||
## 组合节点
|
||||
|
||||
### 工具调用终止
|
||||
|
||||
工具调用默认会把子流程运行的结果作为`工具结果`,返回给模型进行回答。有时候,你可能不希望模型做回答,你可以给对应子流程的末尾增加上一个`工具调用终止`节点,这样,子流程的结果就不会被返回给模型。
|
||||
|
||||

|
||||
|
||||
### 自定义工具变量
|
||||
|
||||
工具调用的子流程运行,有时候会依赖`AI`生成的一些变量,为了简化交互流程,我们给系统内置的节点都指定了`工具变量`。然而,有些时候,你需要的变量不仅是目标流程的`首个节点`的变量,而是需要更复杂的变量,此时你可以使用`自定义工具变量`。它允许你完全自定义该`工具流程`的变量。
|
||||
|
||||

|
||||
|
||||
## 相关示例
|
||||
|
||||
- [谷歌搜索](/docs/workflow/examples/google_search/)
|
||||
|
Reference in New Issue
Block a user