config.py — langchain Source File
Architecture documentation for config.py, a python file in the langchain codebase. 14 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR ba7f9415_541a_d99f_0400_a688a10212b0["config.py"] 2bf6d401_816d_d011_3b05_a6114f55ff58["collections.abc"] ba7f9415_541a_d99f_0400_a688a10212b0 --> 2bf6d401_816d_d011_3b05_a6114f55ff58 feec1ec4_6917_867b_d228_b134d0ff8099["typing"] ba7f9415_541a_d99f_0400_a688a10212b0 --> feec1ec4_6917_867b_d228_b134d0ff8099 918b8514_ba55_6df2_7254_4598ec160e33["langchain_core.embeddings"] ba7f9415_541a_d99f_0400_a688a10212b0 --> 918b8514_ba55_6df2_7254_4598ec160e33 e929cf21_6ab8_6ff3_3765_0d35a099a053["langchain_core.language_models"] ba7f9415_541a_d99f_0400_a688a10212b0 --> e929cf21_6ab8_6ff3_3765_0d35a099a053 435e49bf_bb2e_2016_ead7_0afb9d57ad71["langchain_core.prompts"] ba7f9415_541a_d99f_0400_a688a10212b0 --> 435e49bf_bb2e_2016_ead7_0afb9d57ad71 b8aff3f8_6287_d5fe_af3e_1ecda79d9656["langsmith"] ba7f9415_541a_d99f_0400_a688a10212b0 --> b8aff3f8_6287_d5fe_af3e_1ecda79d9656 04faf5b9_22ac_eec5_f254_754aa6c94a19["langsmith.evaluation.evaluator"] ba7f9415_541a_d99f_0400_a688a10212b0 --> 04faf5b9_22ac_eec5_f254_754aa6c94a19 fda1273a_102f_d6f6_7c3e_a3cece2788bd["langsmith.schemas"] ba7f9415_541a_d99f_0400_a688a10212b0 --> fda1273a_102f_d6f6_7c3e_a3cece2788bd dd5e7909_a646_84f1_497b_cae69735550e["pydantic"] ba7f9415_541a_d99f_0400_a688a10212b0 --> dd5e7909_a646_84f1_497b_cae69735550e f85fae70_1011_eaec_151c_4083140ae9e5["typing_extensions"] ba7f9415_541a_d99f_0400_a688a10212b0 --> f85fae70_1011_eaec_151c_4083140ae9e5 1da1117d_34e9_b42d_751e_42edd84495a2["langchain_classic.evaluation.criteria.eval_chain"] ba7f9415_541a_d99f_0400_a688a10212b0 --> 1da1117d_34e9_b42d_751e_42edd84495a2 9dc9f89c_25b0_3faf_9ab9_25aeefbfe841["langchain_classic.evaluation.embedding_distance.base"] ba7f9415_541a_d99f_0400_a688a10212b0 --> 9dc9f89c_25b0_3faf_9ab9_25aeefbfe841 37291248_07a6_a05c_821a_71cc0592429f["langchain_classic.evaluation.schema"] ba7f9415_541a_d99f_0400_a688a10212b0 --> 37291248_07a6_a05c_821a_71cc0592429f 14c81ea7_2492_26c0_0ff3_ecabb1935cd5["langchain_classic.evaluation.string_distance.base"] ba7f9415_541a_d99f_0400_a688a10212b0 --> 14c81ea7_2492_26c0_0ff3_ecabb1935cd5 style ba7f9415_541a_d99f_0400_a688a10212b0 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
"""Configuration for run evaluators."""
from collections.abc import Callable, Sequence
from typing import Any
from langchain_core.embeddings import Embeddings
from langchain_core.language_models import BaseLanguageModel
from langchain_core.prompts import BasePromptTemplate
from langsmith import RunEvaluator
from langsmith.evaluation.evaluator import EvaluationResult, EvaluationResults
from langsmith.schemas import Example, Run
from pydantic import BaseModel, ConfigDict, Field
from typing_extensions import override
from langchain_classic.evaluation.criteria.eval_chain import CRITERIA_TYPE
from langchain_classic.evaluation.embedding_distance.base import (
EmbeddingDistance as EmbeddingDistanceEnum,
)
from langchain_classic.evaluation.schema import EvaluatorType, StringEvaluator
from langchain_classic.evaluation.string_distance.base import (
StringDistance as StringDistanceEnum,
)
RUN_EVALUATOR_LIKE = Callable[
[Run, Example | None],
EvaluationResult | EvaluationResults | dict,
]
BATCH_EVALUATOR_LIKE = Callable[
[Sequence[Run], Sequence[Example] | None],
EvaluationResult | EvaluationResults | dict,
]
class EvalConfig(BaseModel):
"""Configuration for a given run evaluator.
Attributes:
evaluator_type: The type of evaluator to use.
"""
evaluator_type: EvaluatorType
def get_kwargs(self) -> dict[str, Any]:
"""Get the keyword arguments for the `load_evaluator` call.
Returns:
The keyword arguments for the `load_evaluator` call.
"""
kwargs = {}
for field, val in self:
if field == "evaluator_type" or val is None:
continue
kwargs[field] = val
return kwargs
class SingleKeyEvalConfig(EvalConfig):
"""Configuration for a run evaluator that only requires a single key."""
reference_key: str | None = None
// ... (214 more lines)
Domain
Subdomains
Classes
Dependencies
- collections.abc
- langchain_classic.evaluation.criteria.eval_chain
- langchain_classic.evaluation.embedding_distance.base
- langchain_classic.evaluation.schema
- langchain_classic.evaluation.string_distance.base
- langchain_core.embeddings
- langchain_core.language_models
- langchain_core.prompts
- langsmith
- langsmith.evaluation.evaluator
- langsmith.schemas
- pydantic
- typing
- typing_extensions
Source
Frequently Asked Questions
What does config.py do?
config.py is a source file in the langchain codebase, written in python. It belongs to the LangChainCore domain, MessageInterface subdomain.
What does config.py depend on?
config.py imports 14 module(s): collections.abc, langchain_classic.evaluation.criteria.eval_chain, langchain_classic.evaluation.embedding_distance.base, langchain_classic.evaluation.schema, langchain_classic.evaluation.string_distance.base, langchain_core.embeddings, langchain_core.language_models, langchain_core.prompts, and 6 more.
Where is config.py in the architecture?
config.py is located at libs/langchain/langchain_classic/smith/evaluation/config.py (domain: LangChainCore, subdomain: MessageInterface, directory: libs/langchain/langchain_classic/smith/evaluation).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free