|
@@ -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,
|