Home / Function/ resolve_criteria() — langchain Function Reference

resolve_criteria() — langchain Function Reference

Architecture documentation for the resolve_criteria() function in eval_chain.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  351b62b7_d2ea_9d3f_cc78_2712a988a68f["resolve_criteria()"]
  66e0c4fe_40d5_039b_24a9_26eb6155c2cc["eval_chain.py"]
  351b62b7_d2ea_9d3f_cc78_2712a988a68f -->|defined in| 66e0c4fe_40d5_039b_24a9_26eb6155c2cc
  3c6dc9b9_bf18_3520_a593_9147d40d2f2a["from_llm()"]
  3c6dc9b9_bf18_3520_a593_9147d40d2f2a -->|calls| 351b62b7_d2ea_9d3f_cc78_2712a988a68f
  3987e2f0_a8de_74dd_9ceb_d96cade3aefa["from_llm()"]
  3987e2f0_a8de_74dd_9ceb_d96cade3aefa -->|calls| 351b62b7_d2ea_9d3f_cc78_2712a988a68f
  style 351b62b7_d2ea_9d3f_cc78_2712a988a68f fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

libs/langchain/langchain_classic/evaluation/scoring/eval_chain.py lines 53–97

def resolve_criteria(
    criteria: CRITERIA_TYPE | str | list[CRITERIA_TYPE] | None,
) -> dict:
    """Resolve the criteria for the pairwise evaluator.

    Args:
        criteria: The criteria to use.

    Returns:
        The resolved criteria.

    """
    if criteria is None:
        _default_criteria = [
            Criteria.HELPFULNESS,
            Criteria.RELEVANCE,
            Criteria.CORRECTNESS,
            Criteria.DEPTH,
        ]
        return {k.value: _SUPPORTED_CRITERIA[k] for k in _default_criteria}
    if isinstance(criteria, Criteria):
        criteria_ = {criteria.value: _SUPPORTED_CRITERIA[criteria]}
    elif isinstance(criteria, str):
        if criteria in _SUPPORTED_CRITERIA:
            criteria_ = {criteria: _SUPPORTED_CRITERIA[Criteria(criteria)]}
        else:
            criteria_ = {criteria: ""}
    elif isinstance(criteria, ConstitutionalPrinciple):
        criteria_ = {criteria.name: criteria.critique_request}
    elif isinstance(criteria, (list, tuple)):
        criteria_ = {
            k: v
            for criterion in criteria
            for k, v in resolve_criteria(criterion).items()
        }
    else:
        if not criteria:
            msg = (
                "Criteria cannot be empty. "
                "Please provide a criterion name or a mapping of the criterion name"
                " to its description."
            )
            raise ValueError(msg)
        criteria_ = dict(criteria)
    return criteria_

Domain

Subdomains

Frequently Asked Questions

What does resolve_criteria() do?
resolve_criteria() is a function in the langchain codebase, defined in libs/langchain/langchain_classic/evaluation/scoring/eval_chain.py.
Where is resolve_criteria() defined?
resolve_criteria() is defined in libs/langchain/langchain_classic/evaluation/scoring/eval_chain.py at line 53.
What calls resolve_criteria()?
resolve_criteria() is called by 2 function(s): from_llm, from_llm.

Analyze Your Own Codebase

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

Try Supermodel Free