| 
					
				 | 
			
			
				@@ -4,6 +4,7 @@ from collections.abc import Mapping, Sequence 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from typing import TYPE_CHECKING, Any, Optional, cast 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from core.app.entities.app_invoke_entities import ModelConfigWithCredentialsEntity 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+from core.llm_generator.output_parser.errors import OutputParserError 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from core.memory.token_buffer_memory import TokenBufferMemory 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from core.model_manager import ModelInstance 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from core.model_runtime.entities import LLMUsage, ModelPropertyKey, PromptMessageRole 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -24,6 +25,7 @@ from libs.json_in_md_parser import parse_and_check_json_markdown 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from models.workflow import WorkflowNodeExecutionStatus 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from .entities import QuestionClassifierNodeData 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+from .exc import InvalidModelTypeError 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from .template_prompts import ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     QUESTION_CLASSIFIER_ASSISTANT_PROMPT_1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     QUESTION_CLASSIFIER_ASSISTANT_PROMPT_2, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -124,7 +126,7 @@ class QuestionClassifierNode(LLMNode): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     category_name = classes_map[category_id_result] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     category_id = category_id_result 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        except Exception: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        except OutputParserError: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             logging.error(f"Failed to parse result text: {result_text}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             process_data = { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -309,4 +311,4 @@ class QuestionClassifierNode(LLMNode): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         else: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            raise ValueError(f"Model mode {model_mode} not support.") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            raise InvalidModelTypeError(f"Model mode {model_mode} not support.") 
			 |