自检
- 仅用于提交错误报告,如果您想提问,请访问 Discussions 。
- 我已在现有问题中进行了搜索,包括已关闭的问题。
- 我确认我使用英语提交此报告(我已阅读并同意 Language Policy )。
- 请不要修改此模板 :) 并填写所有必需的字段。
Dify版本
0.6.10
云或自托管
自托管(Docker),自托管(源代码)
重现步骤
将依赖项添加到docker/volumes/sandbox/dependencies/python-requirements.txt
"requests
jinja2
httpx"
当API测试3.10和3.11在GitHub action中运行时,它在代码执行过程中出现错误:
=========================== 简短的测试摘要信息 =============================
失败了 api/tests/integration_tests/workflow/nodes/code_executor/test_code_javascript.py::test_javascript_plain - core.helper.code_executor.code_executor.CodeExecutionException:无法执行代码,可能是网络问题,请检查沙箱服务是否正在运行。 (错误:无法执行代码,获得状态码502,请检查沙箱服务是否正在运行)
✔️ 预期行为
沙箱在本地和AWS ECS上与这些依赖项一起工作,我们在python-requirements.txt中依赖它们,因为我们的沙箱是自己部署的,而不是用docker部署的。
❌ 实际行为
在API检查中出现代码执行错误
5条答案
按热度按时间hjqgdpho1#
要解决在GitHub Actions中添加Python依赖项到沙箱时出现的代码执行错误,鉴于错误信息显示可能存在与沙箱服务相关的网络问题,你应该确保沙箱服务正在运行且可访问。以下是排查和解决问题的步骤:
CODE_EXECUTION_ENDPOINT
的服务正在运行。根据docker-compose.yaml
文件,沙箱服务应该被配置为如下所示:ssrf_proxy
服务用于管理网络访问:CODE_EXECUTION_API_KEY
正确设置并具有必要的权限。API密钥应与沙箱服务中配置的密钥相匹配:LOG_LEVEL
设置为DEBUG
以启用对沙箱服务的更详细的日志记录。这有助于诊断网络问题或服务不可用:如果服务正在运行且网络连接得到确认,但问题仍然存在,你可能需要进一步调查沙箱服务的日志以查找任何特定的错误 1(https://github.com/langgenius/dify/blob/main/api/core/helper/code_executor/code_executor.py)2(https://github.com/langgenius/dify/blob/main/docker/docker-compose.yaml)。
nfeuvbwi2#
请查看以下内容。
wecizke33#
这可能需要@Yeuoly的审查和进一步的解决方案,因为dify-sandox尚未成为开源项目的一部分。
yks3o0rb4#
我们应该检查这些操作的日志。我想,沙箱服务似乎没有成功启动。日志可能会有所帮助
i1icjdpr5#
当从docker/volumes/sandbox/dependencies/python-requirements.txt中移除依赖项后,GitHub操作顺利进行。