Skip to content

Commit

Permalink
feat: introduce helper functions for dynamic tracer import (#2778)
Browse files Browse the repository at this point in the history
* fix: remove unused import in langwatch.py

* feat(tracing/service.py): introduce helper functions _get_langsmith_tracer and _get_langwatch_tracer to dynamically import tracers
  • Loading branch information
ogabrielluiz authored Jul 17, 2024
1 parent d2a8f33 commit 6d291c8
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 5 deletions.
1 change: 0 additions & 1 deletion src/backend/base/langflow/services/tracing/langwatch.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
from uuid import UUID

import nanoid # type: ignore
from langwatch.tracer import ContextSpan
from loguru import logger

from langflow.schema.data import Data
Expand Down
20 changes: 16 additions & 4 deletions src/backend/base/langflow/services/tracing/service.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,6 @@

from langflow.services.base import Service
from langflow.services.tracing.base import BaseTracer
from langflow.services.tracing.langsmith import LangSmithTracer
from langflow.services.tracing.langwatch import LangWatchTracer
from langflow.services.tracing.schema import Log

if TYPE_CHECKING:
Expand All @@ -20,6 +18,18 @@
from langflow.services.settings.service import SettingsService


def _get_langsmith_tracer():
from langflow.services.tracing.langsmith import LangSmithTracer

return LangSmithTracer


def _get_langwatch_tracer():
from langflow.services.tracing.langwatch import LangWatchTracer

return LangWatchTracer


class TracingService(Service):
name = "tracing_service"

Expand Down Expand Up @@ -95,7 +105,8 @@ async def initialize_tracers(self):
def _initialize_langsmith_tracer(self):
project_name = os.getenv("LANGCHAIN_PROJECT", "Langflow")
self.project_name = project_name
self._tracers["langsmith"] = LangSmithTracer(
langsmith_tracer = _get_langsmith_tracer()
self._tracers["langsmith"] = langsmith_tracer(
trace_name=self.run_name,
trace_type="chain",
project_name=self.project_name,
Expand All @@ -108,7 +119,8 @@ def _initialize_langwatch_tracer(self):
and "langwatch" not in self._tracers
or self._tracers["langwatch"].trace_id != self.run_id # type: ignore
):
self._tracers["langwatch"] = LangWatchTracer(
langwatch_tracer = _get_langwatch_tracer()
self._tracers["langwatch"] = langwatch_tracer(
trace_name=self.run_name,
trace_type="chain",
project_name=self.project_name,
Expand Down

0 comments on commit 6d291c8

Please sign in to comment.