Skip to content

fix(langchain): normalize anthropic cache token metrics#411

Merged
Abhijeet Prasad (AbhiPrasad) merged 1 commit into
mainfrom
abhi-fix-bt-5150-langchain-cache-tokens
May 11, 2026
Merged

fix(langchain): normalize anthropic cache token metrics#411
Abhijeet Prasad (AbhiPrasad) merged 1 commit into
mainfrom
abhi-fix-bt-5150-langchain-cache-tokens

Conversation

@AbhiPrasad
Copy link
Copy Markdown
Member

LangChain Anthropic usage reports cache read/write tokens separately from raw input and total counts, which could produce Braintrust spans where cache creation tokens exceeded total tokens.

Fold cache read and creation tokens into prompt_tokens and total_tokens when LangChain appears to expose uncached prompt totals. This keeps Braintrust token metrics internally consistent for users relying on prompt caching: before, spans could underreport prompt/total tokens; after, prompt_tokens includes uncached, cached, and cache-creation tokens and total_tokens remains prompt plus completion tokens.

Extend the existing VCR prompt-caching regression test to assert the normalized metric convention for cache creation and cache reads.

fixes https://linear.app/braintrustdata/issue/BT-5150/langchain-callback-does-not-normalize-anthropic-cache-tokens-into

LangChain Anthropic usage reports cache read/write tokens separately from raw input and total counts, which could produce Braintrust spans where cache creation tokens exceeded total tokens.

Fold cache read and creation tokens into prompt_tokens and total_tokens when LangChain appears to expose uncached prompt totals. This keeps Braintrust token metrics internally consistent for users relying on prompt caching: before, spans could underreport prompt/total tokens; after, prompt_tokens includes uncached, cached, and cache-creation tokens and total_tokens remains prompt plus completion tokens.

Extend the existing VCR prompt-caching regression test to assert the normalized metric convention for cache creation and cache reads.
@AbhiPrasad Abhijeet Prasad (AbhiPrasad) merged commit 4e97d70 into main May 11, 2026
82 checks passed
@AbhiPrasad Abhijeet Prasad (AbhiPrasad) deleted the abhi-fix-bt-5150-langchain-cache-tokens branch May 11, 2026 17:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants