Spaces:
Running
on
A10G
Running
on
A10G
File size: 843 Bytes
7803dd9 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
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,
},
]
@staticmethod
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
|