Home / Class/ FakeListLLM Class — langchain Architecture

FakeListLLM Class — langchain Architecture

Architecture documentation for the FakeListLLM class in test_agent.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  d5c05295_7d43_b6a9_48cf_46b920ada166["FakeListLLM"]
  b2c7d2a5_0852_93df_c3e1_828c36a88999["LLM"]
  d5c05295_7d43_b6a9_48cf_46b920ada166 -->|extends| b2c7d2a5_0852_93df_c3e1_828c36a88999
  47a7b285_8e60_f78f_282d_429958c446fa["test_agent.py"]
  d5c05295_7d43_b6a9_48cf_46b920ada166 -->|defined in| 47a7b285_8e60_f78f_282d_429958c446fa
  abc9a179_890c_9dd6_860e_e44c2d6232a4["_call()"]
  d5c05295_7d43_b6a9_48cf_46b920ada166 -->|method| abc9a179_890c_9dd6_860e_e44c2d6232a4
  6f1a776b_d570_1fbc_f566_113fd4045d1e["get_num_tokens()"]
  d5c05295_7d43_b6a9_48cf_46b920ada166 -->|method| 6f1a776b_d570_1fbc_f566_113fd4045d1e
  1c0efcea_9281_f25f_3a5c_c9311e24767e["_acall()"]
  d5c05295_7d43_b6a9_48cf_46b920ada166 -->|method| 1c0efcea_9281_f25f_3a5c_c9311e24767e
  561b50c1_5928_9908_ddbc_7994ab048399["_identifying_params()"]
  d5c05295_7d43_b6a9_48cf_46b920ada166 -->|method| 561b50c1_5928_9908_ddbc_7994ab048399
  f8e5610e_113e_ac19_dd06_2cd111b78045["_llm_type()"]
  d5c05295_7d43_b6a9_48cf_46b920ada166 -->|method| f8e5610e_113e_ac19_dd06_2cd111b78045

Relationship Graph

Source Code

libs/langchain/tests/unit_tests/agents/test_agent.py lines 46–80

class FakeListLLM(LLM):
    """Fake LLM for testing that outputs elements of a list."""

    responses: list[str]
    i: int = -1

    @override
    def _call(
        self,
        prompt: str,
        stop: list[str] | None = None,
        run_manager: CallbackManagerForLLMRun | None = None,
        **kwargs: Any,
    ) -> str:
        """Increment counter, and then return response in that index."""
        self.i += 1
        print(f"=== Mock Response #{self.i} ===")  # noqa: T201
        print(self.responses[self.i])  # noqa: T201
        return self.responses[self.i]

    def get_num_tokens(self, text: str) -> int:
        """Return number of tokens in text."""
        return len(text.split())

    async def _acall(self, *args: Any, **kwargs: Any) -> str:
        return self._call(*args, **kwargs)

    @property
    def _identifying_params(self) -> dict[str, Any]:
        return {}

    @property
    def _llm_type(self) -> str:
        """Return type of llm."""
        return "fake_list"

Extends

Frequently Asked Questions

What is the FakeListLLM class?
FakeListLLM is a class in the langchain codebase, defined in libs/langchain/tests/unit_tests/agents/test_agent.py.
Where is FakeListLLM defined?
FakeListLLM is defined in libs/langchain/tests/unit_tests/agents/test_agent.py at line 46.
What does FakeListLLM extend?
FakeListLLM extends LLM.

Analyze Your Own Codebase

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

Try Supermodel Free