[docs]@contextmanagerdefget_openai_callback()->Generator[OpenAICallbackHandler,None,None]:"""Get the OpenAI callback handler in a context manager. which conveniently exposes token and cost information. Returns: OpenAICallbackHandler: The OpenAI callback handler. Example: >>> with get_openai_callback() as cb: ... # Use the OpenAI callback handler """cb=OpenAICallbackHandler()openai_callback_var.set(cb)yieldcbopenai_callback_var.set(None)
[docs]@contextmanagerdefget_bedrock_anthropic_callback()->Generator[BedrockAnthropicTokenUsageCallbackHandler,None,None]:"""Get the Bedrock anthropic callback handler in a context manager. which conveniently exposes token and cost information. Returns: BedrockAnthropicTokenUsageCallbackHandler: The Bedrock anthropic callback handler. Example: >>> with get_bedrock_anthropic_callback() as cb: ... # Use the Bedrock anthropic callback handler """cb=BedrockAnthropicTokenUsageCallbackHandler()bedrock_anthropic_callback_var.set(cb)yieldcbbedrock_anthropic_callback_var.set(None)
[docs]@contextmanagerdefwandb_tracing_enabled(session_name:str="default",)->Generator[None,None,None]:"""Get the WandbTracer in a context manager. Args: session_name (str, optional): The name of the session. Defaults to "default". Returns: None Example: >>> with wandb_tracing_enabled() as session: ... # Use the WandbTracer session """cb=WandbTracer()wandb_tracing_callback_var.set(cb)yieldNonewandb_tracing_callback_var.set(None)