Home / Function/ test_agent_with_callbacks() — langchain Function Reference

test_agent_with_callbacks() — langchain Function Reference

Architecture documentation for the test_agent_with_callbacks() function in test_agent.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  5a4201bc_925e_1b5b_dd7b_4f60af928090["test_agent_with_callbacks()"]
  47a7b285_8e60_f78f_282d_429958c446fa["test_agent.py"]
  5a4201bc_925e_1b5b_dd7b_4f60af928090 -->|defined in| 47a7b285_8e60_f78f_282d_429958c446fa
  style 5a4201bc_925e_1b5b_dd7b_4f60af928090 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

libs/langchain/tests/unit_tests/agents/test_agent.py lines 134–183

def test_agent_with_callbacks() -> None:
    """Test react chain with callbacks by setting verbose globally."""
    handler1 = FakeCallbackHandler()
    handler2 = FakeCallbackHandler()

    tool = "Search"
    responses = [
        f"FooBarBaz\nAction: {tool}\nAction Input: misalignment",
        "Oh well\nFinal Answer: curses foiled again",
    ]
    # Only fake LLM gets callbacks for handler2
    fake_llm = FakeListLLM(responses=responses, callbacks=[handler2])
    tools = [
        Tool(
            name="Search",
            func=lambda x: x,
            description="Useful for searching",
        ),
    ]
    agent = initialize_agent(
        tools,
        fake_llm,
        agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,
    )

    output = agent.run("when was langchain made", callbacks=[handler1])
    assert output == "curses foiled again"

    # 1 top level chain run runs, 2 LLMChain runs, 2 LLM runs, 1 tool run
    assert handler1.chain_starts == handler1.chain_ends == 3
    assert handler1.llm_starts == handler1.llm_ends == 2
    assert handler1.tool_starts == 1
    assert handler1.tool_ends == 1
    # 1 extra agent action
    assert handler1.starts == 7
    # 1 extra agent end
    assert handler1.ends == 7
    assert handler1.errors == 0
    # during LLMChain
    assert handler1.text == 2

    assert handler2.llm_starts == 2
    assert handler2.llm_ends == 2
    assert (
        handler2.chain_starts
        == handler2.tool_starts
        == handler2.tool_ends
        == handler2.chain_ends
        == 0
    )

Domain

Subdomains

Frequently Asked Questions

What does test_agent_with_callbacks() do?
test_agent_with_callbacks() is a function in the langchain codebase, defined in libs/langchain/tests/unit_tests/agents/test_agent.py.
Where is test_agent_with_callbacks() defined?
test_agent_with_callbacks() is defined in libs/langchain/tests/unit_tests/agents/test_agent.py at line 134.

Analyze Your Own Codebase

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

Try Supermodel Free