自检
- 这仅用于提交错误报告,如果您想提问,请访问 Discussions 。
- 我已在 search for existing issues 中搜索了现有问题,包括已关闭的问题。
- 我确认我使用英语提交此报告(我已阅读并同意 Language Policy )。
- 请不要修改此模板 :) 并填写所有必填字段。
Dify版本
0.6.10
云或自托管
自托管(源代码)
重现步骤
创建一个带有代码块(Python)的工作流,并将输入变量字符串设置为大文本
✔️ 预期行为
在沙箱中正确执行代码并解析响应
❌ 实际行为
关闭沙箱中的部分响应,这就是为什么 transform_response 函数中的正则表达式不起作用(响应中与关闭 RESULT 标签的部分被截断),并且出现错误“CodeBlock_name run failed: Failed to parse result”。
沙箱中存在问题。
7条答案
按热度按时间5us2dqdw1#
你好,@dailydaniel!我在这里帮助你解决仓库中的任何错误、问题或贡献。在你等待人工维护者时,我会协助你。
你在使用大型文本字符串作为输入变量时遇到的沙盒截断响应的问题可能是由于
CODE_MAX_STRING_LENGTH
配置引起的。根据提供的docker-compose.yaml
文件,CODE_MAX_STRING_LENGTH
被设置为80000。要解决这个问题,你可以将
CODE_MAX_STRING_LENGTH
增加到一个更高的值,以适应你的输入大小。以下是如何修改docker-compose.yaml
文件的方法:在进行此更改后,重新启动服务以应用新的配置。这应该可以防止沙盒截断响应,并允许
transform_response
函数正确解析结果。此外,确保在你的
code_executor.py
文件中适当设置CODE_EXECUTION_TIMEOUT
以处理可能需要的较长执行时间:此外,
code_node.py
文件包含MAX_STRING_LENGTH
常量,用于验证字符串的长度。请确保此常量设置正确:通过在环境中配置
CODE_MAX_STRING_LENGTH
,你应该能够在不截断的情况下处理较大的输入字符串,从而避免与transform_response
函数 1(https://github.com/langgenius/dify/blob/main/docker/docker-compose.yaml)2(https://github.com/langgenius/dify/blob/main/api/core/helper/code_executor/code_executor.py)3(https://github.com/langgenius/dify/blob/main/api/core/workflow/nodes/code/code_node.py) 相关的问题。7cjasjjr2#
在沙箱部分的docker-compose.yaml中没有CODE_MAX_STRING_LENGTH。我在各个地方(环境和其他文件)都增加了这个变量,结果没有改变。
cnh2zyt33#
要解决沙盒截断响应部分的问题,即使在所有相关地方增加了
CODE_MAX_STRING_LENGTH
后,你也应该考虑以下几点:WORKER_TIMEOUT
设置在docker-compose.yaml
文件中,以便为处理大型字符串留出足够的时间。CODE_MAX_STRING_LENGTH
和TEMPLATE_TRANSFORM_MAX_LENGTH
应适当设置。GIN_MODE
更改为'debug'
。client_max_body_size
应设置为可以容纳您的大型文本字符串的值。code_executor.py
和code_node.py
文件是否正确处理CODE_MAX_STRING_LENGTH
设置。确保code_node.py
中的_check_string
方法已正确配置。通过确保这些配置和设置正确应用,你应该能够处理较大的输入字符串而不会被截断,从而避免了与
transform_response
函数 1(https://github.com/langgenius/dify/blob/main/docker/docker-compose.yaml)2(https://github.com/langgenius/dify/blob/main/api/core/workflow/nodes/code/code_node.py) 相关的问题。cu6pst1q4#
我对于长数据也有同样的问题。
slsn1g295#
same +1
nlejzf6q6#
尝试设置这个环境变量:
dify/api/configs/app_config.py
第60行 c436454
| | HTTP_REQUEST_NODE_MAX_TEXT_SIZE: int=1024*1024 |
xxe27gdn7#
它不能正常工作。