Home / File/ test_eval_chain.py — langchain Source File

test_eval_chain.py — langchain Source File

Architecture documentation for test_eval_chain.py, a python file in the langchain codebase. 11 imports, 0 dependents.

File python LangChainCore MessageInterface 11 imports 6 functions 1 classes

Entity Profile

Dependency Diagram

graph LR
  1ff39fbd_e89b_6287_757b_009d26497b03["test_eval_chain.py"]
  feec1ec4_6917_867b_d228_b134d0ff8099["typing"]
  1ff39fbd_e89b_6287_757b_009d26497b03 --> feec1ec4_6917_867b_d228_b134d0ff8099
  f69d6389_263d_68a4_7fbf_f14c0602a9ba["pytest"]
  1ff39fbd_e89b_6287_757b_009d26497b03 --> f69d6389_263d_68a4_7fbf_f14c0602a9ba
  59e0d3b0_0f8e_4b79_d442_e9b4821561c7["langchain_core.agents"]
  1ff39fbd_e89b_6287_757b_009d26497b03 --> 59e0d3b0_0f8e_4b79_d442_e9b4821561c7
  e61aa479_9dc0_09a0_8864_cbf23b8b506c["langchain_core.callbacks.manager"]
  1ff39fbd_e89b_6287_757b_009d26497b03 --> e61aa479_9dc0_09a0_8864_cbf23b8b506c
  049d69ec_d53a_d170_b6fa_35c395793702["langchain_core.exceptions"]
  1ff39fbd_e89b_6287_757b_009d26497b03 --> 049d69ec_d53a_d170_b6fa_35c395793702
  9444498b_8066_55c7_b3a2_1d90c4162a32["langchain_core.messages"]
  1ff39fbd_e89b_6287_757b_009d26497b03 --> 9444498b_8066_55c7_b3a2_1d90c4162a32
  121262a1_0bd6_d637_bce3_307ab6b3ecd4["langchain_core.tools"]
  1ff39fbd_e89b_6287_757b_009d26497b03 --> 121262a1_0bd6_d637_bce3_307ab6b3ecd4
  dd5e7909_a646_84f1_497b_cae69735550e["pydantic"]
  1ff39fbd_e89b_6287_757b_009d26497b03 --> dd5e7909_a646_84f1_497b_cae69735550e
  f85fae70_1011_eaec_151c_4083140ae9e5["typing_extensions"]
  1ff39fbd_e89b_6287_757b_009d26497b03 --> f85fae70_1011_eaec_151c_4083140ae9e5
  6ebec0fb_3e2e_9b21_e6ac_86ada9082fbd["langchain_classic.evaluation.agents.trajectory_eval_chain"]
  1ff39fbd_e89b_6287_757b_009d26497b03 --> 6ebec0fb_3e2e_9b21_e6ac_86ada9082fbd
  caea1c9e_d656_b98f_9100_96496a3d2fc4["tests.unit_tests.llms.fake_chat_model"]
  1ff39fbd_e89b_6287_757b_009d26497b03 --> caea1c9e_d656_b98f_9100_96496a3d2fc4
  style 1ff39fbd_e89b_6287_757b_009d26497b03 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

"""Test agent trajectory evaluation chain."""

from typing import Any

import pytest
from langchain_core.agents import AgentAction
from langchain_core.callbacks.manager import CallbackManagerForLLMRun
from langchain_core.exceptions import OutputParserException
from langchain_core.messages import BaseMessage
from langchain_core.tools import tool
from pydantic import Field
from typing_extensions import override

from langchain_classic.evaluation.agents.trajectory_eval_chain import (
    TrajectoryEval,
    TrajectoryEvalChain,
    TrajectoryOutputParser,
)
from tests.unit_tests.llms.fake_chat_model import FakeChatModel


@pytest.fixture
def intermediate_steps() -> list[tuple[AgentAction, str]]:
    return [
        (
            AgentAction(
                tool="Foo",
                tool_input="Bar",
                log="Star date 2021-06-13: Foo received input: Bar",
            ),
            "Baz",
        ),
    ]


@tool
def foo(bar: str) -> str:
    """Foo."""
    return bar


class _FakeTrajectoryChatModel(FakeChatModel):
    queries: dict = Field(default_factory=dict)
    sequential_responses: bool | None = False
    response_index: int = 0

    @override
    def _call(
        self,
        messages: list[BaseMessage],
        stop: list[str] | None = None,
        run_manager: CallbackManagerForLLMRun | None = None,
        **kwargs: Any,
    ) -> str:
        if self.sequential_responses:
            response = self.queries[list(self.queries.keys())[self.response_index]]
            self.response_index = self.response_index + 1
            return response
        prompt = messages[0].content
        return self.queries[prompt]
// ... (139 more lines)

Domain

Subdomains

Dependencies

  • langchain_classic.evaluation.agents.trajectory_eval_chain
  • langchain_core.agents
  • langchain_core.callbacks.manager
  • langchain_core.exceptions
  • langchain_core.messages
  • langchain_core.tools
  • pydantic
  • pytest
  • tests.unit_tests.llms.fake_chat_model
  • typing
  • typing_extensions

Frequently Asked Questions

What does test_eval_chain.py do?
test_eval_chain.py is a source file in the langchain codebase, written in python. It belongs to the LangChainCore domain, MessageInterface subdomain.
What functions are defined in test_eval_chain.py?
test_eval_chain.py defines 6 function(s): foo, intermediate_steps, test_old_api_works, test_trajectory_eval_chain, test_trajectory_eval_chain_no_tools, test_trajectory_output_parser_parse.
What does test_eval_chain.py depend on?
test_eval_chain.py imports 11 module(s): langchain_classic.evaluation.agents.trajectory_eval_chain, langchain_core.agents, langchain_core.callbacks.manager, langchain_core.exceptions, langchain_core.messages, langchain_core.tools, pydantic, pytest, and 3 more.
Where is test_eval_chain.py in the architecture?
test_eval_chain.py is located at libs/langchain/tests/unit_tests/evaluation/agents/test_eval_chain.py (domain: LangChainCore, subdomain: MessageInterface, directory: libs/langchain/tests/unit_tests/evaluation/agents).

Analyze Your Own Codebase

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

Try Supermodel Free