refactor: update Callback to an abstract class (#8868)

This commit is contained in:
zhuhao 2024-09-28 21:41:02 +08:00 committed by GitHub
parent 850492dafa
commit f97607370a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

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