test_eval_chain.py — langchain Source File
Architecture documentation for test_eval_chain.py, a python file in the langchain codebase. 5 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR e30f56c6_ff3c_d725_a203_cd9aad50f2cf["test_eval_chain.py"] b7996424_637b_0b54_6edf_2e18e9c1a8bf["re"] e30f56c6_ff3c_d725_a203_cd9aad50f2cf --> b7996424_637b_0b54_6edf_2e18e9c1a8bf f69d6389_263d_68a4_7fbf_f14c0602a9ba["pytest"] e30f56c6_ff3c_d725_a203_cd9aad50f2cf --> f69d6389_263d_68a4_7fbf_f14c0602a9ba ffbb5555_bdc4_8cc0_3d6d_348e198d7a93["langchain_classic.evaluation.comparison.eval_chain"] e30f56c6_ff3c_d725_a203_cd9aad50f2cf --> ffbb5555_bdc4_8cc0_3d6d_348e198d7a93 1da1117d_34e9_b42d_751e_42edd84495a2["langchain_classic.evaluation.criteria.eval_chain"] e30f56c6_ff3c_d725_a203_cd9aad50f2cf --> 1da1117d_34e9_b42d_751e_42edd84495a2 55289260_666e_fae6_ddf7_d3d78be29813["tests.unit_tests.llms.fake_llm"] e30f56c6_ff3c_d725_a203_cd9aad50f2cf --> 55289260_666e_fae6_ddf7_d3d78be29813 style e30f56c6_ff3c_d725_a203_cd9aad50f2cf fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
"""Test the comparison chains."""
import re
import pytest
from langchain_classic.evaluation.comparison.eval_chain import (
LabeledPairwiseStringEvalChain,
PairwiseStringEvalChain,
PairwiseStringResultOutputParser,
resolve_pairwise_criteria,
)
from langchain_classic.evaluation.criteria.eval_chain import Criteria
from tests.unit_tests.llms.fake_llm import FakeLLM
@pytest.mark.parametrize("criterion", list(Criteria))
def test_resolve_criteria_enum(criterion: Criteria) -> None:
val = resolve_pairwise_criteria(criterion)
assert isinstance(val, dict)
assert next(iter(val)) == criterion.value
def test_resolve_criteria_list_enum() -> None:
val = resolve_pairwise_criteria(list(Criteria))
assert isinstance(val, dict)
assert set(val.keys()) == {c.value for c in list(Criteria)}
def test_pairwise_string_result_output_parser_parse() -> None:
output_parser = PairwiseStringResultOutputParser()
text = """I like pie better than cake.
[[A]]"""
got = output_parser.parse(text)
want = {
"reasoning": text,
"value": "A",
"score": 1,
}
assert got.get("reasoning") == want["reasoning"]
assert got.get("value") == want["value"]
assert got.get("score") == want["score"]
text = """I like cake better than pie.
[[B]]"""
got = output_parser.parse(text)
want = {
"reasoning": text,
"value": "B",
"score": 0,
}
assert got.get("reasoning") == want["reasoning"]
assert got.get("value") == want["value"]
assert got.get("score") == want["score"]
text = """I like cake and pie.
[[C]]"""
got = output_parser.parse(text)
want = {
"reasoning": text,
// ... (63 more lines)
Domain
Subdomains
Functions
Dependencies
- langchain_classic.evaluation.comparison.eval_chain
- langchain_classic.evaluation.criteria.eval_chain
- pytest
- re
- tests.unit_tests.llms.fake_llm
Source
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, Runnables subdomain.
What functions are defined in test_eval_chain.py?
test_eval_chain.py defines 5 function(s): test_labeled_pairwise_string_comparison_chain_missing_ref, test_pairwise_string_comparison_chain, test_pairwise_string_result_output_parser_parse, test_resolve_criteria_enum, test_resolve_criteria_list_enum.
What does test_eval_chain.py depend on?
test_eval_chain.py imports 5 module(s): langchain_classic.evaluation.comparison.eval_chain, langchain_classic.evaluation.criteria.eval_chain, pytest, re, tests.unit_tests.llms.fake_llm.
Where is test_eval_chain.py in the architecture?
test_eval_chain.py is located at libs/langchain/tests/unit_tests/evaluation/comparison/test_eval_chain.py (domain: LangChainCore, subdomain: Runnables, directory: libs/langchain/tests/unit_tests/evaluation/comparison).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free