mirror of
https://github.com/labring/FastGPT.git
synced 2025-10-18 17:51:24 +00:00

* add new doc (#5175) Co-authored-by: dreamer6680 <146868355@qq.com> * Test docs (#5235) * fix: change the page of doc * chore: add new dependencies, update global styles/layout, optimize docs, add Feishu & GitHub icons, update API examples * fix: docs/index 404 not found * Update environment variable names, optimize styles, add new API routes, fix component styles, adjust documentation, and update GitHub and Feishu icons * update readme * feat: add a linkfastgpt compontent * feat: update new doc * fix:remove unuse page and redirect homepage to docs (#5288) * fix:remove some unuse doc * fix: redirect homepage to doc * git ignore * fix:navbar to index (#5295) * sidbar * fix: navtab unlight (#5298) * doc --------- Co-authored-by: dreamer6680 <1468683855@qq.com> Co-authored-by: dreamer6680 <146868355@qq.com>
409 lines
11 KiB
Plaintext
409 lines
11 KiB
Plaintext
---
|
||
title: 发送飞书webhook通知
|
||
description: 利用工具调用模块,发送一个飞书webhook通知
|
||
---
|
||
|
||
该文章展示如何发送一个简单的飞书webhook通知,以此类推,发送其他类型的通知也可以这么操作。
|
||
|
||
| | |
|
||
| --------------------- | --------------------- |
|
||
|  |  |
|
||
|
||
## 1. 准备飞书机器人
|
||
|
||
| | | |
|
||
| --------------------- | --------------------- |--------------------- |
|
||
|  |  | |
|
||
|
||
## 2. 导入编排代码
|
||
|
||
复制下面配置,点击「高级编排」右上角的导入按键,导入该配置,导入后将飞书提供的接口地址复制到「HTTP 模块」。
|
||
|
||
<details>
|
||
<summary>编排配置</summary>
|
||
|
||
```json
|
||
{
|
||
"nodes": [
|
||
{
|
||
"nodeId": "userGuide",
|
||
"name": "系统配置",
|
||
"intro": "可以配置应用的系统参数",
|
||
"avatar": "/imgs/workflow/userGuide.png",
|
||
"flowNodeType": "userGuide",
|
||
"position": {
|
||
"x": 303.41163758039283,
|
||
"y": -552.297639861266
|
||
},
|
||
"version": "481",
|
||
"inputs": [],
|
||
"outputs": []
|
||
},
|
||
{
|
||
"nodeId": "workflowStartNodeId",
|
||
"name": "流程开始",
|
||
"intro": "",
|
||
"avatar": "/imgs/workflow/userChatInput.svg",
|
||
"flowNodeType": "workflowStart",
|
||
"position": {
|
||
"x": 529.3935295017156,
|
||
"y": 197.114018410347
|
||
},
|
||
"version": "481",
|
||
"inputs": [
|
||
{
|
||
"key": "userChatInput",
|
||
"renderTypeList": [
|
||
"reference",
|
||
"textarea"
|
||
],
|
||
"valueType": "string",
|
||
"label": "用户问题",
|
||
"required": true,
|
||
"toolDescription": "用户问题"
|
||
}
|
||
],
|
||
"outputs": [
|
||
{
|
||
"id": "userChatInput",
|
||
"key": "userChatInput",
|
||
"label": "core.module.input.label.user question",
|
||
"valueType": "string",
|
||
"type": "static"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"nodeId": "u6IAOEssxoZT",
|
||
"name": "工具调用",
|
||
"intro": "通过AI模型自动选择一个或多个功能块进行调用,也可以对插件进行调用。",
|
||
"avatar": "/imgs/workflow/tool.svg",
|
||
"flowNodeType": "tools",
|
||
"showStatus": true,
|
||
"position": {
|
||
"x": 1003.146243538873,
|
||
"y": 48.52327869406625
|
||
},
|
||
"version": "481",
|
||
"inputs": [
|
||
{
|
||
"key": "model",
|
||
"renderTypeList": [
|
||
"settingLLMModel",
|
||
"reference"
|
||
],
|
||
"label": "core.module.input.label.aiModel",
|
||
"valueType": "string",
|
||
"llmModelType": "all",
|
||
"value": "gpt-3.5-turbo"
|
||
},
|
||
{
|
||
"key": "temperature",
|
||
"renderTypeList": [
|
||
"hidden"
|
||
],
|
||
"label": "",
|
||
"value": 0,
|
||
"valueType": "number",
|
||
"min": 0,
|
||
"max": 10,
|
||
"step": 1
|
||
},
|
||
{
|
||
"key": "maxToken",
|
||
"renderTypeList": [
|
||
"hidden"
|
||
],
|
||
"label": "",
|
||
"value": 2000,
|
||
"valueType": "number",
|
||
"min": 100,
|
||
"max": 4000,
|
||
"step": 50
|
||
},
|
||
{
|
||
"key": "systemPrompt",
|
||
"renderTypeList": [
|
||
"textarea",
|
||
"reference"
|
||
],
|
||
"max": 3000,
|
||
"valueType": "string",
|
||
"label": "core.ai.Prompt",
|
||
"description": "core.app.tip.chatNodeSystemPromptTip",
|
||
"placeholder": "core.app.tip.chatNodeSystemPromptTip"
|
||
},
|
||
{
|
||
"key": "history",
|
||
"renderTypeList": [
|
||
"numberInput",
|
||
"reference"
|
||
],
|
||
"valueType": "chatHistory",
|
||
"label": "core.module.input.label.chat history",
|
||
"description": "最多携带多少轮对话记录",
|
||
"required": true,
|
||
"min": 0,
|
||
"max": 50,
|
||
"value": 6
|
||
},
|
||
{
|
||
"key": "userChatInput",
|
||
"renderTypeList": [
|
||
"reference",
|
||
"textarea"
|
||
],
|
||
"valueType": "string",
|
||
"label": "用户问题",
|
||
"required": true,
|
||
"value": [
|
||
"workflowStartNodeId",
|
||
"userChatInput"
|
||
]
|
||
}
|
||
],
|
||
"outputs": [
|
||
{
|
||
"id": "answerText",
|
||
"key": "answerText",
|
||
"label": "core.module.output.label.Ai response content",
|
||
"description": "core.module.output.description.Ai response content",
|
||
"valueType": "string",
|
||
"type": "static"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"nodeId": "fvY5hb0K646V",
|
||
"name": "工具调用终止",
|
||
"intro": "该模块需配置工具调用使用。当该模块被执行时,本次工具调用将会强制结束,并且不再调用AI针对工具调用结果回答问题。",
|
||
"avatar": "/imgs/workflow/toolStop.svg",
|
||
"flowNodeType": "stopTool",
|
||
"position": {
|
||
"x": 2367.838362362707,
|
||
"y": 732.355988936165
|
||
},
|
||
"version": "481",
|
||
"inputs": [],
|
||
"outputs": []
|
||
},
|
||
{
|
||
"nodeId": "x9rN2a4WnZmt",
|
||
"name": "HTTP 请求",
|
||
"intro": "向飞书发送一个webhooks通知信息。",
|
||
"avatar": "/imgs/workflow/http.png",
|
||
"flowNodeType": "httpRequest468",
|
||
"showStatus": true,
|
||
"position": {
|
||
"x": 1623.9214305901633,
|
||
"y": 22.777089001645862
|
||
},
|
||
"version": "486",
|
||
"inputs": [
|
||
{
|
||
"key": "system_addInputParam",
|
||
"renderTypeList": [
|
||
"addInputParam"
|
||
],
|
||
"valueType": "dynamic",
|
||
"label": "",
|
||
"required": false,
|
||
"description": "core.module.input.description.HTTP Dynamic Input",
|
||
"editField": {
|
||
"key": true,
|
||
"valueType": true
|
||
}
|
||
},
|
||
{
|
||
"valueType": "string",
|
||
"renderTypeList": [
|
||
"reference"
|
||
],
|
||
"key": "text",
|
||
"label": "text",
|
||
"toolDescription": "发送的消息",
|
||
"required": true,
|
||
"canEdit": true,
|
||
"editField": {
|
||
"key": true,
|
||
"description": true
|
||
}
|
||
},
|
||
{
|
||
"key": "system_httpMethod",
|
||
"renderTypeList": [
|
||
"custom"
|
||
],
|
||
"valueType": "string",
|
||
"label": "",
|
||
"value": "POST",
|
||
"required": true
|
||
},
|
||
{
|
||
"key": "system_httpReqUrl",
|
||
"renderTypeList": [
|
||
"hidden"
|
||
],
|
||
"valueType": "string",
|
||
"label": "",
|
||
"description": "core.module.input.description.Http Request Url",
|
||
"placeholder": "https://api.ai.com/getInventory",
|
||
"required": false,
|
||
"value": ""
|
||
},
|
||
{
|
||
"key": "system_httpHeader",
|
||
"renderTypeList": [
|
||
"custom"
|
||
],
|
||
"valueType": "any",
|
||
"value": [],
|
||
"label": "",
|
||
"description": "core.module.input.description.Http Request Header",
|
||
"placeholder": "core.module.input.description.Http Request Header",
|
||
"required": false
|
||
},
|
||
{
|
||
"key": "system_httpParams",
|
||
"renderTypeList": [
|
||
"hidden"
|
||
],
|
||
"valueType": "any",
|
||
"value": [],
|
||
"label": "",
|
||
"required": false
|
||
},
|
||
{
|
||
"key": "system_httpJsonBody",
|
||
"renderTypeList": [
|
||
"hidden"
|
||
],
|
||
"valueType": "any",
|
||
"value": "{\r\n \"msg_type\": \"text\",\r\n \"content\": {\r\n \"text\": \"{{text}}\"\r\n }\r\n}",
|
||
"label": "",
|
||
"required": false
|
||
}
|
||
],
|
||
"outputs": [
|
||
{
|
||
"id": "system_addOutputParam",
|
||
"key": "system_addOutputParam",
|
||
"type": "dynamic",
|
||
"valueType": "dynamic",
|
||
"label": "",
|
||
"editField": {
|
||
"key": true,
|
||
"valueType": true
|
||
}
|
||
},
|
||
{
|
||
"id": "error",
|
||
"key": "error",
|
||
"label": "请求错误",
|
||
"description": "HTTP请求错误信息,成功时返回空",
|
||
"valueType": "object",
|
||
"type": "static"
|
||
},
|
||
{
|
||
"id": "httpRawResponse",
|
||
"key": "httpRawResponse",
|
||
"label": "原始响应",
|
||
"required": true,
|
||
"description": "HTTP请求的原始响应。只能接受字符串或JSON类型响应数据。",
|
||
"valueType": "any",
|
||
"type": "static"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"nodeId": "aGHGqH2oUupj",
|
||
"name": "指定回复",
|
||
"intro": "该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。",
|
||
"avatar": "/imgs/workflow/reply.png",
|
||
"flowNodeType": "answerNode",
|
||
"position": {
|
||
"x": 2350.7077940158674,
|
||
"y": 107.32448732713493
|
||
},
|
||
"version": "481",
|
||
"inputs": [
|
||
{
|
||
"key": "text",
|
||
"renderTypeList": [
|
||
"textarea",
|
||
"reference"
|
||
],
|
||
"valueType": "any",
|
||
"required": true,
|
||
"label": "core.module.input.label.Response content",
|
||
"description": "core.module.input.description.Response content",
|
||
"placeholder": "core.module.input.description.Response content",
|
||
"value": "嘻嘻,发送成功"
|
||
}
|
||
],
|
||
"outputs": []
|
||
}
|
||
],
|
||
"edges": [
|
||
{
|
||
"source": "workflowStartNodeId",
|
||
"target": "u6IAOEssxoZT",
|
||
"sourceHandle": "workflowStartNodeId-source-right",
|
||
"targetHandle": "u6IAOEssxoZT-target-left"
|
||
},
|
||
{
|
||
"source": "u6IAOEssxoZT",
|
||
"target": "x9rN2a4WnZmt",
|
||
"sourceHandle": "selectedTools",
|
||
"targetHandle": "selectedTools"
|
||
},
|
||
{
|
||
"source": "x9rN2a4WnZmt",
|
||
"target": "fvY5hb0K646V",
|
||
"sourceHandle": "x9rN2a4WnZmt-source-right",
|
||
"targetHandle": "fvY5hb0K646V-target-left"
|
||
},
|
||
{
|
||
"source": "x9rN2a4WnZmt",
|
||
"target": "aGHGqH2oUupj",
|
||
"sourceHandle": "x9rN2a4WnZmt-source-right",
|
||
"targetHandle": "aGHGqH2oUupj-target-left"
|
||
}
|
||
],
|
||
"chatConfig": {
|
||
"variables": [
|
||
{
|
||
"id": "txq1ca",
|
||
"key": "test",
|
||
"label": "测试",
|
||
"type": "custom",
|
||
"required": true,
|
||
"maxLen": 50,
|
||
"enums": [
|
||
{
|
||
"value": ""
|
||
}
|
||
]
|
||
}
|
||
],
|
||
"questionGuide": false,
|
||
"scheduledTriggerConfig": {
|
||
"cronString": "",
|
||
"timezone": "Asia/Shanghai",
|
||
"defaultPrompt": ""
|
||
},
|
||
"_id": "66715d4bf577287d39e35ecf"
|
||
}
|
||
}
|
||
```
|
||
|
||
</details>
|
||
|
||
|
||
## 3. 流程说明
|
||
|
||
1. 为工具调用挂载一个HTTP模块,功能描述写上:调用飞书webhook,发送一个通知。
|
||
2. HTTP模块的输入参数中,填写飞书机器人的地址,填写发送的通知内容。
|
||
3. HTTP模块输出连接上一个工具终止模块,用于强制结束工具调用。不终止的话,会把调用结果返回给模型,模型会继续回答一次问题,浪费 Tokens
|
||
4. HTTP模块输出再连上一个指定回复,直接回复一个发送成功,用于替代AI的回答。
|