initial commit

This commit is contained in:
2026-05-11 12:36:20 +05:30
commit 384cbe8019
15377 changed files with 2360544 additions and 0 deletions

View File

@@ -0,0 +1,36 @@
"""Tracers that record execution of LangChain runs."""
from typing import TYPE_CHECKING, Any
from langchain_core.tracers.langchain import LangChainTracer
from langchain_core.tracers.stdout import (
ConsoleCallbackHandler,
FunctionCallbackHandler,
)
from langchain_classic._api import create_importer
from langchain_classic.callbacks.tracers.logging import LoggingCallbackHandler
if TYPE_CHECKING:
from langchain_community.callbacks.tracers.wandb import WandbTracer
# Create a way to dynamically look up deprecated imports.
# Used to consolidate logic for raising deprecation warnings and
# handling optional imports.
DEPRECATED_LOOKUP = {"WandbTracer": "langchain_community.callbacks.tracers.wandb"}
_import_attribute = create_importer(__file__, deprecated_lookups=DEPRECATED_LOOKUP)
def __getattr__(name: str) -> Any:
"""Look up attributes dynamically."""
return _import_attribute(name)
__all__ = [
"ConsoleCallbackHandler",
"FunctionCallbackHandler",
"LangChainTracer",
"LoggingCallbackHandler",
"WandbTracer",
]

View File

@@ -0,0 +1,6 @@
"""Base interfaces for tracing runs."""
from langchain_core.exceptions import TracerException
from langchain_core.tracers.base import BaseTracer
__all__ = ["BaseTracer", "TracerException"]

View File

@@ -0,0 +1,30 @@
from typing import TYPE_CHECKING, Any
from langchain_classic._api import create_importer
if TYPE_CHECKING:
from langchain_community.callbacks.tracers.comet import (
CometTracer,
import_comet_llm_api,
)
# Create a way to dynamically look up deprecated imports.
# Used to consolidate logic for raising deprecation warnings and
# handling optional imports.
DEPRECATED_LOOKUP = {
"import_comet_llm_api": "langchain_community.callbacks.tracers.comet",
"CometTracer": "langchain_community.callbacks.tracers.comet",
}
_import_attribute = create_importer(__file__, deprecated_lookups=DEPRECATED_LOOKUP)
def __getattr__(name: str) -> Any:
"""Look up attributes dynamically."""
return _import_attribute(name)
__all__ = [
"CometTracer",
"import_comet_llm_api",
]

View File

@@ -0,0 +1,8 @@
"""A tracer that runs evaluators over completed runs."""
from langchain_core.tracers.evaluation import (
EvaluatorCallbackHandler,
wait_for_all_evaluators,
)
__all__ = ["EvaluatorCallbackHandler", "wait_for_all_evaluators"]

View File

@@ -0,0 +1,8 @@
"""A Tracer implementation that records to LangChain endpoint."""
from langchain_core.tracers.langchain import (
LangChainTracer,
wait_for_all_tracers,
)
__all__ = ["LangChainTracer", "wait_for_all_tracers"]

View File

@@ -0,0 +1,9 @@
from langchain_core.tracers.log_stream import (
LogEntry,
LogStreamCallbackHandler,
RunLog,
RunLogPatch,
RunState,
)
__all__ = ["LogEntry", "LogStreamCallbackHandler", "RunLog", "RunLogPatch", "RunState"]

View File

@@ -0,0 +1,56 @@
__all__ = ["LoggingCallbackHandler"]
import logging
from typing import Any
from uuid import UUID
from langchain_core.exceptions import TracerException
from langchain_core.tracers.stdout import FunctionCallbackHandler
from langchain_core.utils.input import get_bolded_text, get_colored_text
from typing_extensions import override
class LoggingCallbackHandler(FunctionCallbackHandler):
"""Tracer that logs via the input Logger."""
name: str = "logging_callback_handler"
def __init__(
self,
logger: logging.Logger,
log_level: int = logging.INFO,
extra: dict | None = None,
**kwargs: Any,
) -> None:
"""Initialize the LoggingCallbackHandler.
Args:
logger: the logger to use for logging
log_level: the logging level (default: logging.INFO)
extra: the extra context to log (default: None)
**kwargs: additional keyword arguments.
"""
log_method = getattr(logger, logging.getLevelName(level=log_level).lower())
def callback(text: str) -> None:
log_method(text, extra=extra)
super().__init__(function=callback, **kwargs)
@override
def on_text(
self,
text: str,
*,
run_id: UUID,
parent_run_id: UUID | None = None,
**kwargs: Any,
) -> None:
try:
crumbs_str = f"[{self.get_breadcrumbs(run=self._get_run(run_id=run_id))}] "
except TracerException:
crumbs_str = ""
self.function_callback(
f"{get_colored_text('[text]', color='blue')}"
f" {get_bolded_text(f'{crumbs_str}New text:')}\n{text}",
)

View File

@@ -0,0 +1,3 @@
from langchain_core.tracers.root_listeners import RootListenersTracer
__all__ = ["RootListenersTracer"]

View File

@@ -0,0 +1,3 @@
from langchain_core.tracers.run_collector import RunCollectorCallbackHandler
__all__ = ["RunCollectorCallbackHandler"]

View File

@@ -0,0 +1,5 @@
from langchain_core.tracers.schemas import Run
__all__ = [
"Run",
]

View File

@@ -0,0 +1,6 @@
from langchain_core.tracers.stdout import (
ConsoleCallbackHandler,
FunctionCallbackHandler,
)
__all__ = ["ConsoleCallbackHandler", "FunctionCallbackHandler"]

View File

@@ -0,0 +1,27 @@
from typing import TYPE_CHECKING, Any
from langchain_classic._api import create_importer
if TYPE_CHECKING:
from langchain_community.callbacks.tracers.wandb import WandbRunArgs, WandbTracer
# Create a way to dynamically look up deprecated imports.
# Used to consolidate logic for raising deprecation warnings and
# handling optional imports.
DEPRECATED_LOOKUP = {
"WandbRunArgs": "langchain_community.callbacks.tracers.wandb",
"WandbTracer": "langchain_community.callbacks.tracers.wandb",
}
_import_attribute = create_importer(__file__, deprecated_lookups=DEPRECATED_LOOKUP)
def __getattr__(name: str) -> Any:
"""Look up attributes dynamically."""
return _import_attribute(name)
__all__ = [
"WandbRunArgs",
"WandbTracer",
]