自检
- 此仅用于提交错误报告,如果您想提问,请前往 Discussions 。
- 我已在 search for existing issues 中搜索了现有问题,包括已关闭的问题。
- 我确认我使用英文提交此报告(我已阅读并同意 Language Policy )。
- 请务必使用英文提交问题,否则会被关闭。谢谢!:)
- 请不要修改此模板 :) 并填写所有必填字段。
Dify版本
0.6.11
云或自托管
自托管(Docker)
重现步骤
工作流程,聊天历史中的上下文已被替换。
当我有一个上下文查询(例如Bing搜索)时,在第一轮对话中,上下文是正确的。然而,如果在第二轮中,新的Bing结果被视为第一轮的上下文,导致第一轮对话的上下文记录消失。
✔️ 预期行为
保留第一轮上下文在LLM历史中。
❌ 实际行为
在第二轮中,“上下文”的历史被第二轮的内容替换。
1条答案
按热度按时间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)。