initial commit
This commit is contained in:
@@ -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",
|
||||
]
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -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"]
|
||||
@@ -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",
|
||||
]
|
||||
@@ -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"]
|
||||
@@ -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"]
|
||||
@@ -0,0 +1,9 @@
|
||||
from langchain_core.tracers.log_stream import (
|
||||
LogEntry,
|
||||
LogStreamCallbackHandler,
|
||||
RunLog,
|
||||
RunLogPatch,
|
||||
RunState,
|
||||
)
|
||||
|
||||
__all__ = ["LogEntry", "LogStreamCallbackHandler", "RunLog", "RunLogPatch", "RunState"]
|
||||
@@ -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}",
|
||||
)
|
||||
@@ -0,0 +1,3 @@
|
||||
from langchain_core.tracers.root_listeners import RootListenersTracer
|
||||
|
||||
__all__ = ["RootListenersTracer"]
|
||||
@@ -0,0 +1,3 @@
|
||||
from langchain_core.tracers.run_collector import RunCollectorCallbackHandler
|
||||
|
||||
__all__ = ["RunCollectorCallbackHandler"]
|
||||
@@ -0,0 +1,5 @@
|
||||
from langchain_core.tracers.schemas import Run
|
||||
|
||||
__all__ = [
|
||||
"Run",
|
||||
]
|
||||
@@ -0,0 +1,6 @@
|
||||
from langchain_core.tracers.stdout import (
|
||||
ConsoleCallbackHandler,
|
||||
FunctionCallbackHandler,
|
||||
)
|
||||
|
||||
__all__ = ["ConsoleCallbackHandler", "FunctionCallbackHandler"]
|
||||
@@ -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",
|
||||
]
|
||||
Reference in New Issue
Block a user