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_async.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  a358955e_8a61_cc1c_e7ca_2ccaec632454["test_agent_with_callbacks()"]
  663245d2_2254_328f_5cf8_4bbd36fb32cc["test_agent_async.py"]
  a358955e_8a61_cc1c_e7ca_2ccaec632454 -->|defined in| 663245d2_2254_328f_5cf8_4bbd36fb32cc
  style a358955e_8a61_cc1c_e7ca_2ccaec632454 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

libs/langchain/tests/unit_tests/agents/test_agent_async.py lines 105–154

async 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 = await agent.arun("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_async.py.
Where is test_agent_with_callbacks() defined?
test_agent_with_callbacks() is defined in libs/langchain/tests/unit_tests/agents/test_agent_async.py at line 105.

Analyze Your Own Codebase

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

Try Supermodel Free