fix(code_executor): surrogates not allowed error in jinja2 template (#3191)

This commit is contained in:
Eric Wang 2024-04-09 12:21:03 +08:00 committed by GitHub
parent 337899a03d
commit 3c3fb3cd3f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 7 additions and 7 deletions

View File

@ -29,16 +29,16 @@ class NodeJsTemplateTransformer(TemplateTransformer):
:param inputs: inputs :param inputs: inputs
:return: :return:
""" """
# transform inputs to json string # transform inputs to json string
inputs_str = json.dumps(inputs, indent=4) inputs_str = json.dumps(inputs, indent=4, ensure_ascii=False)
# replace code and inputs # replace code and inputs
runner = NODEJS_RUNNER.replace('{{code}}', code) runner = NODEJS_RUNNER.replace('{{code}}', code)
runner = runner.replace('{{inputs}}', inputs_str) runner = runner.replace('{{inputs}}', inputs_str)
return runner, NODEJS_PRELOAD return runner, NODEJS_PRELOAD
@classmethod @classmethod
def transform_response(cls, response: str) -> dict: def transform_response(cls, response: str) -> dict:
""" """

View File

@ -62,10 +62,10 @@ class Jinja2TemplateTransformer(TemplateTransformer):
# transform jinja2 template to python code # transform jinja2 template to python code
runner = PYTHON_RUNNER.replace('{{code}}', code) runner = PYTHON_RUNNER.replace('{{code}}', code)
runner = runner.replace('{{inputs}}', json.dumps(inputs, indent=4)) runner = runner.replace('{{inputs}}', json.dumps(inputs, indent=4, ensure_ascii=False))
return runner, JINJA2_PRELOAD return runner, JINJA2_PRELOAD
@classmethod @classmethod
def transform_response(cls, response: str) -> dict: def transform_response(cls, response: str) -> dict:
""" """
@ -81,4 +81,4 @@ class Jinja2TemplateTransformer(TemplateTransformer):
return { return {
'result': result 'result': result
} }

View File

@ -34,7 +34,7 @@ class PythonTemplateTransformer(TemplateTransformer):
""" """
# transform inputs to json string # transform inputs to json string
inputs_str = json.dumps(inputs, indent=4) inputs_str = json.dumps(inputs, indent=4, ensure_ascii=False)
# replace code and inputs # replace code and inputs
runner = PYTHON_RUNNER.replace('{{code}}', code) runner = PYTHON_RUNNER.replace('{{code}}', code)