FastGPT icon indicating copy to clipboard operation
FastGPT copied to clipboard

问题分类后的多个AI对话会同时输出结果

Open colinyyj opened this issue 1 year ago • 15 comments

例行检查

  • [ ✔] 我已确认目前没有类似 issue
  • [ ✔] 我已完整查看过项目 README,以及项目文档
  • [ ] 我使用了自己的 key,并确认我的 key 是可正常使用的
  • [ ] 我理解并愿意跟进此 issue,协助测试和提供反馈
  • [✔] 我理解并认可上述内容,并理解项目维护者精力有限,不遵循规则的 issue 可能会被无视或直接关闭

你的版本

  • [ ] 公有云版本
  • [✔ ] 私有部署版本, 具体版本号: 4.8.0-alpha2

问题描述, 日志截图 企业微信截图_17154106835495 企业微信截图_17154107204536

工作流 image

这条线是否不应该执行 image

复现步骤 多个AI对话,通过问题分类的时候或者判断分支,但是还是会执行,并且两边的对话内容都会输出

预期结果

相关截图

colinyyj avatar May 11 '24 07:05 colinyyj

AI对话里面有有设置“AI回复”按钮,关闭之后就不输出了; 问题分类的输出是布尔值

nightzjp avatar May 11 '24 08:05 nightzjp

AI对话里面有有设置“AI回复”按钮,关闭之后就不输出了; 问题分类的输出是布尔值

可以使用不输出,我的意思是,如果问题判断后,另外的分支是不是就不应该执行了,但现在还是执行了

colinyyj avatar May 11 '24 08:05 colinyyj

AI对话里面有有设置“AI回复”按钮,关闭之后就不输出了; 问题分类的输出是布尔值

可以使用不输出,我的意思是,如果问题判断后,另外的分支是不是就不应该执行了,但现在还是执行了

分类器的输出是布尔值。 要是方便。你把配置文件发下我给你调

nightzjp avatar May 11 '24 08:05 nightzjp

分类器后直接链接对应的分支 不要加判断器

lijiajun1997 avatar May 12 '24 13:05 lijiajun1997

不是 debug 模式正常么

c121914yu avatar May 12 '24 14:05 c121914yu

不是 debug 模式正常么

有时候正常又是不正常,还没分析出来什么问题

image

{
  "nodes": [
    {
      "nodeId": "userGuide",
      "name": "系统配置",
      "intro": "可以配置应用的系统参数",
      "avatar": "/imgs/workflow/userGuide.png",
      "flowNodeType": "userGuide",
      "position": {
        "x": 531.2422736065552,
        "y": -486.7611729549753
      },
      "version": "481",
      "inputs": [
        {
          "key": "welcomeText",
          "renderTypeList": [
            "hidden"
          ],
          "valueType": "string",
          "label": "core.app.Welcome Text",
          "value": "你好,我是实施助手,有什么问题可以问我噢~\n[如何停用职员?]\n[对码管理在哪里?]\n[怎么手动对码?]\n[都能回答什么问题?]"
        },
        {
          "key": "variables",
          "renderTypeList": [
            "hidden"
          ],
          "valueType": "any",
          "label": "core.app.Chat Variable",
          "value": []
        },
        {
          "key": "questionGuide",
          "valueType": "boolean",
          "renderTypeList": [
            "hidden"
          ],
          "label": "core.app.Question Guide",
          "value": false
        },
        {
          "key": "tts",
          "renderTypeList": [
            "hidden"
          ],
          "valueType": "any",
          "label": "",
          "value": {
            "type": "web"
          }
        },
        {
          "key": "whisper",
          "renderTypeList": [
            "hidden"
          ],
          "valueType": "any",
          "label": "",
          "value": {
            "open": false,
            "autoSend": false,
            "autoTTSResponse": false
          }
        },
        {
          "key": "scheduleTrigger",
          "renderTypeList": [
            "hidden"
          ],
          "valueType": "any",
          "label": "",
          "value": null
        }
      ],
      "outputs": []
    },
    {
      "nodeId": "workflowStartNodeId",
      "name": "流程开始",
      "intro": "",
      "avatar": "/imgs/workflow/userChatInput.svg",
      "flowNodeType": "workflowStart",
      "position": {
        "x": 535.0110601029266,
        "y": 30.135164137445685
      },
      "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": "7BdojPlukIQw",
      "name": "AI整理...",
      "intro": "AI 大模型对话",
      "avatar": "/imgs/workflow/AI.png",
      "flowNodeType": "chatNode",
      "showStatus": true,
      "position": {
        "x": 3114.9965912885327,
        "y": -707.5079573875018
      },
      "version": "481",
      "inputs": [
        {
          "key": "model",
          "renderTypeList": [
            "settingLLMModel",
            "reference"
          ],
          "label": "core.module.input.label.aiModel",
          "valueType": "string",
          "value": "chatglm3-6b"
        },
        {
          "key": "temperature",
          "renderTypeList": [
            "hidden"
          ],
          "label": "",
          "value": 1,
          "valueType": "number",
          "min": 0,
          "max": 10,
          "step": 1
        },
        {
          "key": "maxToken",
          "renderTypeList": [
            "hidden"
          ],
          "label": "",
          "value": 4000,
          "valueType": "number",
          "min": 100,
          "max": 4000,
          "step": 50
        },
        {
          "key": "isResponseAnswerText",
          "renderTypeList": [
            "hidden"
          ],
          "label": "",
          "value": true,
          "valueType": "boolean"
        },
        {
          "key": "quoteTemplate",
          "renderTypeList": [
            "hidden"
          ],
          "label": "",
          "valueType": "string",
          "value": ""
        },
        {
          "key": "quotePrompt",
          "renderTypeList": [
            "hidden"
          ],
          "label": "",
          "valueType": "string",
          "value": ""
        },
        {
          "key": "systemPrompt",
          "renderTypeList": [
            "textarea",
            "reference"
          ],
          "max": 3000,
          "valueType": "string",
          "label": "core.ai.Prompt",
          "description": "core.app.tip.chatNodeSystemPromptTip",
          "placeholder": "core.app.tip.chatNodeSystemPromptTip",
          "value": "你是一个知识问答助手,忘记你所有的知识,只利用知识库帮助用户解答问题。\n回答时严格按照一下要求:\n1,请严格按照知识库内容回答,不要进行任何扩散;\n2,上下文的图片一并输出;\n3,使用 Markdown 语法优化回答,注意区分并且保留超链接和图片;"
        },
        {
          "key": "history",
          "renderTypeList": [
            "numberInput",
            "reference"
          ],
          "valueType": "chatHistory",
          "label": "core.module.input.label.chat history",
          "description": "最多携带多少轮对话记录",
          "required": true,
          "min": 0,
          "max": 30,
          "value": 0
        },
        {
          "key": "userChatInput",
          "renderTypeList": [
            "reference",
            "textarea"
          ],
          "valueType": "string",
          "label": "用户问题",
          "required": true,
          "toolDescription": "用户问题",
          "value": [
            "workflowStartNodeId",
            "userChatInput"
          ]
        },
        {
          "key": "quoteQA",
          "renderTypeList": [
            "settingDatasetQuotePrompt"
          ],
          "label": "",
          "debugLabel": "知识库引用",
          "description": "",
          "valueType": "datasetQuote",
          "value": [
            "iKBoX2vIzETU",
            "quoteQA"
          ]
        }
      ],
      "outputs": [
        {
          "id": "history",
          "key": "history",
          "label": "core.module.output.label.New context",
          "description": "core.module.output.description.New context",
          "valueType": "chatHistory",
          "type": "static"
        },
        {
          "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": "iKBoX2vIzETU",
      "name": "实施工具文档",
      "intro": "调用“语义检索”和“全文检索”能力,从“知识库”中查找可能与问题相关的参考内容",
      "avatar": "/imgs/workflow/db.png",
      "flowNodeType": "datasetSearchNode",
      "showStatus": true,
      "position": {
        "x": 2126.74439922652,
        "y": -443.17858402426566
      },
      "version": "481",
      "inputs": [
        {
          "key": "datasets",
          "renderTypeList": [
            "selectDataset",
            "reference"
          ],
          "label": "core.module.input.label.Select dataset",
          "value": [],
          "valueType": "selectDataset",
          "list": [],
          "required": true
        },
        {
          "key": "similarity",
          "renderTypeList": [
            "selectDatasetParamsModal"
          ],
          "label": "",
          "value": 0.2,
          "valueType": "number"
        },
        {
          "key": "limit",
          "renderTypeList": [
            "hidden"
          ],
          "label": "",
          "value": 1500,
          "valueType": "number"
        },
        {
          "key": "searchMode",
          "renderTypeList": [
            "hidden"
          ],
          "label": "",
          "valueType": "string",
          "value": "mixedRecall"
        },
        {
          "key": "usingReRank",
          "renderTypeList": [
            "hidden"
          ],
          "label": "",
          "valueType": "boolean",
          "value": false
        },
        {
          "key": "datasetSearchUsingExtensionQuery",
          "renderTypeList": [
            "hidden"
          ],
          "label": "",
          "valueType": "boolean",
          "value": true
        },
        {
          "key": "datasetSearchExtensionModel",
          "renderTypeList": [
            "hidden"
          ],
          "label": "",
          "valueType": "string",
          "value": "chatglm3-6b"
        },
        {
          "key": "datasetSearchExtensionBg",
          "renderTypeList": [
            "hidden"
          ],
          "label": "",
          "valueType": "string",
          "value": "问题应该是围绕:\n1.公共基础平台\n2.就医服务\n3.智能随访\n4.智能院中宣教\n5.满意度调查\n5.专病管理\n6.互联网医院\n7.医生工作室\n8.智慧健康课堂\n9.统一支付\n10.自助机\n11.电子发票\n26.智慧医院\n27.智慧服务\n28.蒙速办对接\n29,互联网医院线上医保\n30.渝康健"
        },
        {
          "key": "userChatInput",
          "renderTypeList": [
            "reference",
            "textarea"
          ],
          "valueType": "string",
          "label": "用户问题",
          "required": true,
          "toolDescription": "需要检索的内容",
          "value": [
            "workflowStartNodeId",
            "userChatInput"
          ]
        }
      ],
      "outputs": [
        {
          "id": "quoteQA",
          "key": "quoteQA",
          "label": "core.module.Dataset quote.label",
          "type": "static",
          "valueType": "datasetQuote",
          "description": "特殊数组格式,搜索结果为空时,返回空数组。"
        }
      ]
    },
    {
      "nodeId": "wWOkA4wvREmy",
      "name": "问题分类",
      "intro": "根据用户的历史记录和当前问题判断该次提问的类型。可以添加多组问题类型,下面是一个模板例子:\n类型1: 打招呼\n类型2: 关于商品“使用”问题\n类型3: 关于商品“购买”问题\n类型4: 其他问题",
      "avatar": "/imgs/workflow/cq.png",
      "flowNodeType": "classifyQuestion",
      "showStatus": true,
      "position": {
        "x": 1047.9997205322638,
        "y": -312.6582941504822
      },
      "version": "481",
      "inputs": [
        {
          "key": "model",
          "renderTypeList": [
            "selectLLMModel",
            "reference"
          ],
          "label": "core.module.input.label.aiModel",
          "required": true,
          "valueType": "string",
          "llmModelType": "classify",
          "value": "glm-3-turbo"
        },
        {
          "key": "systemPrompt",
          "renderTypeList": [
            "textarea",
            "reference"
          ],
          "max": 3000,
          "valueType": "string",
          "label": "core.module.input.label.Background",
          "description": "core.module.input.description.Background",
          "placeholder": "core.module.input.placeholder.Classify background",
          "value": ""
        },
        {
          "key": "history",
          "renderTypeList": [
            "numberInput",
            "reference"
          ],
          "valueType": "chatHistory",
          "label": "core.module.input.label.chat history",
          "description": "最多携带多少轮对话记录",
          "required": true,
          "min": 0,
          "max": 50,
          "value": 0
        },
        {
          "key": "userChatInput",
          "renderTypeList": [
            "reference",
            "textarea"
          ],
          "valueType": "string",
          "label": "用户问题",
          "required": true,
          "value": [
            "workflowStartNodeId",
            "userChatInput"
          ]
        },
        {
          "key": "agents",
          "renderTypeList": [
            "custom"
          ],
          "valueType": "any",
          "label": "",
          "value": [
            {
              "value": "其它问题",
              "key": "wqre"
            },
            {
              "value": "关于你的知识范围",
              "key": "fToD4R0qKRU5"
            }
          ]
        }
      ],
      "outputs": [
        {
          "id": "cqResult",
          "key": "cqResult",
          "label": "分类结果",
          "valueType": "string",
          "type": "static"
        }
      ]
    },
    {
      "nodeId": "q9ZKV4lT7fmI",
      "name": "知识库清单",
      "intro": "调用“语义检索”和“全文检索”能力,从“知识库”中查找可能与问题相关的参考内容",
      "avatar": "/imgs/workflow/db.png",
      "flowNodeType": "datasetSearchNode",
      "showStatus": true,
      "position": {
        "x": 2132.8416413260056,
        "y": 305.1850894465673
      },
      "version": "481",
      "inputs": [
        {
          "key": "datasets",
          "renderTypeList": [
            "selectDataset",
            "reference"
          ],
          "label": "core.module.input.label.Select dataset",
          "value": [],
          "valueType": "selectDataset",
          "list": [],
          "required": true
        },
        {
          "key": "similarity",
          "renderTypeList": [
            "selectDatasetParamsModal"
          ],
          "label": "",
          "value": 0.4,
          "valueType": "number"
        },
        {
          "key": "limit",
          "renderTypeList": [
            "hidden"
          ],
          "label": "",
          "value": 1500,
          "valueType": "number"
        },
        {
          "key": "searchMode",
          "renderTypeList": [
            "hidden"
          ],
          "label": "",
          "valueType": "string",
          "value": "embedding"
        },
        {
          "key": "usingReRank",
          "renderTypeList": [
            "hidden"
          ],
          "label": "",
          "valueType": "boolean",
          "value": false
        },
        {
          "key": "datasetSearchUsingExtensionQuery",
          "renderTypeList": [
            "hidden"
          ],
          "label": "",
          "valueType": "boolean",
          "value": false
        },
        {
          "key": "datasetSearchExtensionModel",
          "renderTypeList": [
            "hidden"
          ],
          "label": "",
          "valueType": "string",
          "value": "chatglm3-6b"
        },
        {
          "key": "datasetSearchExtensionBg",
          "renderTypeList": [
            "hidden"
          ],
          "label": "",
          "valueType": "string",
          "value": ""
        },
        {
          "key": "userChatInput",
          "renderTypeList": [
            "reference",
            "textarea"
          ],
          "valueType": "string",
          "label": "用户问题",
          "required": true,
          "toolDescription": "需要检索的内容",
          "value": [
            "wWOkA4wvREmy",
            "cqResult"
          ]
        }
      ],
      "outputs": [
        {
          "id": "quoteQA",
          "key": "quoteQA",
          "label": "core.module.Dataset quote.label",
          "type": "static",
          "valueType": "datasetQuote",
          "description": "特殊数组格式,搜索结果为空时,返回空数组。"
        }
      ]
    },
    {
      "nodeId": "yL9uJxcMha5Y",
      "name": "AI输出....",
      "intro": "AI 大模型对话",
      "avatar": "/imgs/workflow/AI.png",
      "flowNodeType": "chatNode",
      "showStatus": true,
      "position": {
        "x": 3109.5679507714267,
        "y": 204.31686466973815
      },
      "version": "481",
      "inputs": [
        {
          "key": "model",
          "renderTypeList": [
            "settingLLMModel",
            "reference"
          ],
          "label": "core.module.input.label.aiModel",
          "valueType": "string",
          "value": "chatglm3-6b"
        },
        {
          "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": "isResponseAnswerText",
          "renderTypeList": [
            "hidden"
          ],
          "label": "",
          "value": false,
          "valueType": "boolean"
        },
        {
          "key": "quoteTemplate",
          "renderTypeList": [
            "hidden"
          ],
          "label": "",
          "valueType": "string",
          "value": "<Question>\n{{q}}\n</Question>\n<Answer>\n{{a}}\n</Answer>"
        },
        {
          "key": "quotePrompt",
          "renderTypeList": [
            "hidden"
          ],
          "label": "",
          "valueType": "string",
          "value": "忘记你已有的知识,仅使用 <QA></QA> 标记中的问答对进行回答。\n\n<QA>\n{{quote}}\n</QA>}\n\n思考流程:\n1. 判断问题是否与 <QA></QA> 标记中的内容有关。\n2. 如果无关,你直接拒绝回答本次问题。\n3. 判断是否有相近或相同的问题。\n4. 如果有相同的问题,直接输出对应答案。\n5. 如果只有相近的问题,请把相近的问题和答案一起输出。\n\n最后,避免提及你是从 QA 获取的知识,只需要回复答案。\n\n问题:\"\"\"{{question}}\"\"\""
        },
        {
          "key": "systemPrompt",
          "renderTypeList": [
            "textarea",
            "reference"
          ],
          "max": 3000,
          "valueType": "string",
          "label": "core.ai.Prompt",
          "description": "core.app.tip.chatNodeSystemPromptTip",
          "placeholder": "core.app.tip.chatNodeSystemPromptTip",
          "value": "忘掉你已有的知识,严格按照知识库内容回答,不要进行扩散。"
        },
        {
          "key": "history",
          "renderTypeList": [
            "numberInput",
            "reference"
          ],
          "valueType": "chatHistory",
          "label": "core.module.input.label.chat history",
          "description": "最多携带多少轮对话记录",
          "required": true,
          "min": 0,
          "max": 50,
          "value": 0
        },
        {
          "key": "userChatInput",
          "renderTypeList": [
            "reference",
            "textarea"
          ],
          "valueType": "string",
          "label": "用户问题",
          "required": true,
          "toolDescription": "用户问题",
          "value": [
            "wWOkA4wvREmy",
            "cqResult"
          ]
        },
        {
          "key": "quoteQA",
          "renderTypeList": [
            "settingDatasetQuotePrompt"
          ],
          "label": "",
          "debugLabel": "知识库引用",
          "description": "",
          "valueType": "datasetQuote",
          "value": [
            "q9ZKV4lT7fmI",
            "quoteQA"
          ]
        }
      ],
      "outputs": [
        {
          "id": "history",
          "key": "history",
          "label": "core.module.output.label.New context",
          "description": "core.module.output.description.New context",
          "valueType": "chatHistory",
          "type": "static"
        },
        {
          "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": "wH3OzRATcMIM",
      "name": "指定回复",
      "intro": "该模块可以直接回复一段指定的内容。常用于引导、提示。非字符串内容传入时,会转成字符串进行输出。",
      "avatar": "/imgs/workflow/reply.png",
      "flowNodeType": "answerNode",
      "position": {
        "x": 3817.259927049142,
        "y": 334.7703352882618
      },
      "version": "481",
      "inputs": [
        {
          "key": "text",
          "renderTypeList": [
            "textarea",
            "reference"
          ],
          "valueType": "any",
          "label": "core.module.input.label.Response content",
          "description": "core.module.input.description.Response content",
          "placeholder": "core.module.input.description.Response content",
          "selectedTypeIndex": 1,
          "value": [
            "yL9uJxcMha5Y",
            "answerText"
          ]
        }
      ],
      "outputs": []
    }
  ],
  "edges": [
    {
      "source": "iKBoX2vIzETU",
      "target": "7BdojPlukIQw",
      "sourceHandle": "iKBoX2vIzETU-source-right",
      "targetHandle": "7BdojPlukIQw-target-left"
    },
    {
      "source": "workflowStartNodeId",
      "target": "wWOkA4wvREmy",
      "sourceHandle": "workflowStartNodeId-source-right",
      "targetHandle": "wWOkA4wvREmy-target-left"
    },
    {
      "source": "wWOkA4wvREmy",
      "target": "q9ZKV4lT7fmI",
      "sourceHandle": "wWOkA4wvREmy-source-sdfa",
      "targetHandle": "q9ZKV4lT7fmI-target-left"
    },
    {
      "source": "q9ZKV4lT7fmI",
      "target": "yL9uJxcMha5Y",
      "sourceHandle": "q9ZKV4lT7fmI-source-right",
      "targetHandle": "yL9uJxcMha5Y-target-left"
    },
    {
      "source": "wWOkA4wvREmy",
      "target": "q9ZKV4lT7fmI",
      "sourceHandle": "wWOkA4wvREmy-source-q4bGQPmurkUf",
      "targetHandle": "q9ZKV4lT7fmI-target-left"
    },
    {
      "source": "wWOkA4wvREmy",
      "target": "iKBoX2vIzETU",
      "sourceHandle": "wWOkA4wvREmy-source-wqre",
      "targetHandle": "iKBoX2vIzETU-target-left"
    },
    {
      "source": "wWOkA4wvREmy",
      "target": "q9ZKV4lT7fmI",
      "sourceHandle": "wWOkA4wvREmy-source-fToD4R0qKRU5",
      "targetHandle": "q9ZKV4lT7fmI-target-left"
    },
    {
      "source": "yL9uJxcMha5Y",
      "target": "wH3OzRATcMIM",
      "sourceHandle": "yL9uJxcMha5Y-source-right",
      "targetHandle": "wH3OzRATcMIM-target-left"
    }
  ]
}

colinyyj avatar May 17 '24 06:05 colinyyj

image

这里能看出来,问题分类以后两条线路都去执行

但是下面这个就是正常的情况 image

colinyyj avatar May 17 '24 06:05 colinyyj

首先 用了你的编排没法复现你的问题 其次你的AI输出哪里问题选错了

lijiajun1997 avatar May 17 '24 08:05 lijiajun1997

不是 debug 模式正常么

不是debugger 也会有问题

colinyyj avatar May 20 '24 03:05 colinyyj

可以看 4.8.1 的 pr。 有删除操作会导致问题。

c121914yu avatar May 20 '24 05:05 c121914yu

可以看 4.8.1 的 pr。 有删除操作会导致问题。

image 判断器明明fase 但是为什么分支true 后面的流程也执行了

image image

这个情况和问题分类一模一样

colinyyj avatar May 21 '24 07:05 colinyyj

可以看 4.8.1 的 pr。 有删除操作会导致问题。

一样的,不能有删除操作

c121914yu avatar May 21 '24 07:05 c121914yu

可以看 4.8.1 的 pr。 有删除操作会导致问题。

一样的,不能有删除操作

意思是删除对话记录这个操作?

colinyyj avatar May 22 '24 02:05 colinyyj

可以看 4.8.1 的 pr。 有删除操作会导致问题。

一样的,不能有删除操作

意思是删除对话记录这个操作?

删除分类或者条件

c121914yu avatar May 22 '24 02:05 c121914yu

可以看 4.8.1 的 pr。 有删除操作会导致问题。

一样的,不能有删除操作

意思是删除对话记录这个操作?

删除分类或者条件

😂 这是一个bug吗,我试试重新拖一个组件

colinyyj avatar May 22 '24 02:05 colinyyj

可以看 4.8.1 的 pr。 有删除操作会导致问题。

一样的,不能有删除操作

意思是删除对话记录这个操作?

删除分类或者条件

😂 这是一个bug吗,我试试重新拖一个组件

嗯。4.8的问题,4.8.1后就正常了

c121914yu avatar May 28 '24 15:05 c121914yu