Spaces:
Runtime error
Runtime error
from langchain_core.tools import tool | |
from langchain_experimental.utilities import PythonREPL | |
from helpers.helper import clean_input | |
import logging | |
# Configure logging | |
logging.basicConfig( | |
level=logging.INFO, | |
format='%(asctime)s - %(levelname)s - %(message)s', | |
datefmt='%Y-%m-%d %H:%M:%S' | |
) | |
def run_python_code(code: str) -> str: | |
"""Runs Python code and returns the output. | |
Args: | |
code: The Python code to execute | |
Returns: | |
A string containing the output of the executed code | |
""" | |
try: | |
logging.info(f"\n run python code with code: {code}") | |
# Clean the code by removing special tokens and unwanted text | |
cleaned_code = clean_input(code) | |
logging.info(f"cleaned code: {cleaned_code}") | |
python_repl = PythonREPL() | |
result = python_repl.run(cleaned_code) | |
if result is None: | |
return "Code executed successfully but returned no output." | |
return str(result) | |
except SyntaxError as e: | |
return f"Error: Invalid Python syntax - {str(e)}" | |
except NameError as e: | |
return f"Error: Undefined variable or function - {str(e)}" | |
except Exception as e: | |
return f"Error: Failed to execute Python code - {str(e)}" | |