modelscope / agentscope

Start building LLM-empowered multi-agent applications in an easier way.
https://doc.agentscope.io/
Apache License 2.0
5.34k stars 328 forks source link

Execute python code fix #442

Open zyzhang1130 opened 2 months ago

zyzhang1130 commented 2 months ago

name: Pull Request about: Create a pull request

Description

The current execute_python_code tool function uses exec() within a function, and any variables (including function definitions) created by the executed code are not automatically accessible within the scope of that code due to how local and global namespaces are managed. As a result, any function defined in the code cannot be executed properly.

Fix: explicitly manage the namespaces by providing a dictionary for the globals and locals parameters in the exec() function. Using the same dictionary for both globals and locals ensures variables and functions defined in code block are accessible within that code block.

Checklist

Please check the following items before code is ready to be reviewed.