Browse Source

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

Eric Wang 1 năm trước cách đây
mục cha
commit
3c3fb3cd3f

+ 3 - 3
api/core/helper/code_executor/javascript_transformer.py

@@ -29,16 +29,16 @@ class NodeJsTemplateTransformer(TemplateTransformer):
         :param inputs: inputs
         :return:
         """
-        
+
         # 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
         runner = NODEJS_RUNNER.replace('{{code}}', code)
         runner = runner.replace('{{inputs}}', inputs_str)
 
         return runner, NODEJS_PRELOAD
-    
+
     @classmethod
     def transform_response(cls, response: str) -> dict:
         """

+ 3 - 3
api/core/helper/code_executor/jina2_transformer.py

@@ -62,10 +62,10 @@ class Jinja2TemplateTransformer(TemplateTransformer):
 
         # transform jinja2 template to python 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
-    
+
     @classmethod
     def transform_response(cls, response: str) -> dict:
         """
@@ -81,4 +81,4 @@ class Jinja2TemplateTransformer(TemplateTransformer):
 
         return {
             'result': result
-        }
+        }

+ 1 - 1
api/core/helper/code_executor/python_transformer.py

@@ -34,7 +34,7 @@ class PythonTemplateTransformer(TemplateTransformer):
         """
         
         # 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
         runner = PYTHON_RUNNER.replace('{{code}}', code)