diff --git a/api/core/llm_generator/llm_generator.py b/api/core/llm_generator/llm_generator.py index 1c3909047..de871d351 100644 --- a/api/core/llm_generator/llm_generator.py +++ b/api/core/llm_generator/llm_generator.py @@ -572,5 +572,7 @@ class LLMGenerator: error = str(e) return {"error": f"Failed to generate code. Error: {error}"} except Exception as e: - logger.exception("Failed to invoke LLM model, model: " + json.dumps(model_config.get("name")), exc_info=e) + logger.exception( + "Failed to invoke LLM model, model: %s", json.dumps(model_config.get("name")), exc_info=True + ) return {"error": f"An unexpected error occurred: {str(e)}"} diff --git a/api/core/workflow/nodes/loop/loop_node.py b/api/core/workflow/nodes/loop/loop_node.py index 3e52a3218..5561150dc 100644 --- a/api/core/workflow/nodes/loop/loop_node.py +++ b/api/core/workflow/nodes/loop/loop_node.py @@ -524,7 +524,9 @@ class LoopNode(BaseNode): @staticmethod def _get_segment_for_constant(var_type: SegmentType, original_value: Any) -> Segment: """Get the appropriate segment type for a constant value.""" - if var_type in [ + if not var_type.is_array_type() or var_type == SegmentType.BOOLEAN: + value = original_value + elif var_type in [ SegmentType.ARRAY_NUMBER, SegmentType.ARRAY_OBJECT, SegmentType.ARRAY_STRING, @@ -534,8 +536,6 @@ class LoopNode(BaseNode): else: logger.warning("unexpected value for LoopNode, value_type=%s, value=%s", original_value, var_type) value = [] - elif var_type == SegmentType.ARRAY_BOOLEAN: - value = original_value else: raise AssertionError("this statement should be unreachable.") try: