From d17416ec79af339470f5d425963c841f071e89b8 Mon Sep 17 00:00:00 2001 From: Leonid Ganeline Date: Thu, 5 Oct 2023 17:13:14 -0700 Subject: [PATCH] docstrings `callbacks` (#11456) Added missed docstrings to the `callbacks/` --------- Co-authored-by: Erick Friis --- libs/langchain/langchain/callbacks/base.py | 4 ++-- .../langchain/callbacks/labelstudio_callback.py | 9 +++++++++ .../langchain/callbacks/llmonitor_callback.py | 14 +++++++++++++- libs/langchain/langchain/callbacks/manager.py | 6 +++++- .../langchain/callbacks/tracers/log_stream.py | 10 ++++++++++ 5 files changed, 39 insertions(+), 4 deletions(-) diff --git a/libs/langchain/langchain/callbacks/base.py b/libs/langchain/langchain/callbacks/base.py index b29c8f8b834..12c7a29f13b 100644 --- a/libs/langchain/langchain/callbacks/base.py +++ b/libs/langchain/langchain/callbacks/base.py @@ -250,7 +250,7 @@ class BaseCallbackHandler( CallbackManagerMixin, RunManagerMixin, ): - """Base callback handler that can be used to handle callbacks from langchain.""" + """Base callback handler that handles callbacks from LangChain.""" raise_error: bool = False @@ -288,7 +288,7 @@ class BaseCallbackHandler( class AsyncCallbackHandler(BaseCallbackHandler): - """Async callback handler that can be used to handle callbacks from langchain.""" + """Async callback handler that handles callbacks from LangChain.""" async def on_llm_start( self, diff --git a/libs/langchain/langchain/callbacks/labelstudio_callback.py b/libs/langchain/langchain/callbacks/labelstudio_callback.py index d74dcd52bde..de3c669b00a 100644 --- a/libs/langchain/langchain/callbacks/labelstudio_callback.py +++ b/libs/langchain/langchain/callbacks/labelstudio_callback.py @@ -17,6 +17,8 @@ from langchain.schema import ( class LabelStudioMode(Enum): + """Label Studio mode enumerator.""" + PROMPT = "prompt" CHAT = "chat" @@ -24,6 +26,13 @@ class LabelStudioMode(Enum): def get_default_label_configs( mode: Union[str, LabelStudioMode] ) -> Tuple[str, LabelStudioMode]: + """Get default Label Studio configs for the given mode. + + Parameters: + mode: Label Studio mode ("prompt" or "chat") + + Returns: Tuple of Label Studio config and mode + """ _default_label_configs = { LabelStudioMode.PROMPT.value: """ diff --git a/libs/langchain/langchain/callbacks/llmonitor_callback.py b/libs/langchain/langchain/callbacks/llmonitor_callback.py index beadce9068d..e0eec391e39 100644 --- a/libs/langchain/langchain/callbacks/llmonitor_callback.py +++ b/libs/langchain/langchain/callbacks/llmonitor_callback.py @@ -19,6 +19,8 @@ user_props_ctx = ContextVar[Union[str, None]]("user_props_ctx", default=None) class UserContextManager: + """Context manager for LLMonitor user context.""" + def __init__(self, user_id: str, user_props: Any = None) -> None: user_ctx.set(user_id) user_props_ctx.set(user_props) @@ -32,6 +34,15 @@ class UserContextManager: def identify(user_id: str, user_props: Any = None) -> UserContextManager: + """Builds an LLMonitor UserContextManager + + Parameters: + - `user_id`: The user id. + - `user_props`: The user properties. + + Returns: + A context manager that sets the user context. + """ return UserContextManager(user_id, user_props) @@ -149,7 +160,8 @@ def _parse_lc_messages(messages: Union[List[BaseMessage], Any]) -> List[Dict[str class LLMonitorCallbackHandler(BaseCallbackHandler): - """Initializes the `LLMonitorCallbackHandler`. + """Callback Handler for LLMonitor`. + #### Parameters: - `app_id`: The app id of the app you want to report to. Defaults to `None`, which means that `LLMONITOR_APP_ID` will be used. diff --git a/libs/langchain/langchain/callbacks/manager.py b/libs/langchain/langchain/callbacks/manager.py index ebfce11e31c..43e6317ac14 100644 --- a/libs/langchain/langchain/callbacks/manager.py +++ b/libs/langchain/langchain/callbacks/manager.py @@ -1182,7 +1182,7 @@ class AsyncCallbackManagerForRetrieverRun( class CallbackManager(BaseCallbackManager): - """Callback manager that handles callbacks from langchain.""" + """Callback manager that handles callbacks from LangChain.""" def on_llm_start( self, @@ -1450,6 +1450,8 @@ class CallbackManager(BaseCallbackManager): class CallbackManagerForChainGroup(CallbackManager): + """Callback manager for the chain group.""" + def __init__( self, handlers: List[BaseCallbackHandler], @@ -1784,6 +1786,8 @@ class AsyncCallbackManager(BaseCallbackManager): class AsyncCallbackManagerForChainGroup(AsyncCallbackManager): + """Async callback manager for the chain group.""" + def __init__( self, handlers: List[BaseCallbackHandler], diff --git a/libs/langchain/langchain/callbacks/tracers/log_stream.py b/libs/langchain/langchain/callbacks/tracers/log_stream.py index 33827b5dbb5..c74074fc4f0 100644 --- a/libs/langchain/langchain/callbacks/tracers/log_stream.py +++ b/libs/langchain/langchain/callbacks/tracers/log_stream.py @@ -25,6 +25,8 @@ from langchain.schema.output import ChatGenerationChunk, GenerationChunk class LogEntry(TypedDict): + """A single entry in the run log.""" + id: str """ID of the sub-run.""" name: str @@ -49,6 +51,8 @@ class LogEntry(TypedDict): class RunState(TypedDict): + """State of the run.""" + id: str """ID of the run.""" streamed_output: List[Any] @@ -63,6 +67,8 @@ class RunState(TypedDict): class RunLogPatch: + """A patch to the run log.""" + ops: List[Dict[str, Any]] """List of jsonpatch operations, which describe how to create the run state from an empty dict. This is the minimal representation of the log, designed to @@ -94,6 +100,8 @@ class RunLogPatch: class RunLog(RunLogPatch): + """A run log.""" + state: RunState """Current state of the log, obtained from applying all ops in sequence.""" @@ -118,6 +126,8 @@ class RunLog(RunLogPatch): class LogStreamCallbackHandler(BaseTracer): + """A tracer that streams run logs to a stream.""" + def __init__( self, *,