test_on_llm_end_preserves_existing_metadata() — langchain Function Reference
Architecture documentation for the test_on_llm_end_preserves_existing_metadata() function in test_langchain.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD b7264e06_b14a_bb7b_ed98_c1f688994b72["test_on_llm_end_preserves_existing_metadata()"] 6ee6ed10_3ff3_3d50_08bc_311ea99250db["test_langchain.py"] b7264e06_b14a_bb7b_ed98_c1f688994b72 -->|defined in| 6ee6ed10_3ff3_3d50_08bc_311ea99250db style b7264e06_b14a_bb7b_ed98_c1f688994b72 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
libs/core/tests/unit_tests/tracers/test_langchain.py lines 316–355
def test_on_llm_end_preserves_existing_metadata() -> None:
"""Test that existing metadata is preserved when adding `usage_metadata`."""
client = unittest.mock.MagicMock(spec=Client)
client.tracing_queue = None
tracer = LangChainTracer(client=client)
run_id = UUID("9d878ab3-e5ca-4218-aef6-44cbdc90160a")
tracer.on_llm_start(
{"name": "test_llm"},
["foo"],
run_id=run_id,
metadata={"existing_key": "existing_value"},
)
run = tracer.run_map[str(run_id)]
usage_metadata = {"input_tokens": 10, "output_tokens": 20, "total_tokens": 30}
run.outputs = {
"generations": [
[
{
"text": "Hello!",
"message": {"content": "Hello!", "usage_metadata": usage_metadata},
}
]
]
}
captured_run = None
def capture_run(r: Run) -> None:
nonlocal captured_run
captured_run = r
with unittest.mock.patch.object(tracer, "_update_run_single", capture_run):
tracer._on_llm_end(run)
assert captured_run is not None
assert "metadata" in captured_run.extra
assert captured_run.extra["metadata"]["usage_metadata"] == usage_metadata
assert captured_run.extra["metadata"]["existing_key"] == "existing_value"
Domain
Subdomains
Source
Frequently Asked Questions
What does test_on_llm_end_preserves_existing_metadata() do?
test_on_llm_end_preserves_existing_metadata() is a function in the langchain codebase, defined in libs/core/tests/unit_tests/tracers/test_langchain.py.
Where is test_on_llm_end_preserves_existing_metadata() defined?
test_on_llm_end_preserves_existing_metadata() is defined in libs/core/tests/unit_tests/tracers/test_langchain.py at line 316.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free