dify 工作流,聊天历史中的上下文已在第二轮对话中被替换,

9nvpjoqh  于 2个月前  发布在  其他
关注(0)|答案(1)|浏览(126)

自检

  • 此仅用于提交错误报告,如果您想提问,请前往 Discussions
  • 我已在 search for existing issues 中搜索了现有问题,包括已关闭的问题。
  • 我确认我使用英文提交此报告(我已阅读并同意 Language Policy )。
  • 请务必使用英文提交问题,否则会被关闭。谢谢!:)
  • 请不要修改此模板 :) 并填写所有必填字段。

Dify版本

0.6.11

云或自托管

自托管(Docker)

重现步骤

工作流程,聊天历史中的上下文已被替换。
当我有一个上下文查询(例如Bing搜索)时,在第一轮对话中,上下文是正确的。然而,如果在第二轮中,新的Bing结果被视为第一轮的上下文,导致第一轮对话的上下文记录消失。

日志:
llm-log-second-round.json

✔️ 预期行为

保留第一轮上下文在LLM历史中。

❌ 实际行为

在第二轮中,“上下文”的历史被第二轮的内容替换。

5n0oy7gb

5n0oy7gb1#

在Dify版本0.6.11的第二轮对话中,当使用Docker自托管时,聊天历史上下文将在Dify的Maven模式下根据内置规则组装和连接历史对话记录,并替换conversation history变量。这种行为是DifyMaven模式中的编排过程的一部分,其中对话历史会动态更新以反映正在进行的对话1(https://github.com/langgenius/dify-docs/blob/main/en/learn-more/prompt-engineering/prompt-engineering-1/README.md)。
要解决这个问题,您可能需要调整Maven模式中的配置选项,以便更好地管理提示内的上下文和聊天历史的位置,并设置必要的参数。此外,您可以通过点击...来修改人类和助手前缀。
要进行更详细的调试,您可以使用Dify的日志功能来跟踪聊天工作流中对话历史的处理情况。这包括查看完整的提示、相关的文本片段和历史对话记录2(https://github.com/langgenius/dify-docs/blob/main/en/guides/biao-zhu/logs.md)。

  • 要继续与Dosu交谈,请提及@dosu。*

相关问题