Home / File/ globals.py — langchain Source File

globals.py — langchain Source File

Architecture documentation for globals.py, a python file in the langchain codebase. 2 imports, 0 dependents.

File python CoreAbstractions Serialization 2 imports 7 functions

Entity Profile

Dependency Diagram

graph LR
  03d7cc32_1ccd_4629_f99b_029cec1f1ac9["globals.py"]
  8e2034b7_ceb8_963f_29fc_2ea6b50ef9b3["typing"]
  03d7cc32_1ccd_4629_f99b_029cec1f1ac9 --> 8e2034b7_ceb8_963f_29fc_2ea6b50ef9b3
  e51e78c8_f355_3edd_309e_1aec4323616a["langchain_core.caches"]
  03d7cc32_1ccd_4629_f99b_029cec1f1ac9 --> e51e78c8_f355_3edd_309e_1aec4323616a
  style 03d7cc32_1ccd_4629_f99b_029cec1f1ac9 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

"""Global values and configuration that apply to all of LangChain."""

from typing import TYPE_CHECKING, Optional

if TYPE_CHECKING:
    from langchain_core.caches import BaseCache


# DO NOT USE THESE VALUES DIRECTLY!
# Use them only via `get_<X>()` and `set_<X>()` below,
# or else your code may behave unexpectedly with other uses of these global settings:
# https://github.com/langchain-ai/langchain/pull/11311#issuecomment-1743780004
_verbose: bool = False
_debug: bool = False
_llm_cache: Optional["BaseCache"] = None


def set_verbose(value: bool) -> None:  # noqa: FBT001
    """Set a new value for the `verbose` global setting.

    Args:
        value: The new value for the `verbose` global setting.
    """
    global _verbose  # noqa: PLW0603
    _verbose = value


def get_verbose() -> bool:
    """Get the value of the `verbose` global setting.

    Returns:
        The value of the `verbose` global setting.
    """
    return _verbose


def set_debug(value: bool) -> None:  # noqa: FBT001
    """Set a new value for the `debug` global setting.

    Args:
        value: The new value for the `debug` global setting.
    """
    global _debug  # noqa: PLW0603
    _debug = value


def get_debug() -> bool:
    """Get the value of the `debug` global setting.

    Returns:
        The value of the `debug` global setting.
    """
    return _debug


def set_llm_cache(value: Optional["BaseCache"]) -> None:
    """Set a new LLM cache, overwriting the previous value, if any.

    Args:
        value: The new LLM cache to use. If `None`, the LLM cache is disabled.
    """
    global _llm_cache  # noqa: PLW0603
    _llm_cache = value


def get_llm_cache() -> Optional["BaseCache"]:
    """Get the value of the `llm_cache` global setting.

    Returns:
        The value of the `llm_cache` global setting.
    """
    return _llm_cache

Subdomains

Dependencies

  • langchain_core.caches
  • typing

Frequently Asked Questions

What does globals.py do?
globals.py is a source file in the langchain codebase, written in python. It belongs to the CoreAbstractions domain, Serialization subdomain.
What functions are defined in globals.py?
globals.py defines 7 function(s): get_debug, get_llm_cache, get_verbose, langchain_core, set_debug, set_llm_cache, set_verbose.
What does globals.py depend on?
globals.py imports 2 module(s): langchain_core.caches, typing.
Where is globals.py in the architecture?
globals.py is located at libs/core/langchain_core/globals.py (domain: CoreAbstractions, subdomain: Serialization, directory: libs/core/langchain_core).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free