dify 工作流LLM节点停止序列到' '将被转义为'\ ',

bkhjykvo  于 4个月前  发布在  其他
关注(0)|答案(6)|浏览(56)

自检

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

Dify版本

0.6.6

云或自托管

自托管(Docker)

重现步骤

在工作流设置中,将停止序列设置为“
”,LLM节点将被转义,LLM API将其接收为“
”。

OpenAI-API兼容的模型提供者:

✔️预期行为

前端配置的停止序列与最终调用的停止配置相同。

❌实际行为

配置被转义。

rxztt3cl

rxztt3cl1#

要解决在Dify 0.6.6工作流中停止序列\n被转义为\\n的问题,请确保在模型配置参数中正确指定停止序列。停止序列应作为字符串列表包含在模型配置的completion_params中,如下所示:

model_config = {
    "name": "TheBloke/codecept-coder-6.7B-instruct-AI21",
    "completion_params": {
        "stop": ["\n"],  // Directly specifying the newline character
        # other parameters...
    }
    # other configuration...
}

确保从配置到调用的stop参数没有被修改或错误地转义。如果问题仍然存在,请检查任何可能发生的转换或重新转义的代码路径,尤其是在操作字符串参数的实用程序函数或方法中。
Dify代码库在OpenAILargeLanguageModel类中的_transform_chat_json_prompts_transform_completion_json_prompts方法中处理LLM节点的停止序列配置中的字符转义。这些方法将特定的转义序列附加到JSON或XML响应格式的停止序列中,确保正确解释和处理。
如果您仍然遇到问题,提供有关您的设置、配置以及此问题发生在工作流的特定部分的更多详细信息,可以帮助确定更精确的解决方案。

详细信息

来源

此响应旨在帮助您节省时间并提高效率。它不是精确的解决方案,而是您自己研究的一个起点。
帮助我变得更有用!如果这有帮助,请留下一个👍,如果无关紧要,请留下一个👎。

  • 要继续对话,请提及@dosu。*
ckx4rj1h

ckx4rj1h2#

有人在解决这个问题吗?我遇到了同样的问题。

sycxhyv7

sycxhyv73#

你能尝试一下最新版本吗?

ryevplcw

ryevplcw4#

在0.6.12-fix1版本中,这个问题仍然存在。稍后我会尝试使用最新版本。

x6yk4ghg

x6yk4ghg5#

你能尝试一下最新版本吗?
0.6.13版本也有同样的问题。

vawmfj5a

vawmfj5a6#

可能这也与#6208有关。

相关问题