Spaces:
Running
on
A10G
Running
on
A10G
import os | |
import sys | |
import re | |
prj_root_path = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) | |
sys.path.append(prj_root_path) | |
from utils.const import * | |
class BaseCodeInterpreter: | |
def __init__(self): | |
self.dialog = [ | |
{ | |
"role": "system", | |
"content": CODE_INTERPRETER_SYSTEM_PROMPT, | |
}, | |
] | |
def extract_code_blocks(text: str): | |
pattern = r"```(?:python\n)?(.*?)```" # Match optional 'python\n' but don't capture it | |
code_blocks = re.findall(pattern, text, re.DOTALL) | |
return [block.strip() for block in code_blocks] | |
def execute_code_and_return_output(self, code_str: str, nb): | |
_, _ = nb.add_and_run(GUARD_CODE) | |
outputs, error_flag = nb.add_and_run(code_str) | |
return outputs, error_flag | |