Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
3 tasks
colinyyj opened this issue May 11, 2024 · 15 comments
Open
3 tasks

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

colinyyj opened this issue May 11, 2024 · 15 comments
Assignees
Labels
bug Something isn't working

Comments

@colinyyj
Copy link

colinyyj commented May 11, 2024

例行检查

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

你的版本

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

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

工作流
image

这条线是否不应该执行
image

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

预期结果

相关截图

@colinyyj colinyyj added the bug Something isn't working label May 11, 2024
@nightzjp
Copy link

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

@colinyyj
Copy link
Author

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

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

@nightzjp
Copy link

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

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

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

@lijiajun1997
Copy link

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

@c121914yu c121914yu self-assigned this May 12, 2024
@c121914yu
Copy link
Collaborator

不是 debug 模式正常么

@colinyyj
Copy link
Author

不是 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
Copy link
Author

colinyyj commented May 17, 2024

image

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

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

@lijiajun1997
Copy link

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

@colinyyj
Copy link
Author

不是 debug 模式正常么

不是debugger 也会有问题

@c121914yu
Copy link
Collaborator

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

@colinyyj
Copy link
Author

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

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

image
image

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

@c121914yu
Copy link
Collaborator

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

一样的,不能有删除操作

@colinyyj
Copy link
Author

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

一样的,不能有删除操作

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

@c121914yu
Copy link
Collaborator

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

一样的,不能有删除操作

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

删除分类或者条件

@colinyyj
Copy link
Author

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

一样的,不能有删除操作

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

删除分类或者条件

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants