6188617037
Environment Corruption Check / test-python-versions (3.12.8) (push) Failing after 2s
Environment Corruption Check / test-python-versions (3.11.11) (push) Failing after 1s
Pre-commit checks / pre-commit-check (push) Failing after 1s
Environment Corruption Check / test-python-versions (3.13.2) (push) Failing after 4s
37 lines
1.8 KiB
Python
37 lines
1.8 KiB
Python
from app.config import config
|
|
from app.tool.python_execute import PythonExecute
|
|
|
|
|
|
class NormalPythonExecute(PythonExecute):
|
|
"""A tool for executing Python code with timeout and safety restrictions."""
|
|
|
|
name: str = "python_execute"
|
|
description: str = """Execute Python code for in-depth data analysis / data report(task conclusion) / other normal task without direct visualization."""
|
|
parameters: dict = {
|
|
"type": "object",
|
|
"properties": {
|
|
"code_type": {
|
|
"description": "code type, data process / data report / others",
|
|
"type": "string",
|
|
"default": "process",
|
|
"enum": ["process", "report", "others"],
|
|
},
|
|
"code": {
|
|
"type": "string",
|
|
"description": """Python code to execute.
|
|
# Note
|
|
1. The code should generate a comprehensive text-based report containing dataset overview, column details, basic statistics, derived metrics, timeseries comparisons, outliers, and key insights.
|
|
2. Use print() for all outputs so the analysis (including sections like 'Dataset Overview' or 'Preprocessing Results') is clearly visible and save it also
|
|
3. Save any report / processed files / each analysis result in worksapce directory: {directory}
|
|
4. Data reports need to be content-rich, including your overall analysis process and corresponding data visualization.
|
|
5. You can invode this tool step-by-step to do data analysis from summary to in-depth with data report saved also""".format(
|
|
directory=config.workspace_root
|
|
),
|
|
},
|
|
},
|
|
"required": ["code"],
|
|
}
|
|
|
|
async def execute(self, code: str, code_type: str | None = None, timeout=5):
|
|
return await super().execute(code, timeout)
|