Tai Truong
fix readme
d202ada
from __future__ import annotations
from abc import ABC, abstractmethod
from typing import TYPE_CHECKING, Any
if TYPE_CHECKING:
from collections.abc import Sequence
from uuid import UUID
from langchain.callbacks.base import BaseCallbackHandler
from langflow.graph.vertex.base import Vertex
from langflow.services.tracing.schema import Log
class BaseTracer(ABC):
trace_id: UUID
@abstractmethod
def __init__(self, trace_name: str, trace_type: str, project_name: str, trace_id: UUID):
raise NotImplementedError
@property
@abstractmethod
def ready(self) -> bool:
raise NotImplementedError
@abstractmethod
def add_trace(
self,
trace_id: str,
trace_name: str,
trace_type: str,
inputs: dict[str, Any],
metadata: dict[str, Any] | None = None,
vertex: Vertex | None = None,
) -> None:
raise NotImplementedError
@abstractmethod
def end_trace(
self,
trace_id: str,
trace_name: str,
outputs: dict[str, Any] | None = None,
error: Exception | None = None,
logs: Sequence[Log | dict] = (),
) -> None:
raise NotImplementedError
@abstractmethod
def end(
self,
inputs: dict[str, Any],
outputs: dict[str, Any],
error: Exception | None = None,
metadata: dict[str, Any] | None = None,
) -> None:
raise NotImplementedError
@abstractmethod
def get_langchain_callback(self) -> BaseCallbackHandler | None:
raise NotImplementedError