diff --git a/docSite/assets/imgs/flow-tool1.png b/docSite/assets/imgs/flow-tool1.png index 50d64096b..a1000f9e0 100644 Binary files a/docSite/assets/imgs/flow-tool1.png and b/docSite/assets/imgs/flow-tool1.png differ diff --git a/docSite/assets/imgs/flow-tool2.png b/docSite/assets/imgs/flow-tool2.png index c923938bc..ff0ff8e10 100644 Binary files a/docSite/assets/imgs/flow-tool2.png and b/docSite/assets/imgs/flow-tool2.png differ diff --git a/docSite/assets/imgs/flow-tool3.png b/docSite/assets/imgs/flow-tool3.png index 78b4162b1..a1f4ac5c5 100644 Binary files a/docSite/assets/imgs/flow-tool3.png and b/docSite/assets/imgs/flow-tool3.png differ diff --git a/docSite/assets/imgs/flow-tool4.png b/docSite/assets/imgs/flow-tool4.png index fcea831c6..b13e83818 100644 Binary files a/docSite/assets/imgs/flow-tool4.png and b/docSite/assets/imgs/flow-tool4.png differ diff --git a/docSite/assets/imgs/flow-tool5.png b/docSite/assets/imgs/flow-tool5.png new file mode 100644 index 000000000..d7e210237 Binary files /dev/null and b/docSite/assets/imgs/flow-tool5.png differ diff --git a/docSite/assets/imgs/flow-tool6.png b/docSite/assets/imgs/flow-tool6.png new file mode 100644 index 000000000..ffe3a7448 Binary files /dev/null and b/docSite/assets/imgs/flow-tool6.png differ diff --git a/docSite/assets/imgs/flow-tool7.png b/docSite/assets/imgs/flow-tool7.png new file mode 100644 index 000000000..f896422ee Binary files /dev/null and b/docSite/assets/imgs/flow-tool7.png differ diff --git a/docSite/assets/imgs/form_input1.png b/docSite/assets/imgs/form_input1.png new file mode 100644 index 000000000..3f0bd4fca Binary files /dev/null and b/docSite/assets/imgs/form_input1.png differ diff --git a/docSite/assets/imgs/form_input2.png b/docSite/assets/imgs/form_input2.png new file mode 100644 index 000000000..c008b6327 Binary files /dev/null and b/docSite/assets/imgs/form_input2.png differ diff --git a/docSite/assets/imgs/form_input3.png b/docSite/assets/imgs/form_input3.png new file mode 100644 index 000000000..8d9ce1787 Binary files /dev/null and b/docSite/assets/imgs/form_input3.png differ diff --git a/docSite/content/zh-cn/docs/guide/workbench/workflow/form_input.md b/docSite/content/zh-cn/docs/guide/workbench/workflow/form_input.md index 7fcb28c7d..67c221a05 100644 --- a/docSite/content/zh-cn/docs/guide/workbench/workflow/form_input.md +++ b/docSite/content/zh-cn/docs/guide/workbench/workflow/form_input.md @@ -5,4 +5,28 @@ icon: "form_input" draft: false toc: true weight: 244 ---- \ No newline at end of file +--- + +## 特点 + +- 用户交互 +- 可重复添加 +- 触发执行 + +![](/imgs/form_input1.png) + +## 功能 + +「表单输入」节点属于用户交互节点,当触发这个节点时,对话会进入“交互”状态,会记录工作流的状态,等用户完成交互后,继续向下执行工作流 + +![](/imgs/form_input2.png) + +比如上图中的例子,当触发表单输入节点时,对话框隐藏,对话进入“交互状态” + +![](/imgs/form_input3.png) + +当用户填完必填的信息并点击提交后,节点能够收集用户填写的表单信息,传递到后续的节点中使用 + +## 作用 + +能够精准收集需要的用户信息,再根据用户信息进行后续操作 \ No newline at end of file diff --git a/docSite/content/zh-cn/docs/guide/workbench/workflow/tool.md b/docSite/content/zh-cn/docs/guide/workbench/workflow/tool.md index 4508b3079..65b7c0f1e 100644 --- a/docSite/content/zh-cn/docs/guide/workbench/workflow/tool.md +++ b/docSite/content/zh-cn/docs/guide/workbench/workflow/tool.md @@ -7,20 +7,21 @@ toc: true weight: 236 --- + ![](/imgs/flow-tool1.png) -## 什么是工具 +### **什么是工具** 工具可以是一个系统模块,例如:AI对话、知识库搜索、HTTP模块等。也可以是一个插件。 工具调用可以让 LLM 更动态的决策流程,而不都是固定的流程。(当然,缺点就是费tokens) -## 工具的组成 +### **工具的组成** 1. 工具介绍。通常是模块的介绍或插件的介绍,这个介绍会告诉LLM,这个工具的作用是什么。 2. 工具参数。对于系统模块来说,工具参数已经是固定的,无需额外配置。对于插件来说,工具参数是一个可配置项。 -## 工具是如何运行的 +### **工具是如何运行的** 要了解工具如何运行的,首先需要知道它的运行条件。 @@ -29,43 +30,57 @@ weight: 236 结合工具的介绍、参数介绍和参数是否必须,LLM会决定是否调用这个工具。有以下几种情况: - 1. 无参数的工具:直接根据工具介绍,决定是否需要执行。例如:获取当前时间。 2. 有参数的工具: 1. 无必须的参数:尽管上下文中,没有适合的参数,也可以调用该工具。但有时候,LLM会自己伪造一个参数。 2. 有必须的参数:如果没有适合的参数,LLM可能不会调用该工具。可以通过提示词,引导用户提供参数。 +#### **工具调用逻辑** + 在支持`函数调用`的模型中,可以一次性调用多个工具,调用逻辑如下: ![](/imgs/flow-tool2.png) -## 怎么用 +### **怎么用** -| 有工具调用模块 | 无工具调用模块 | -| --- | --- | -| ![](/imgs/flow-tool3.png) | ![](/imgs/flow-tool4.png) | +
+ 工具调用模块示例 3 + 工具调用模块示例 4 +
-高级编排中,托动工具调用的连接点,可用的工具头部会出现一个菱形,可以将它与工具调用模块底部的菱形相连接。 + -被连接的工具,会自动分离工具输入与普通的输入,并且可以编辑`描述`,可以通过调整介绍,使得该工具调用时机更加精确。对于一些内置的节点,务必修改`描述`才能让模型正常调用。 +高级编排中,拖动工具调用的连接点,可用的工具头部会出现一个菱形,可以将它与工具调用模块底部的菱形相连接。 + +被连接的工具,会自动分离工具输入与普通的输入,并且可以编辑`介绍`,可以通过调整介绍,使得该工具调用时机更加精确。 关于工具调用,如何调试仍然是一个玄学,所以建议,不要一次性增加太多工具,选择少量工具调优后再进一步尝试。 -## 组合节点 +#### 用途 -### 工具调用终止 +默认清空下,工具调用节点,在决定调用工具后,会将工具运行的结果,返回给AI,让 AI 对工具运行的结果进行总结输出。有时候,如果你不需要 AI 进行进一步的总结输出,可以使用该节点,将其接入对于工具流程的末尾。 -工具调用默认会把子流程运行的结果作为`工具结果`,返回给模型进行回答。有时候,你可能不希望模型做回答,你可以给对应子流程的末尾增加上一个`工具调用终止`节点,这样,子流程的结果就不会被返回给模型。 +如下图,在执行知识库搜索后,发送给了 HTTP 请求,搜索将不会返回搜索的结果给工具调用进行 AI 总结。 -![alt text](/imgs/image-3.png) +![](/imgs/flow-tool5.png) + +### 附加节点 + +当您使用了工具调用节点,同时就会出现工具调用终止节点和自定义变量节点,能够进一步提升工具调用的使用体验。 + +#### 工具调用终止 + +工具调用终止可用于结束本次调用,即可以接在某个工具后面,当工作流执行到这个节点时,便会强制结束本次工具调用,不再调用其他工具,也不会再调用 AI 针对工具调用结果回答问题。 + +![](/imgs/flow-tool6.png) ### 自定义工具变量 -工具调用的子流程运行,有时候会依赖`AI`生成的一些变量,为了简化交互流程,我们给系统内置的节点都指定了`工具变量`。然而,有些时候,你需要的变量不仅是目标流程的`首个节点`的变量,而是需要更复杂的变量,此时你可以使用`自定义工具变量`。它允许你完全自定义该`工具流程`的变量。 +自定义变量可以扩展工具的变量输入,即对于一些未被视作工具参数或无法工具调用的节点,可以自定义工具变量,填上对应的参数描述,那么工具调用便会相对应的调用这个节点,进而调用其之后的工作流。 -![alt text](/imgs/image-4.png) +![](/imgs/flow-tool7.png) -## 相关示例 +### **相关示例** -- [谷歌搜索](/docs/use-cases/app-cases/google_search/) -- [发送飞书webhook](/docs/use-cases/app-cases/feishu_webhook/) \ No newline at end of file +- [谷歌搜索](https://doc.fastgpt.in/docs/use-cases/app-cases/google_search/) +- [发送飞书webhook](https://doc.fastgpt.in/docs/use-cases/app-cases/feishu_webhook/) \ No newline at end of file