test_json_distance.py — langchain Source File
Architecture documentation for test_json_distance.py, a python file in the langchain codebase. 2 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR 36d17d14_6c10_919f_8373_84bb63cbfaa3["test_json_distance.py"] 120e2591_3e15_b895_72b6_cb26195e40a6["pytest"] 36d17d14_6c10_919f_8373_84bb63cbfaa3 --> 120e2591_3e15_b895_72b6_cb26195e40a6 f721ab35_1d21_91a7_a332_319f19037e06["langchain_classic.evaluation.parsing.json_distance"] 36d17d14_6c10_919f_8373_84bb63cbfaa3 --> f721ab35_1d21_91a7_a332_319f19037e06 style 36d17d14_6c10_919f_8373_84bb63cbfaa3 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import pytest
from langchain_classic.evaluation.parsing.json_distance import JsonEditDistanceEvaluator
@pytest.fixture
def json_distance_evaluator() -> JsonEditDistanceEvaluator:
return JsonEditDistanceEvaluator()
@pytest.mark.requires("rapidfuzz")
def test_json_distance_evaluator_requires_input(
json_distance_evaluator: JsonEditDistanceEvaluator,
) -> None:
assert json_distance_evaluator.requires_input is False
@pytest.mark.requires("rapidfuzz")
def test_json_distance_evaluator_requires_reference(
json_distance_evaluator: JsonEditDistanceEvaluator,
) -> None:
assert json_distance_evaluator.requires_reference is True
@pytest.mark.requires("rapidfuzz")
def test_json_distance_evaluator_evaluation_name(
json_distance_evaluator: JsonEditDistanceEvaluator,
) -> None:
assert json_distance_evaluator.evaluation_name == "json_edit_distance"
@pytest.mark.requires("rapidfuzz")
def test_json_distance_evaluator_parse_json(
json_distance_evaluator: JsonEditDistanceEvaluator,
) -> None:
string = '{"a": 1}'
result = json_distance_evaluator._parse_json(string)
assert result == {"a": 1}
@pytest.mark.requires("rapidfuzz")
def test_json_distance_evaluator_evaluate_strings_simple_diff(
json_distance_evaluator: JsonEditDistanceEvaluator,
) -> None:
prediction = '{"a": 1}'
reference = '{"a": 2}'
result = json_distance_evaluator._evaluate_strings(
prediction=prediction,
reference=reference,
)
# Only 1 character flipped
pytest.approx(1 / 7, result["score"])
@pytest.mark.requires("rapidfuzz")
def test_json_distance_evaluator_evaluate_strings_complex_diff(
json_distance_evaluator: JsonEditDistanceEvaluator,
) -> None:
prediction = '{"a":1, "b": {"c": 2, "d": 3}}'
reference = '{"a": 1, "b": {"c": 2, "d": 4}}'
// ... (64 more lines)
Domain
Subdomains
Functions
- json_distance_evaluator()
- test_json_distance_evaluator_evaluate_strings_complex_diff()
- test_json_distance_evaluator_evaluate_strings_custom_operator_equal()
- test_json_distance_evaluator_evaluate_strings_list_diff()
- test_json_distance_evaluator_evaluate_strings_list_diff_length()
- test_json_distance_evaluator_evaluate_strings_list_same()
- test_json_distance_evaluator_evaluate_strings_simple_diff()
- test_json_distance_evaluator_evaluation_name()
- test_json_distance_evaluator_parse_json()
- test_json_distance_evaluator_requires_input()
- test_json_distance_evaluator_requires_reference()
Dependencies
- langchain_classic.evaluation.parsing.json_distance
- pytest
Source
Frequently Asked Questions
What does test_json_distance.py do?
test_json_distance.py is a source file in the langchain codebase, written in python. It belongs to the CoreAbstractions domain, MessageSchema subdomain.
What functions are defined in test_json_distance.py?
test_json_distance.py defines 11 function(s): json_distance_evaluator, test_json_distance_evaluator_evaluate_strings_complex_diff, test_json_distance_evaluator_evaluate_strings_custom_operator_equal, test_json_distance_evaluator_evaluate_strings_list_diff, test_json_distance_evaluator_evaluate_strings_list_diff_length, test_json_distance_evaluator_evaluate_strings_list_same, test_json_distance_evaluator_evaluate_strings_simple_diff, test_json_distance_evaluator_evaluation_name, test_json_distance_evaluator_parse_json, test_json_distance_evaluator_requires_input, and 1 more.
What does test_json_distance.py depend on?
test_json_distance.py imports 2 module(s): langchain_classic.evaluation.parsing.json_distance, pytest.
Where is test_json_distance.py in the architecture?
test_json_distance.py is located at libs/langchain/tests/unit_tests/evaluation/parsing/test_json_distance.py (domain: CoreAbstractions, subdomain: MessageSchema, directory: libs/langchain/tests/unit_tests/evaluation/parsing).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free