Add CallbackPlugin to BasePlugin hierarchy

This commit is contained in:
Gabriel Luiz Freitas Almeida 2023-12-06 11:22:12 -03:00
commit d10261b665
3 changed files with 8 additions and 5 deletions

View file

@ -11,5 +11,8 @@ class BasePlugin:
def get(self) -> Any: def get(self) -> Any:
pass pass
class CallbackPlugin(BasePlugin):
def get_callback(self, _id=None): def get_callback(self, _id=None):
pass pass

View file

@ -1,7 +1,7 @@
from typing import Optional from typing import Optional
from langflow.services.deps import get_settings_service from langflow.services.deps import get_settings_service
from langflow.services.plugins.base import BasePlugin from langflow.services.plugins.base import CallbackPlugin
from loguru import logger from loguru import logger
@ -51,7 +51,7 @@ class LangfuseInstance:
cls._instance = None cls._instance = None
class LangfusePlugin(BasePlugin): class LangfusePlugin(CallbackPlugin):
def initialize(self): def initialize(self):
LangfuseInstance.create() LangfuseInstance.create()

View file

@ -4,7 +4,7 @@ import os
from typing import TYPE_CHECKING, Union from typing import TYPE_CHECKING, Union
from langflow.services.base import Service from langflow.services.base import Service
from langflow.services.plugins.base import BasePlugin from langflow.services.plugins.base import BasePlugin, CallbackPlugin
if TYPE_CHECKING: if TYPE_CHECKING:
from langflow.services.settings.service import SettingsService from langflow.services.settings.service import SettingsService
@ -49,7 +49,7 @@ class PluginService(Service):
def get_callbacks(self, _id=None): def get_callbacks(self, _id=None):
callbacks = [] callbacks = []
for plugin in self.plugins.values(): for plugin in self.plugins.values():
if hasattr(plugin, "get_callback"): if isinstance(plugin, CallbackPlugin):
callback = plugin.get_callback(_id=_id) callback = plugin.get_callback(_id=_id)
if callback: if callback:
callbacks.append(callback) callbacks.append(callback)