From 0cfaa76e45a9fd236c849076b594e425ec763127 Mon Sep 17 00:00:00 2001 From: Zander Chase <130414180+vowelparrot@users.noreply.github.com> Date: Tue, 6 Jun 2023 09:26:38 -0700 Subject: [PATCH] Set Falsey (#5783) Seems natural to try to disable logging by setting `MY_VAR=false` rather than unsetting (especially once you've already set it in the background) --- langchain/callbacks/manager.py | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/langchain/callbacks/manager.py b/langchain/callbacks/manager.py index 95399cc7..19e957d7 100644 --- a/langchain/callbacks/manager.py +++ b/langchain/callbacks/manager.py @@ -878,6 +878,16 @@ class AsyncCallbackManager(BaseCallbackManager): T = TypeVar("T", CallbackManager, AsyncCallbackManager) +def env_var_is_set(env_var: str) -> bool: + """Check if an environment variable is set.""" + return env_var in os.environ and os.environ[env_var] not in ( + "", + "0", + "false", + "False", + ) + + def _configure( callback_manager_cls: Type[T], inheritable_callbacks: Callbacks = None, @@ -911,18 +921,17 @@ def _configure( wandb_tracer = wandb_tracing_callback_var.get() open_ai = openai_callback_var.get() tracing_enabled_ = ( - os.environ.get("LANGCHAIN_TRACING") is not None + env_var_is_set("LANGCHAIN_TRACING") or tracer is not None - or os.environ.get("LANGCHAIN_HANDLER") is not None + or env_var_is_set("LANGCHAIN_HANDLER") ) wandb_tracing_enabled_ = ( - os.environ.get("LANGCHAIN_WANDB_TRACING") is not None - or wandb_tracer is not None + env_var_is_set("LANGCHAIN_WANDB_TRACING") or wandb_tracer is not None ) tracer_v2 = tracing_v2_callback_var.get() tracing_v2_enabled_ = ( - os.environ.get("LANGCHAIN_TRACING_V2") is not None or tracer_v2 is not None + env_var_is_set("LANGCHAIN_TRACING_V2") or tracer_v2 is not None ) tracer_session = os.environ.get("LANGCHAIN_SESSION") debug = _get_debug()