自检
- 这仅用于提交 bug 报告,如果您想提问,请访问 Discussions 。
- 我已在 search for existing issues 中搜索了现有问题,包括已关闭的问题。
- 我确认我使用英文提交此报告(我已阅读并同意 Language Policy )。
- 请务必使用英文提交 Issue,否则会被关闭。谢谢!:)
- 请不要修改此模板 :) 并填写所有必填字段。
Dify 版本
0.6.11
云或自托管
自托管 (Docker)
重现步骤
我创建了一个工作流,并制作了几个输入参数,其中一些是文本区域:
当我发现文本区域参数包含换行符时,代码执行节点出错:
在我删除 systemMessage 参数后,一切都正常了。
✔️ 预期行为
代码执行节点成功运行。
❌ 实际行为
代码执行节点发生错误:无效的值选择器
3条答案
按热度按时间k75qkfdt1#
你好@all4you!我在这里协助你解决任何bug、问题或贡献。让我们一起解决你正在经历的问题。
在
convert_body
节点中出现的 "Invalid value selector" 错误可能是由于输入参数的预期结构与实际结构不匹配所致。具体来说,如果query_variable_selector
与预期格式不匹配,或者选择器中引用的变量在提供的输入参数中找不到,就会出现这个错误。以下是一些可能的原因和解决方案:
确保你的节点配置中的
variable_selector
正确匹配输入参数。例如,如果你的systemMessage
参数预计将在convert_body
节点中使用,请确保它被正确引用。convert_body
节点应正确处理多行文本输入。确保输入参数正确格式化,并对特殊字符(如换行符)进行正确编码。convert_body
节点使用各种方法来验证和解析输入参数。确保输入参数符合预期的类型和结构。例如,_check_string
方法确保值是字符串,并替换任何空字符(\x00
)。以下是测试用例中与
variable_selector
相关的相关代码片段,演示了如何使用variable_selector
:在这个测试中,如果
variable_selector
['start', 'array_contains']
不匹配输入参数中的任何变量,可能会导致 "Invalid value selector" 错误 1(https://github.com/langgenius/dify/blob/main/api/tests/unit_tests/services/workflow/test_workflow_converter.py)。此外,
WorkflowConverter
类中的_convert_to_knowledge_retrieval_node
方法根据应用程序模式设置query_variable_selector
并检索配置。如果未提供或提供的retrieve_config.query_variable
与预期格式不匹配,也可能导致 "Invalid value selector" 错误 2(https://github.com/langgenius/dify/blob/main/api/services/workflow/workflow_converter.py)。请确保你的输入参数及其选择器正确配置,以避免此错误。
5n0oy7gb2#
我发现了一个非常奇怪的问题,当我给textarea输入参数起名为以'sysXX'开头的名称时,例如:systemMessage、sysMessage,会导致bug。当我将其更改为prompt时,一切正常。
当我将其更改为systemPrompt时:
'start'节点丢失了,然后bug就发生了
t0ybt7op3#
测试v0.6.12-fix1
message
在代码执行节点和结束节点工作正常sys_messgae
在代码执行节点工作失败sysmessge
在代码执行节点工作失败systemMessage
在代码执行节点工作失败message
在代码执行工作正常,systemMessage
在结束节点工作失败