LangChain Reference home pageLangChain ReferenceLangChain Reference
  • GitHub
  • Main Docs
Deep Agents
LangChain
LangGraph
Integrations
LangSmith
  • Overview
    • Overview
    • Caches
    • Callbacks
    • Documents
    • Document loaders
    • Embeddings
    • Exceptions
    • Language models
    • Serialization
    • Output parsers
    • Prompts
    • Rate limiters
    • Retrievers
    • Runnables
    • Utilities
    • Vector stores
    MCP Adapters
    Standard Tests
    Text Splitters
    ⌘I

    LangChain Assistant

    Ask a question to get started

    Enter to send•Shift+Enter new line

    Menu

    OverviewCachesCallbacksDocumentsDocument loadersEmbeddingsExceptionsLanguage modelsSerializationOutput parsersPromptsRate limitersRetrieversRunnablesUtilitiesVector stores
    MCP Adapters
    Standard Tests
    Text Splitters
    Language
    Theme
    Pythonlangchain-coremessagesaiadd_usage
    Function●Since v0.3

    add_usage

    Recursively add two UsageMetadata objects.

    Copy
    add_usage(
        left: UsageMetadata | None,
        right: UsageMetadata | None,
    ) -> UsageMetadata

    Example:

    from langchain_core.messages.ai import add_usage
    
    left = UsageMetadata(
        input_tokens=5,
        output_tokens=0,
        total_tokens=5,
        input_token_details=InputTokenDetails(cache_read=3),
    )
    right = UsageMetadata(
        input_tokens=0,
        output_tokens=10,
        total_tokens=10,
        output_token_details=OutputTokenDetails(reasoning=4),
    )
    
    add_usage(left, right)

    results in

    UsageMetadata(
        input_tokens=5,
        output_tokens=10,
        total_tokens=15,
        input_token_details=InputTokenDetails(cache_read=3),
        output_token_details=OutputTokenDetails(reasoning=4),
    )

    Args: left: The first UsageMetadata object. right: The second UsageMetadata object.

    View source on GitHub