mirror of
https://github.com/hwchase17/langchain.git
synced 2026-02-21 06:33:41 +00:00
perf(core): defer specific langsmith imports to reduce import time
This commit is contained in:
@@ -13,7 +13,6 @@ from contextlib import asynccontextmanager, contextmanager
|
||||
from contextvars import copy_context
|
||||
from typing import TYPE_CHECKING, Any, TypeVar, cast
|
||||
|
||||
from langsmith.run_helpers import get_tracing_context
|
||||
from typing_extensions import Self, override
|
||||
|
||||
from langchain_core.callbacks.base import (
|
||||
@@ -29,15 +28,6 @@ from langchain_core.callbacks.base import (
|
||||
from langchain_core.callbacks.stdout import StdOutCallbackHandler
|
||||
from langchain_core.globals import get_debug
|
||||
from langchain_core.messages import BaseMessage, get_buffer_string
|
||||
from langchain_core.tracers.context import (
|
||||
_configure_hooks,
|
||||
_get_trace_callbacks,
|
||||
_get_tracer_project,
|
||||
_tracing_v2_is_enabled,
|
||||
tracing_v2_callback_var,
|
||||
)
|
||||
from langchain_core.tracers.langchain import LangChainTracer
|
||||
from langchain_core.tracers.stdout import ConsoleCallbackHandler
|
||||
from langchain_core.utils.env import env_var_is_set
|
||||
from langchain_core.utils.uuid import uuid7
|
||||
|
||||
@@ -104,6 +94,8 @@ def trace_as_chain_group(
|
||||
manager.on_chain_end({"output": res})
|
||||
```
|
||||
"""
|
||||
from langchain_core.tracers.context import _get_trace_callbacks # noqa: PLC0415
|
||||
|
||||
cb = _get_trace_callbacks(
|
||||
project_name, example_id, callback_manager=callback_manager
|
||||
)
|
||||
@@ -183,6 +175,8 @@ async def atrace_as_chain_group(
|
||||
await manager.on_chain_end({"output": res})
|
||||
```
|
||||
"""
|
||||
from langchain_core.tracers.context import _get_trace_callbacks # noqa: PLC0415
|
||||
|
||||
cb = _get_trace_callbacks(
|
||||
project_name, example_id, callback_manager=callback_manager
|
||||
)
|
||||
@@ -2325,6 +2319,17 @@ def _configure(
|
||||
Returns:
|
||||
The configured callback manager.
|
||||
"""
|
||||
from langsmith.run_helpers import get_tracing_context # noqa: PLC0415
|
||||
|
||||
from langchain_core.tracers.context import ( # noqa: PLC0415
|
||||
_configure_hooks,
|
||||
_get_tracer_project,
|
||||
_tracing_v2_is_enabled,
|
||||
tracing_v2_callback_var,
|
||||
)
|
||||
from langchain_core.tracers.langchain import LangChainTracer # noqa: PLC0415
|
||||
from langchain_core.tracers.stdout import ConsoleCallbackHandler # noqa: PLC0415
|
||||
|
||||
tracing_context = get_tracing_context()
|
||||
tracing_metadata = tracing_context["metadata"]
|
||||
tracing_tags = tracing_context["tags"]
|
||||
|
||||
@@ -20,7 +20,6 @@ from typing import (
|
||||
cast,
|
||||
)
|
||||
|
||||
from langsmith.run_helpers import _set_tracing_context, get_tracing_context
|
||||
from typing_extensions import TypedDict
|
||||
|
||||
from langchain_core.callbacks.manager import AsyncCallbackManager, CallbackManager
|
||||
@@ -30,7 +29,6 @@ from langchain_core.runnables.utils import (
|
||||
accepts_config,
|
||||
accepts_run_manager,
|
||||
)
|
||||
from langchain_core.tracers.langchain import LangChainTracer
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from langchain_core.callbacks.base import BaseCallbackManager, Callbacks
|
||||
@@ -160,6 +158,13 @@ def _set_config_context(
|
||||
Returns:
|
||||
The token to reset the config and the previous tracing context.
|
||||
"""
|
||||
from langsmith.run_helpers import ( # noqa: PLC0415
|
||||
_set_tracing_context,
|
||||
get_tracing_context,
|
||||
)
|
||||
|
||||
from langchain_core.tracers.langchain import LangChainTracer # noqa: PLC0415
|
||||
|
||||
config_token = var_child_runnable_config.set(config)
|
||||
current_context = None
|
||||
if (
|
||||
@@ -194,6 +199,8 @@ def set_config_context(config: RunnableConfig) -> Generator[Context, None, None]
|
||||
Yields:
|
||||
The config context.
|
||||
"""
|
||||
from langsmith.run_helpers import _set_tracing_context # noqa: PLC0415
|
||||
|
||||
ctx = copy_context()
|
||||
config_token, _ = ctx.run(_set_config_context, config)
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user