Home / Function/ load_evaluator() — langchain Function Reference

load_evaluator() — langchain Function Reference

Architecture documentation for the load_evaluator() function in loading.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  cf30d9e6_90ba_3953_4427_17b28a12e180["load_evaluator()"]
  1183e0f4_44a5_0674_c4b1_e5f99e15eda8["loading.py"]
  cf30d9e6_90ba_3953_4427_17b28a12e180 -->|defined in| 1183e0f4_44a5_0674_c4b1_e5f99e15eda8
  deb188fb_75ee_300b_4914_553e7825e929["load_evaluators()"]
  deb188fb_75ee_300b_4914_553e7825e929 -->|calls| cf30d9e6_90ba_3953_4427_17b28a12e180
  style cf30d9e6_90ba_3953_4427_17b28a12e180 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

libs/langchain/langchain_classic/evaluation/loading.py lines 115–179

def load_evaluator(
    evaluator: EvaluatorType,
    *,
    llm: BaseLanguageModel | None = None,
    **kwargs: Any,
) -> Chain | StringEvaluator:
    """Load the requested evaluation chain specified by a string.

    Parameters
    ----------
    evaluator : EvaluatorType
        The type of evaluator to load.
    llm : BaseLanguageModel, optional
        The language model to use for evaluation, by default None
    **kwargs : Any
        Additional keyword arguments to pass to the evaluator.

    Returns:
    -------
    Chain
        The loaded evaluation chain.

    Examples:
    --------
    >>> from langchain_classic.evaluation import load_evaluator, EvaluatorType
    >>> evaluator = load_evaluator(EvaluatorType.QA)
    """
    if evaluator not in _EVALUATOR_MAP:
        msg = (
            f"Unknown evaluator type: {evaluator}"
            f"\nValid types are: {list(_EVALUATOR_MAP.keys())}"
        )
        raise ValueError(msg)
    evaluator_cls = _EVALUATOR_MAP[evaluator]
    if issubclass(evaluator_cls, LLMEvalChain):
        try:
            try:
                from langchain_openai import ChatOpenAI
            except ImportError:
                try:
                    from langchain_community.chat_models.openai import (
                        ChatOpenAI,
                    )
                except ImportError as e:
                    msg = (
                        "Could not import langchain_openai or fallback onto "
                        "langchain_community. Please install langchain_openai "
                        "or specify a language model explicitly. "
                        "It's recommended to install langchain_openai AND "
                        "specify a language model explicitly."
                    )
                    raise ImportError(msg) from e

            llm = llm or ChatOpenAI(model="gpt-4", seed=42, temperature=0)
        except Exception as e:
            msg = (
                f"Evaluation with the {evaluator_cls} requires a "
                "language model to function."
                " Failed to create the default 'gpt-4' model."
                " Please manually provide an evaluation LLM"
                " or check your openai credentials."
            )
            raise ValueError(msg) from e
        return evaluator_cls.from_llm(llm=llm, **kwargs)
    return evaluator_cls(**kwargs)

Domain

Subdomains

Called By

Frequently Asked Questions

What does load_evaluator() do?
load_evaluator() is a function in the langchain codebase, defined in libs/langchain/langchain_classic/evaluation/loading.py.
Where is load_evaluator() defined?
load_evaluator() is defined in libs/langchain/langchain_classic/evaluation/loading.py at line 115.
What calls load_evaluator()?
load_evaluator() is called by 1 function(s): load_evaluators.

Analyze Your Own Codebase

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

Try Supermodel Free