|  | @@ -1,3 +1,4 @@
 | 
	
		
			
				|  |  | +from abc import ABC, abstractmethod
 | 
	
		
			
				|  |  |  from typing import Optional
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  from core.model_runtime.entities.llm_entities import LLMResult, LLMResultChunk
 | 
	
	
		
			
				|  | @@ -13,7 +14,7 @@ _TEXT_COLOR_MAPPING = {
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -class Callback:
 | 
	
		
			
				|  |  | +class Callback(ABC):
 | 
	
		
			
				|  |  |      """
 | 
	
		
			
				|  |  |      Base class for callbacks.
 | 
	
		
			
				|  |  |      Only for LLM.
 | 
	
	
		
			
				|  | @@ -21,6 +22,7 @@ class Callback:
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      raise_error: bool = False
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    @abstractmethod
 | 
	
		
			
				|  |  |      def on_before_invoke(
 | 
	
		
			
				|  |  |          self,
 | 
	
		
			
				|  |  |          llm_instance: AIModel,
 | 
	
	
		
			
				|  | @@ -48,6 +50,7 @@ class Callback:
 | 
	
		
			
				|  |  |          """
 | 
	
		
			
				|  |  |          raise NotImplementedError()
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    @abstractmethod
 | 
	
		
			
				|  |  |      def on_new_chunk(
 | 
	
		
			
				|  |  |          self,
 | 
	
		
			
				|  |  |          llm_instance: AIModel,
 | 
	
	
		
			
				|  | @@ -77,6 +80,7 @@ class Callback:
 | 
	
		
			
				|  |  |          """
 | 
	
		
			
				|  |  |          raise NotImplementedError()
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    @abstractmethod
 | 
	
		
			
				|  |  |      def on_after_invoke(
 | 
	
		
			
				|  |  |          self,
 | 
	
		
			
				|  |  |          llm_instance: AIModel,
 | 
	
	
		
			
				|  | @@ -106,6 +110,7 @@ class Callback:
 | 
	
		
			
				|  |  |          """
 | 
	
		
			
				|  |  |          raise NotImplementedError()
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    @abstractmethod
 | 
	
		
			
				|  |  |      def on_invoke_error(
 | 
	
		
			
				|  |  |          self,
 | 
	
		
			
				|  |  |          llm_instance: AIModel,
 |