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:
pass
class CallbackPlugin(BasePlugin):
def get_callback(self, _id=None):
pass
pass

View file

@ -1,7 +1,7 @@
from typing import Optional
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
@ -51,7 +51,7 @@ class LangfuseInstance:
cls._instance = None
class LangfusePlugin(BasePlugin):
class LangfusePlugin(CallbackPlugin):
def initialize(self):
LangfuseInstance.create()

View file

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