Toggle Menu
Prev Up Next

# `langchain.smith.evaluation.config`.RunEvalConfig

class langchain.smith.evaluation.config.RunEvalConfig

  Bases: `BaseModel`

  Configuration for a run evaluation.

  Parameters

    - evaluators (List[Union[EvaluatorType, EvalConfig, RunEvaluator, Callable]]) – Configurations for which evaluators to apply to the dataset run. Each can be the string of an `EvaluatorType`, such as EvaluatorType.QA, the evaluator type string (“qa”), or a configuration for a given evaluator (e.g., `RunEvalConfig.QA`).

    - custom_evaluators (Optional[List[Union[RunEvaluator, StringEvaluator]]]) – Custom evaluators to apply to the dataset run.

    - reference_key (Optional[str]) – The key in the dataset run to use as the reference string. If not provided, it will be inferred automatically.

    - prediction_key (Optional[str]) – The key from the traced run’s outputs dictionary to use to represent the prediction. If not provided, it will be inferred automatically.

    - input_key (Optional[str]) – The key from the traced run’s inputs dictionary to use to represent the input. If not provided, it will be inferred automatically.

    - eval_llm (Optional[BaseLanguageModel]) – The language model to pass to any evaluators that use a language model.

  Create a new model by parsing and validating input data from keyword arguments.

  Raises ValidationError if the input data cannot be parsed to form a valid model.

  param batch_evaluators: Optional[List[Callable[[Sequence[Run], Optional[Sequence[Example]]], Union[EvaluationResult, EvaluationResults, dict]]]] = None

    Evaluators that run on an aggregate/batch level.

    These generate 1 or more metrics that are assigned to the full test run. As a result, they are not associated with individual traces.

  param custom_evaluators: Optional[List[Union[Callable[[Run, Optional[Example]], Union[EvaluationResult, EvaluationResults, dict]], RunEvaluator, StringEvaluator]]] = None

    Custom evaluators to apply to the dataset run.

  param eval_llm: Optional[BaseLanguageModel] = None

    The language model to pass to any evaluators that require one.

  param evaluators: List[Union[EvaluatorType, str, EvalConfig, Callable[[Run, Optional[Example]], Union[EvaluationResult, EvaluationResults, dict]], RunEvaluator, StringEvaluator]] [Optional]

    Configurations for which evaluators to apply to the dataset run. Each can be the string of an `EvaluatorType`, such as EvaluatorType.QA, the evaluator type string (“qa”), or a configuration for a given evaluator (e.g., `RunEvalConfig.QA`).

  param input_key: Optional[str] = None

    The key from the traced run’s inputs dictionary to use to represent the input. If not provided, it will be inferred automatically.

  param prediction_key: Optional[str] = None

    The key from the traced run’s outputs dictionary to use to represent the prediction. If not provided, it will be inferred automatically.

  param reference_key: Optional[str] = None

    The key in the dataset run to use as the reference string. If not provided, we will attempt to infer automatically.

  class CoTQA

    Bases: `SingleKeyEvalConfig`

    Configuration for a context-based QA evaluator.

    Parameters

      - prompt (Optional[BasePromptTemplate]) – The prompt template to use for generating the question.

      - llm (Optional[BaseLanguageModel]) – The language model to use for the evaluation chain.

    Create a new model by parsing and validating input data from keyword arguments.

    Raises ValidationError if the input data cannot be parsed to form a valid model.

    param evaluator_type: EvaluatorType = EvaluatorType.CONTEXT_QA
    param input_key: Optional[str] = None

      The key from the traced run’s inputs dictionary to use to represent the input. If not provided, it will be inferred automatically.

    param llm: Optional[BaseLanguageModel] = None
    param prediction_key: Optional[str] = None

      The key from the traced run’s outputs dictionary to use to represent the prediction. If not provided, it will be inferred automatically.

    param prompt: Optional[BasePromptTemplate] = None
    param reference_key: Optional[str] = None

      The key in the dataset run to use as the reference string. If not provided, we will attempt to infer automatically.

    classmethod construct(_fields_set: Optional[SetStr] = None, **values: Any) → Model

      Creates a new model setting __dict__ and __fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed. Behaves as if Config.extra = ‘allow’ was set since it adds all passed values

      Parameters

        - _fields_set (Optional[SetStr]) –

        - values (Any) –

      Return type

        Model

    copy(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, update: Optional[DictStrAny] = None, deep: bool = False) → Model

      Duplicate a model, optionally choose which fields to include, exclude and change.

      Parameters

        - include (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) – fields to include in new model

        - exclude (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) – fields to exclude from new model, as with values this takes precedence over include

        - update (Optional[DictStrAny]) – values to change/add in the new model. Note: the data is not validated before creating the new model: you should trust this data

        - deep (bool) – set to True to make a deep copy of the model

        - self (Model) –

      Returns

        new model instance

      Return type

        Model

    dict(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, by_alias: bool = False, skip_defaults: Optional[bool] = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False) → DictStrAny

      Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

      Parameters

        - include (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

        - exclude (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

        - by_alias (bool) –

        - skip_defaults (Optional[bool]) –

        - exclude_unset (bool) –

        - exclude_defaults (bool) –

        - exclude_none (bool) –

      Return type

        DictStrAny

    classmethod from_orm(obj: Any) → Model
      Parameters

        obj (Any) –

      Return type

        Model

    get_kwargs() → Dict[str, Any]

      Get the keyword arguments for the load_evaluator call.

      Returns

        The keyword arguments for the load_evaluator call.

      Return type

        Dict[str, Any]

    json(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, by_alias: bool = False, skip_defaults: Optional[bool] = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, encoder: Optional[Callable[[Any], Any]] = None, models_as_dict: bool = True, **dumps_kwargs: Any) → unicode

      Generate a JSON representation of the model, include and exclude arguments as per dict().

      encoder is an optional function to supply as default to json.dumps(), other arguments as per json.dumps().

      Parameters

        - include (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

        - exclude (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

        - by_alias (bool) –

        - skip_defaults (Optional[bool]) –

        - exclude_unset (bool) –

        - exclude_defaults (bool) –

        - exclude_none (bool) –

        - encoder (Optional[Callable[[Any], Any]]) –

        - models_as_dict (bool) –

        - dumps_kwargs (Any) –

      Return type

        unicode

    classmethod parse_file(path: Union[str, Path], *, content_type: unicode = None, encoding: unicode = 'utf8', proto: Protocol = None, allow_pickle: bool = False) → Model
      Parameters

        - path (Union[str, Path]) –

        - content_type (unicode) –

        - encoding (unicode) –

        - proto (Protocol) –

        - allow_pickle (bool) –

      Return type

        Model

    classmethod parse_obj(obj: Any) → Model
      Parameters

        obj (Any) –

      Return type

        Model

    classmethod parse_raw(b: Union[str, bytes], *, content_type: unicode = None, encoding: unicode = 'utf8', proto: Protocol = None, allow_pickle: bool = False) → Model
      Parameters

        - b (Union[str, bytes]) –

        - content_type (unicode) –

        - encoding (unicode) –

        - proto (Protocol) –

        - allow_pickle (bool) –

      Return type

        Model

    classmethod schema(by_alias: bool = True, ref_template: unicode = '#/definitions/{model}') → DictStrAny
      Parameters

        - by_alias (bool) –

        - ref_template (unicode) –

      Return type

        DictStrAny

    classmethod schema_json(*, by_alias: bool = True, ref_template: unicode = '#/definitions/{model}', **dumps_kwargs: Any) → unicode
      Parameters

        - by_alias (bool) –

        - ref_template (unicode) –

        - dumps_kwargs (Any) –

      Return type

        unicode

    classmethod update_forward_refs(**localns: Any) → None

      Try to update ForwardRefs on fields based on this Model, globalns and localns.

      Parameters

        localns (Any) –

      Return type

        None

    classmethod validate(value: Any) → Model
      Parameters

        value (Any) –

      Return type

        Model

  class ContextQA

    Bases: `SingleKeyEvalConfig`

    Configuration for a context-based QA evaluator.

    Parameters

      - prompt (Optional[BasePromptTemplate]) – The prompt template to use for generating the question.

      - llm (Optional[BaseLanguageModel]) – The language model to use for the evaluation chain.

    Create a new model by parsing and validating input data from keyword arguments.

    Raises ValidationError if the input data cannot be parsed to form a valid model.

    param evaluator_type: EvaluatorType = EvaluatorType.CONTEXT_QA
    param input_key: Optional[str] = None

      The key from the traced run’s inputs dictionary to use to represent the input. If not provided, it will be inferred automatically.

    param llm: Optional[BaseLanguageModel] = None
    param prediction_key: Optional[str] = None

      The key from the traced run’s outputs dictionary to use to represent the prediction. If not provided, it will be inferred automatically.

    param prompt: Optional[BasePromptTemplate] = None
    param reference_key: Optional[str] = None

      The key in the dataset run to use as the reference string. If not provided, we will attempt to infer automatically.

    classmethod construct(_fields_set: Optional[SetStr] = None, **values: Any) → Model

      Creates a new model setting __dict__ and __fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed. Behaves as if Config.extra = ‘allow’ was set since it adds all passed values

      Parameters

        - _fields_set (Optional[SetStr]) –

        - values (Any) –

      Return type

        Model

    copy(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, update: Optional[DictStrAny] = None, deep: bool = False) → Model

      Duplicate a model, optionally choose which fields to include, exclude and change.

      Parameters

        - include (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) – fields to include in new model

        - exclude (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) – fields to exclude from new model, as with values this takes precedence over include

        - update (Optional[DictStrAny]) – values to change/add in the new model. Note: the data is not validated before creating the new model: you should trust this data

        - deep (bool) – set to True to make a deep copy of the model

        - self (Model) –

      Returns

        new model instance

      Return type

        Model

    dict(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, by_alias: bool = False, skip_defaults: Optional[bool] = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False) → DictStrAny

      Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

      Parameters

        - include (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

        - exclude (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

        - by_alias (bool) –

        - skip_defaults (Optional[bool]) –

        - exclude_unset (bool) –

        - exclude_defaults (bool) –

        - exclude_none (bool) –

      Return type

        DictStrAny

    classmethod from_orm(obj: Any) → Model
      Parameters

        obj (Any) –

      Return type

        Model

    get_kwargs() → Dict[str, Any]

      Get the keyword arguments for the load_evaluator call.

      Returns

        The keyword arguments for the load_evaluator call.

      Return type

        Dict[str, Any]

    json(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, by_alias: bool = False, skip_defaults: Optional[bool] = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, encoder: Optional[Callable[[Any], Any]] = None, models_as_dict: bool = True, **dumps_kwargs: Any) → unicode

      Generate a JSON representation of the model, include and exclude arguments as per dict().

      encoder is an optional function to supply as default to json.dumps(), other arguments as per json.dumps().

      Parameters

        - include (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

        - exclude (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

        - by_alias (bool) –

        - skip_defaults (Optional[bool]) –

        - exclude_unset (bool) –

        - exclude_defaults (bool) –

        - exclude_none (bool) –

        - encoder (Optional[Callable[[Any], Any]]) –

        - models_as_dict (bool) –

        - dumps_kwargs (Any) –

      Return type

        unicode

    classmethod parse_file(path: Union[str, Path], *, content_type: unicode = None, encoding: unicode = 'utf8', proto: Protocol = None, allow_pickle: bool = False) → Model
      Parameters

        - path (Union[str, Path]) –

        - content_type (unicode) –

        - encoding (unicode) –

        - proto (Protocol) –

        - allow_pickle (bool) –

      Return type

        Model

    classmethod parse_obj(obj: Any) → Model
      Parameters

        obj (Any) –

      Return type

        Model

    classmethod parse_raw(b: Union[str, bytes], *, content_type: unicode = None, encoding: unicode = 'utf8', proto: Protocol = None, allow_pickle: bool = False) → Model
      Parameters

        - b (Union[str, bytes]) –

        - content_type (unicode) –

        - encoding (unicode) –

        - proto (Protocol) –

        - allow_pickle (bool) –

      Return type

        Model

    classmethod schema(by_alias: bool = True, ref_template: unicode = '#/definitions/{model}') → DictStrAny
      Parameters

        - by_alias (bool) –

        - ref_template (unicode) –

      Return type

        DictStrAny

    classmethod schema_json(*, by_alias: bool = True, ref_template: unicode = '#/definitions/{model}', **dumps_kwargs: Any) → unicode
      Parameters

        - by_alias (bool) –

        - ref_template (unicode) –

        - dumps_kwargs (Any) –

      Return type

        unicode

    classmethod update_forward_refs(**localns: Any) → None

      Try to update ForwardRefs on fields based on this Model, globalns and localns.

      Parameters

        localns (Any) –

      Return type

        None

    classmethod validate(value: Any) → Model
      Parameters

        value (Any) –

      Return type

        Model

  class Criteria

    Bases: `SingleKeyEvalConfig`

    Configuration for a reference-free criteria evaluator.

    Parameters

      - criteria (Optional[CRITERIA_TYPE]) – The criteria to evaluate.

      - llm (Optional[BaseLanguageModel]) – The language model to use for the evaluation chain.

    Create a new model by parsing and validating input data from keyword arguments.

    Raises ValidationError if the input data cannot be parsed to form a valid model.

    param criteria: Optional[Union[Mapping[str, str], Criteria, ConstitutionalPrinciple]] = None
    param evaluator_type: EvaluatorType = EvaluatorType.CRITERIA
    param input_key: Optional[str] = None

      The key from the traced run’s inputs dictionary to use to represent the input. If not provided, it will be inferred automatically.

    param llm: Optional[BaseLanguageModel] = None
    param prediction_key: Optional[str] = None

      The key from the traced run’s outputs dictionary to use to represent the prediction. If not provided, it will be inferred automatically.

    param reference_key: Optional[str] = None

      The key in the dataset run to use as the reference string. If not provided, we will attempt to infer automatically.

    classmethod construct(_fields_set: Optional[SetStr] = None, **values: Any) → Model

      Creates a new model setting __dict__ and __fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed. Behaves as if Config.extra = ‘allow’ was set since it adds all passed values

      Parameters

        - _fields_set (Optional[SetStr]) –

        - values (Any) –

      Return type

        Model

    copy(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, update: Optional[DictStrAny] = None, deep: bool = False) → Model

      Duplicate a model, optionally choose which fields to include, exclude and change.

      Parameters

        - include (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) – fields to include in new model

        - exclude (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) – fields to exclude from new model, as with values this takes precedence over include

        - update (Optional[DictStrAny]) – values to change/add in the new model. Note: the data is not validated before creating the new model: you should trust this data

        - deep (bool) – set to True to make a deep copy of the model

        - self (Model) –

      Returns

        new model instance

      Return type

        Model

    dict(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, by_alias: bool = False, skip_defaults: Optional[bool] = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False) → DictStrAny

      Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

      Parameters

        - include (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

        - exclude (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

        - by_alias (bool) –

        - skip_defaults (Optional[bool]) –

        - exclude_unset (bool) –

        - exclude_defaults (bool) –

        - exclude_none (bool) –

      Return type

        DictStrAny

    classmethod from_orm(obj: Any) → Model
      Parameters

        obj (Any) –

      Return type

        Model

    get_kwargs() → Dict[str, Any]

      Get the keyword arguments for the load_evaluator call.

      Returns

        The keyword arguments for the load_evaluator call.

      Return type

        Dict[str, Any]

    json(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, by_alias: bool = False, skip_defaults: Optional[bool] = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, encoder: Optional[Callable[[Any], Any]] = None, models_as_dict: bool = True, **dumps_kwargs: Any) → unicode

      Generate a JSON representation of the model, include and exclude arguments as per dict().

      encoder is an optional function to supply as default to json.dumps(), other arguments as per json.dumps().

      Parameters

        - include (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

        - exclude (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

        - by_alias (bool) –

        - skip_defaults (Optional[bool]) –

        - exclude_unset (bool) –

        - exclude_defaults (bool) –

        - exclude_none (bool) –

        - encoder (Optional[Callable[[Any], Any]]) –

        - models_as_dict (bool) –

        - dumps_kwargs (Any) –

      Return type

        unicode

    classmethod parse_file(path: Union[str, Path], *, content_type: unicode = None, encoding: unicode = 'utf8', proto: Protocol = None, allow_pickle: bool = False) → Model
      Parameters

        - path (Union[str, Path]) –

        - content_type (unicode) –

        - encoding (unicode) –

        - proto (Protocol) –

        - allow_pickle (bool) –

      Return type

        Model

    classmethod parse_obj(obj: Any) → Model
      Parameters

        obj (Any) –

      Return type

        Model

    classmethod parse_raw(b: Union[str, bytes], *, content_type: unicode = None, encoding: unicode = 'utf8', proto: Protocol = None, allow_pickle: bool = False) → Model
      Parameters

        - b (Union[str, bytes]) –

        - content_type (unicode) –

        - encoding (unicode) –

        - proto (Protocol) –

        - allow_pickle (bool) –

      Return type

        Model

    classmethod schema(by_alias: bool = True, ref_template: unicode = '#/definitions/{model}') → DictStrAny
      Parameters

        - by_alias (bool) –

        - ref_template (unicode) –

      Return type

        DictStrAny

    classmethod schema_json(*, by_alias: bool = True, ref_template: unicode = '#/definitions/{model}', **dumps_kwargs: Any) → unicode
      Parameters

        - by_alias (bool) –

        - ref_template (unicode) –

        - dumps_kwargs (Any) –

      Return type

        unicode

    classmethod update_forward_refs(**localns: Any) → None

      Try to update ForwardRefs on fields based on this Model, globalns and localns.

      Parameters

        localns (Any) –

      Return type

        None

    classmethod validate(value: Any) → Model
      Parameters

        value (Any) –

      Return type

        Model

  class EmbeddingDistance

    Bases: `SingleKeyEvalConfig`

    Configuration for an embedding distance evaluator.

    Parameters

      - embeddings (Optional[Embeddings]) – The embeddings to use for computing the distance.

      - distance_metric (Optional[EmbeddingDistanceEnum]) – The distance metric to use for computing the distance.

    Create a new model by parsing and validating input data from keyword arguments.

    Raises ValidationError if the input data cannot be parsed to form a valid model.

    param distance_metric: Optional[EmbeddingDistance] = None
    param embeddings: Optional[Embeddings] = None
    param evaluator_type: EvaluatorType = EvaluatorType.EMBEDDING_DISTANCE
    param input_key: Optional[str] = None

      The key from the traced run’s inputs dictionary to use to represent the input. If not provided, it will be inferred automatically.

    param prediction_key: Optional[str] = None

      The key from the traced run’s outputs dictionary to use to represent the prediction. If not provided, it will be inferred automatically.

    param reference_key: Optional[str] = None

      The key in the dataset run to use as the reference string. If not provided, we will attempt to infer automatically.

    classmethod construct(_fields_set: Optional[SetStr] = None, **values: Any) → Model

      Creates a new model setting __dict__ and __fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed. Behaves as if Config.extra = ‘allow’ was set since it adds all passed values

      Parameters

        - _fields_set (Optional[SetStr]) –

        - values (Any) –

      Return type

        Model

    copy(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, update: Optional[DictStrAny] = None, deep: bool = False) → Model

      Duplicate a model, optionally choose which fields to include, exclude and change.

      Parameters

        - include (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) – fields to include in new model

        - exclude (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) – fields to exclude from new model, as with values this takes precedence over include

        - update (Optional[DictStrAny]) – values to change/add in the new model. Note: the data is not validated before creating the new model: you should trust this data

        - deep (bool) – set to True to make a deep copy of the model

        - self (Model) –

      Returns

        new model instance

      Return type

        Model

    dict(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, by_alias: bool = False, skip_defaults: Optional[bool] = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False) → DictStrAny

      Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

      Parameters

        - include (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

        - exclude (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

        - by_alias (bool) –

        - skip_defaults (Optional[bool]) –

        - exclude_unset (bool) –

        - exclude_defaults (bool) –

        - exclude_none (bool) –

      Return type

        DictStrAny

    classmethod from_orm(obj: Any) → Model
      Parameters

        obj (Any) –

      Return type

        Model

    get_kwargs() → Dict[str, Any]

      Get the keyword arguments for the load_evaluator call.

      Returns

        The keyword arguments for the load_evaluator call.

      Return type

        Dict[str, Any]

    json(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, by_alias: bool = False, skip_defaults: Optional[bool] = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, encoder: Optional[Callable[[Any], Any]] = None, models_as_dict: bool = True, **dumps_kwargs: Any) → unicode

      Generate a JSON representation of the model, include and exclude arguments as per dict().

      encoder is an optional function to supply as default to json.dumps(), other arguments as per json.dumps().

      Parameters

        - include (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

        - exclude (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

        - by_alias (bool) –

        - skip_defaults (Optional[bool]) –

        - exclude_unset (bool) –

        - exclude_defaults (bool) –

        - exclude_none (bool) –

        - encoder (Optional[Callable[[Any], Any]]) –

        - models_as_dict (bool) –

        - dumps_kwargs (Any) –

      Return type

        unicode

    classmethod parse_file(path: Union[str, Path], *, content_type: unicode = None, encoding: unicode = 'utf8', proto: Protocol = None, allow_pickle: bool = False) → Model
      Parameters

        - path (Union[str, Path]) –

        - content_type (unicode) –

        - encoding (unicode) –

        - proto (Protocol) –

        - allow_pickle (bool) –

      Return type

        Model

    classmethod parse_obj(obj: Any) → Model
      Parameters

        obj (Any) –

      Return type

        Model

    classmethod parse_raw(b: Union[str, bytes], *, content_type: unicode = None, encoding: unicode = 'utf8', proto: Protocol = None, allow_pickle: bool = False) → Model
      Parameters

        - b (Union[str, bytes]) –

        - content_type (unicode) –

        - encoding (unicode) –

        - proto (Protocol) –

        - allow_pickle (bool) –

      Return type

        Model

    classmethod schema(by_alias: bool = True, ref_template: unicode = '#/definitions/{model}') → DictStrAny
      Parameters

        - by_alias (bool) –

        - ref_template (unicode) –

      Return type

        DictStrAny

    classmethod schema_json(*, by_alias: bool = True, ref_template: unicode = '#/definitions/{model}', **dumps_kwargs: Any) → unicode
      Parameters

        - by_alias (bool) –

        - ref_template (unicode) –

        - dumps_kwargs (Any) –

      Return type

        unicode

    classmethod update_forward_refs(**localns: Any) → None

      Try to update ForwardRefs on fields based on this Model, globalns and localns.

      Parameters

        localns (Any) –

      Return type

        None

    classmethod validate(value: Any) → Model
      Parameters

        value (Any) –

      Return type

        Model

  class ExactMatch

    Bases: `SingleKeyEvalConfig`

    Configuration for an exact match string evaluator.

    Parameters

      - ignore_case (bool) – Whether to ignore case when comparing strings.

      - ignore_punctuation (bool) – Whether to ignore punctuation when comparing strings.

      - ignore_numbers (bool) – Whether to ignore numbers when comparing strings.

    Create a new model by parsing and validating input data from keyword arguments.

    Raises ValidationError if the input data cannot be parsed to form a valid model.

    param evaluator_type: EvaluatorType = EvaluatorType.EXACT_MATCH
    param ignore_case: bool = False
    param ignore_numbers: bool = False
    param ignore_punctuation: bool = False
    param input_key: Optional[str] = None

      The key from the traced run’s inputs dictionary to use to represent the input. If not provided, it will be inferred automatically.

    param prediction_key: Optional[str] = None

      The key from the traced run’s outputs dictionary to use to represent the prediction. If not provided, it will be inferred automatically.

    param reference_key: Optional[str] = None

      The key in the dataset run to use as the reference string. If not provided, we will attempt to infer automatically.

    classmethod construct(_fields_set: Optional[SetStr] = None, **values: Any) → Model

      Creates a new model setting __dict__ and __fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed. Behaves as if Config.extra = ‘allow’ was set since it adds all passed values

      Parameters

        - _fields_set (Optional[SetStr]) –

        - values (Any) –

      Return type

        Model

    copy(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, update: Optional[DictStrAny] = None, deep: bool = False) → Model

      Duplicate a model, optionally choose which fields to include, exclude and change.

      Parameters

        - include (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) – fields to include in new model

        - exclude (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) – fields to exclude from new model, as with values this takes precedence over include

        - update (Optional[DictStrAny]) – values to change/add in the new model. Note: the data is not validated before creating the new model: you should trust this data

        - deep (bool) – set to True to make a deep copy of the model

        - self (Model) –

      Returns

        new model instance

      Return type

        Model

    dict(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, by_alias: bool = False, skip_defaults: Optional[bool] = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False) → DictStrAny

      Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

      Parameters

        - include (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

        - exclude (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

        - by_alias (bool) –

        - skip_defaults (Optional[bool]) –

        - exclude_unset (bool) –

        - exclude_defaults (bool) –

        - exclude_none (bool) –

      Return type

        DictStrAny

    classmethod from_orm(obj: Any) → Model
      Parameters

        obj (Any) –

      Return type

        Model

    get_kwargs() → Dict[str, Any]

      Get the keyword arguments for the load_evaluator call.

      Returns

        The keyword arguments for the load_evaluator call.

      Return type

        Dict[str, Any]

    json(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, by_alias: bool = False, skip_defaults: Optional[bool] = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, encoder: Optional[Callable[[Any], Any]] = None, models_as_dict: bool = True, **dumps_kwargs: Any) → unicode

      Generate a JSON representation of the model, include and exclude arguments as per dict().

      encoder is an optional function to supply as default to json.dumps(), other arguments as per json.dumps().

      Parameters

        - include (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

        - exclude (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

        - by_alias (bool) –

        - skip_defaults (Optional[bool]) –

        - exclude_unset (bool) –

        - exclude_defaults (bool) –

        - exclude_none (bool) –

        - encoder (Optional[Callable[[Any], Any]]) –

        - models_as_dict (bool) –

        - dumps_kwargs (Any) –

      Return type

        unicode

    classmethod parse_file(path: Union[str, Path], *, content_type: unicode = None, encoding: unicode = 'utf8', proto: Protocol = None, allow_pickle: bool = False) → Model
      Parameters

        - path (Union[str, Path]) –

        - content_type (unicode) –

        - encoding (unicode) –

        - proto (Protocol) –

        - allow_pickle (bool) –

      Return type

        Model

    classmethod parse_obj(obj: Any) → Model
      Parameters

        obj (Any) –

      Return type

        Model

    classmethod parse_raw(b: Union[str, bytes], *, content_type: unicode = None, encoding: unicode = 'utf8', proto: Protocol = None, allow_pickle: bool = False) → Model
      Parameters

        - b (Union[str, bytes]) –

        - content_type (unicode) –

        - encoding (unicode) –

        - proto (Protocol) –

        - allow_pickle (bool) –

      Return type

        Model

    classmethod schema(by_alias: bool = True, ref_template: unicode = '#/definitions/{model}') → DictStrAny
      Parameters

        - by_alias (bool) –

        - ref_template (unicode) –

      Return type

        DictStrAny

    classmethod schema_json(*, by_alias: bool = True, ref_template: unicode = '#/definitions/{model}', **dumps_kwargs: Any) → unicode
      Parameters

        - by_alias (bool) –

        - ref_template (unicode) –

        - dumps_kwargs (Any) –

      Return type

        unicode

    classmethod update_forward_refs(**localns: Any) → None

      Try to update ForwardRefs on fields based on this Model, globalns and localns.

      Parameters

        localns (Any) –

      Return type

        None

    classmethod validate(value: Any) → Model
      Parameters

        value (Any) –

      Return type

        Model

  class JsonEqualityEvaluator

    Bases: `EvalConfig`

    Configuration for a json equality evaluator.

    Create a new model by parsing and validating input data from keyword arguments.

    Raises ValidationError if the input data cannot be parsed to form a valid model.

    param evaluator_type: EvaluatorType = EvaluatorType.JSON_EQUALITY
    classmethod construct(_fields_set: Optional[SetStr] = None, **values: Any) → Model

      Creates a new model setting __dict__ and __fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed. Behaves as if Config.extra = ‘allow’ was set since it adds all passed values

      Parameters

        - _fields_set (Optional[SetStr]) –

        - values (Any) –

      Return type

        Model

    copy(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, update: Optional[DictStrAny] = None, deep: bool = False) → Model

      Duplicate a model, optionally choose which fields to include, exclude and change.

      Parameters

        - include (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) – fields to include in new model

        - exclude (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) – fields to exclude from new model, as with values this takes precedence over include

        - update (Optional[DictStrAny]) – values to change/add in the new model. Note: the data is not validated before creating the new model: you should trust this data

        - deep (bool) – set to True to make a deep copy of the model

        - self (Model) –

      Returns

        new model instance

      Return type

        Model

    dict(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, by_alias: bool = False, skip_defaults: Optional[bool] = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False) → DictStrAny

      Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

      Parameters

        - include (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

        - exclude (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

        - by_alias (bool) –

        - skip_defaults (Optional[bool]) –

        - exclude_unset (bool) –

        - exclude_defaults (bool) –

        - exclude_none (bool) –

      Return type

        DictStrAny

    classmethod from_orm(obj: Any) → Model
      Parameters

        obj (Any) –

      Return type

        Model

    get_kwargs() → Dict[str, Any]

      Get the keyword arguments for the load_evaluator call.

      Returns

        The keyword arguments for the load_evaluator call.

      Return type

        Dict[str, Any]

    json(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, by_alias: bool = False, skip_defaults: Optional[bool] = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, encoder: Optional[Callable[[Any], Any]] = None, models_as_dict: bool = True, **dumps_kwargs: Any) → unicode

      Generate a JSON representation of the model, include and exclude arguments as per dict().

      encoder is an optional function to supply as default to json.dumps(), other arguments as per json.dumps().

      Parameters

        - include (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

        - exclude (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

        - by_alias (bool) –

        - skip_defaults (Optional[bool]) –

        - exclude_unset (bool) –

        - exclude_defaults (bool) –

        - exclude_none (bool) –

        - encoder (Optional[Callable[[Any], Any]]) –

        - models_as_dict (bool) –

        - dumps_kwargs (Any) –

      Return type

        unicode

    classmethod parse_file(path: Union[str, Path], *, content_type: unicode = None, encoding: unicode = 'utf8', proto: Protocol = None, allow_pickle: bool = False) → Model
      Parameters

        - path (Union[str, Path]) –

        - content_type (unicode) –

        - encoding (unicode) –

        - proto (Protocol) –

        - allow_pickle (bool) –

      Return type

        Model

    classmethod parse_obj(obj: Any) → Model
      Parameters

        obj (Any) –

      Return type

        Model

    classmethod parse_raw(b: Union[str, bytes], *, content_type: unicode = None, encoding: unicode = 'utf8', proto: Protocol = None, allow_pickle: bool = False) → Model
      Parameters

        - b (Union[str, bytes]) –

        - content_type (unicode) –

        - encoding (unicode) –

        - proto (Protocol) –

        - allow_pickle (bool) –

      Return type

        Model

    classmethod schema(by_alias: bool = True, ref_template: unicode = '#/definitions/{model}') → DictStrAny
      Parameters

        - by_alias (bool) –

        - ref_template (unicode) –

      Return type

        DictStrAny

    classmethod schema_json(*, by_alias: bool = True, ref_template: unicode = '#/definitions/{model}', **dumps_kwargs: Any) → unicode
      Parameters

        - by_alias (bool) –

        - ref_template (unicode) –

        - dumps_kwargs (Any) –

      Return type

        unicode

    classmethod update_forward_refs(**localns: Any) → None

      Try to update ForwardRefs on fields based on this Model, globalns and localns.

      Parameters

        localns (Any) –

      Return type

        None

    classmethod validate(value: Any) → Model
      Parameters

        value (Any) –

      Return type

        Model

  class JsonValidity

    Bases: `SingleKeyEvalConfig`

    Configuration for a json validity evaluator.

    Create a new model by parsing and validating input data from keyword arguments.

    Raises ValidationError if the input data cannot be parsed to form a valid model.

    param evaluator_type: EvaluatorType = EvaluatorType.JSON_VALIDITY
    param input_key: Optional[str] = None

      The key from the traced run’s inputs dictionary to use to represent the input. If not provided, it will be inferred automatically.

    param prediction_key: Optional[str] = None

      The key from the traced run’s outputs dictionary to use to represent the prediction. If not provided, it will be inferred automatically.

    param reference_key: Optional[str] = None

      The key in the dataset run to use as the reference string. If not provided, we will attempt to infer automatically.

    classmethod construct(_fields_set: Optional[SetStr] = None, **values: Any) → Model

      Creates a new model setting __dict__ and __fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed. Behaves as if Config.extra = ‘allow’ was set since it adds all passed values

      Parameters

        - _fields_set (Optional[SetStr]) –

        - values (Any) –

      Return type

        Model

    copy(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, update: Optional[DictStrAny] = None, deep: bool = False) → Model

      Duplicate a model, optionally choose which fields to include, exclude and change.

      Parameters

        - include (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) – fields to include in new model

        - exclude (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) – fields to exclude from new model, as with values this takes precedence over include

        - update (Optional[DictStrAny]) – values to change/add in the new model. Note: the data is not validated before creating the new model: you should trust this data

        - deep (bool) – set to True to make a deep copy of the model

        - self (Model) –

      Returns

        new model instance

      Return type

        Model

    dict(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, by_alias: bool = False, skip_defaults: Optional[bool] = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False) → DictStrAny

      Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

      Parameters

        - include (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

        - exclude (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

        - by_alias (bool) –

        - skip_defaults (Optional[bool]) –

        - exclude_unset (bool) –

        - exclude_defaults (bool) –

        - exclude_none (bool) –

      Return type

        DictStrAny

    classmethod from_orm(obj: Any) → Model
      Parameters

        obj (Any) –

      Return type

        Model

    get_kwargs() → Dict[str, Any]

      Get the keyword arguments for the load_evaluator call.

      Returns

        The keyword arguments for the load_evaluator call.

      Return type

        Dict[str, Any]

    json(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, by_alias: bool = False, skip_defaults: Optional[bool] = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, encoder: Optional[Callable[[Any], Any]] = None, models_as_dict: bool = True, **dumps_kwargs: Any) → unicode

      Generate a JSON representation of the model, include and exclude arguments as per dict().

      encoder is an optional function to supply as default to json.dumps(), other arguments as per json.dumps().

      Parameters

        - include (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

        - exclude (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

        - by_alias (bool) –

        - skip_defaults (Optional[bool]) –

        - exclude_unset (bool) –

        - exclude_defaults (bool) –

        - exclude_none (bool) –

        - encoder (Optional[Callable[[Any], Any]]) –

        - models_as_dict (bool) –

        - dumps_kwargs (Any) –

      Return type

        unicode

    classmethod parse_file(path: Union[str, Path], *, content_type: unicode = None, encoding: unicode = 'utf8', proto: Protocol = None, allow_pickle: bool = False) → Model
      Parameters

        - path (Union[str, Path]) –

        - content_type (unicode) –

        - encoding (unicode) –

        - proto (Protocol) –

        - allow_pickle (bool) –

      Return type

        Model

    classmethod parse_obj(obj: Any) → Model
      Parameters

        obj (Any) –

      Return type

        Model

    classmethod parse_raw(b: Union[str, bytes], *, content_type: unicode = None, encoding: unicode = 'utf8', proto: Protocol = None, allow_pickle: bool = False) → Model
      Parameters

        - b (Union[str, bytes]) –

        - content_type (unicode) –

        - encoding (unicode) –

        - proto (Protocol) –

        - allow_pickle (bool) –

      Return type

        Model

    classmethod schema(by_alias: bool = True, ref_template: unicode = '#/definitions/{model}') → DictStrAny
      Parameters

        - by_alias (bool) –

        - ref_template (unicode) –

      Return type

        DictStrAny

    classmethod schema_json(*, by_alias: bool = True, ref_template: unicode = '#/definitions/{model}', **dumps_kwargs: Any) → unicode
      Parameters

        - by_alias (bool) –

        - ref_template (unicode) –

        - dumps_kwargs (Any) –

      Return type

        unicode

    classmethod update_forward_refs(**localns: Any) → None

      Try to update ForwardRefs on fields based on this Model, globalns and localns.

      Parameters

        localns (Any) –

      Return type

        None

    classmethod validate(value: Any) → Model
      Parameters

        value (Any) –

      Return type

        Model

  class LabeledCriteria

    Bases: `SingleKeyEvalConfig`

    Configuration for a labeled (with references) criteria evaluator.

    Parameters

      - criteria (Optional[CRITERIA_TYPE]) – The criteria to evaluate.

      - llm (Optional[BaseLanguageModel]) – The language model to use for the evaluation chain.

    Create a new model by parsing and validating input data from keyword arguments.

    Raises ValidationError if the input data cannot be parsed to form a valid model.

    param criteria: Optional[Union[Mapping[str, str], Criteria, ConstitutionalPrinciple]] = None
    param evaluator_type: EvaluatorType = EvaluatorType.LABELED_CRITERIA
    param input_key: Optional[str] = None

      The key from the traced run’s inputs dictionary to use to represent the input. If not provided, it will be inferred automatically.

    param llm: Optional[BaseLanguageModel] = None
    param prediction_key: Optional[str] = None

      The key from the traced run’s outputs dictionary to use to represent the prediction. If not provided, it will be inferred automatically.

    param reference_key: Optional[str] = None

      The key in the dataset run to use as the reference string. If not provided, we will attempt to infer automatically.

    classmethod construct(_fields_set: Optional[SetStr] = None, **values: Any) → Model

      Creates a new model setting __dict__ and __fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed. Behaves as if Config.extra = ‘allow’ was set since it adds all passed values

      Parameters

        - _fields_set (Optional[SetStr]) –

        - values (Any) –

      Return type

        Model

    copy(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, update: Optional[DictStrAny] = None, deep: bool = False) → Model

      Duplicate a model, optionally choose which fields to include, exclude and change.

      Parameters

        - include (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) – fields to include in new model

        - exclude (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) – fields to exclude from new model, as with values this takes precedence over include

        - update (Optional[DictStrAny]) – values to change/add in the new model. Note: the data is not validated before creating the new model: you should trust this data

        - deep (bool) – set to True to make a deep copy of the model

        - self (Model) –

      Returns

        new model instance

      Return type

        Model

    dict(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, by_alias: bool = False, skip_defaults: Optional[bool] = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False) → DictStrAny

      Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

      Parameters

        - include (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

        - exclude (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

        - by_alias (bool) –

        - skip_defaults (Optional[bool]) –

        - exclude_unset (bool) –

        - exclude_defaults (bool) –

        - exclude_none (bool) –

      Return type

        DictStrAny

    classmethod from_orm(obj: Any) → Model
      Parameters

        obj (Any) –

      Return type

        Model

    get_kwargs() → Dict[str, Any]

      Get the keyword arguments for the load_evaluator call.

      Returns

        The keyword arguments for the load_evaluator call.

      Return type

        Dict[str, Any]

    json(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, by_alias: bool = False, skip_defaults: Optional[bool] = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, encoder: Optional[Callable[[Any], Any]] = None, models_as_dict: bool = True, **dumps_kwargs: Any) → unicode

      Generate a JSON representation of the model, include and exclude arguments as per dict().

      encoder is an optional function to supply as default to json.dumps(), other arguments as per json.dumps().

      Parameters

        - include (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

        - exclude (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

        - by_alias (bool) –

        - skip_defaults (Optional[bool]) –

        - exclude_unset (bool) –

        - exclude_defaults (bool) –

        - exclude_none (bool) –

        - encoder (Optional[Callable[[Any], Any]]) –

        - models_as_dict (bool) –

        - dumps_kwargs (Any) –

      Return type

        unicode

    classmethod parse_file(path: Union[str, Path], *, content_type: unicode = None, encoding: unicode = 'utf8', proto: Protocol = None, allow_pickle: bool = False) → Model
      Parameters

        - path (Union[str, Path]) –

        - content_type (unicode) –

        - encoding (unicode) –

        - proto (Protocol) –

        - allow_pickle (bool) –

      Return type

        Model

    classmethod parse_obj(obj: Any) → Model
      Parameters

        obj (Any) –

      Return type

        Model

    classmethod parse_raw(b: Union[str, bytes], *, content_type: unicode = None, encoding: unicode = 'utf8', proto: Protocol = None, allow_pickle: bool = False) → Model
      Parameters

        - b (Union[str, bytes]) –

        - content_type (unicode) –

        - encoding (unicode) –

        - proto (Protocol) –

        - allow_pickle (bool) –

      Return type

        Model

    classmethod schema(by_alias: bool = True, ref_template: unicode = '#/definitions/{model}') → DictStrAny
      Parameters

        - by_alias (bool) –

        - ref_template (unicode) –

      Return type

        DictStrAny

    classmethod schema_json(*, by_alias: bool = True, ref_template: unicode = '#/definitions/{model}', **dumps_kwargs: Any) → unicode
      Parameters

        - by_alias (bool) –

        - ref_template (unicode) –

        - dumps_kwargs (Any) –

      Return type

        unicode

    classmethod update_forward_refs(**localns: Any) → None

      Try to update ForwardRefs on fields based on this Model, globalns and localns.

      Parameters

        localns (Any) –

      Return type

        None

    classmethod validate(value: Any) → Model
      Parameters

        value (Any) –

      Return type

        Model

  class LabeledScoreString

    Bases: `ScoreString`

    Create a new model by parsing and validating input data from keyword arguments.

    Raises ValidationError if the input data cannot be parsed to form a valid model.

    param criteria: Optional[Union[Mapping[str, str], Criteria, ConstitutionalPrinciple]] = None
    param evaluator_type: EvaluatorType = EvaluatorType.LABELED_SCORE_STRING
    param input_key: Optional[str] = None

      The key from the traced run’s inputs dictionary to use to represent the input. If not provided, it will be inferred automatically.

    param llm: Optional[BaseLanguageModel] = None
    param normalize_by: Optional[float] = None
    param prediction_key: Optional[str] = None

      The key from the traced run’s outputs dictionary to use to represent the prediction. If not provided, it will be inferred automatically.

    param prompt: Optional[BasePromptTemplate] = None
    param reference_key: Optional[str] = None

      The key in the dataset run to use as the reference string. If not provided, we will attempt to infer automatically.

    classmethod construct(_fields_set: Optional[SetStr] = None, **values: Any) → Model

      Creates a new model setting __dict__ and __fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed. Behaves as if Config.extra = ‘allow’ was set since it adds all passed values

      Parameters

        - _fields_set (Optional[SetStr]) –

        - values (Any) –

      Return type

        Model

    copy(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, update: Optional[DictStrAny] = None, deep: bool = False) → Model

      Duplicate a model, optionally choose which fields to include, exclude and change.

      Parameters

        - include (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) – fields to include in new model

        - exclude (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) – fields to exclude from new model, as with values this takes precedence over include

        - update (Optional[DictStrAny]) – values to change/add in the new model. Note: the data is not validated before creating the new model: you should trust this data

        - deep (bool) – set to True to make a deep copy of the model

        - self (Model) –

      Returns

        new model instance

      Return type

        Model

    dict(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, by_alias: bool = False, skip_defaults: Optional[bool] = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False) → DictStrAny

      Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

      Parameters

        - include (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

        - exclude (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

        - by_alias (bool) –

        - skip_defaults (Optional[bool]) –

        - exclude_unset (bool) –

        - exclude_defaults (bool) –

        - exclude_none (bool) –

      Return type

        DictStrAny

    classmethod from_orm(obj: Any) → Model
      Parameters

        obj (Any) –

      Return type

        Model

    get_kwargs() → Dict[str, Any]

      Get the keyword arguments for the load_evaluator call.

      Returns

        The keyword arguments for the load_evaluator call.

      Return type

        Dict[str, Any]

    json(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, by_alias: bool = False, skip_defaults: Optional[bool] = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, encoder: Optional[Callable[[Any], Any]] = None, models_as_dict: bool = True, **dumps_kwargs: Any) → unicode

      Generate a JSON representation of the model, include and exclude arguments as per dict().

      encoder is an optional function to supply as default to json.dumps(), other arguments as per json.dumps().

      Parameters

        - include (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

        - exclude (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

        - by_alias (bool) –

        - skip_defaults (Optional[bool]) –

        - exclude_unset (bool) –

        - exclude_defaults (bool) –

        - exclude_none (bool) –

        - encoder (Optional[Callable[[Any], Any]]) –

        - models_as_dict (bool) –

        - dumps_kwargs (Any) –

      Return type

        unicode

    classmethod parse_file(path: Union[str, Path], *, content_type: unicode = None, encoding: unicode = 'utf8', proto: Protocol = None, allow_pickle: bool = False) → Model
      Parameters

        - path (Union[str, Path]) –

        - content_type (unicode) –

        - encoding (unicode) –

        - proto (Protocol) –

        - allow_pickle (bool) –

      Return type

        Model

    classmethod parse_obj(obj: Any) → Model
      Parameters

        obj (Any) –

      Return type

        Model

    classmethod parse_raw(b: Union[str, bytes], *, content_type: unicode = None, encoding: unicode = 'utf8', proto: Protocol = None, allow_pickle: bool = False) → Model
      Parameters

        - b (Union[str, bytes]) –

        - content_type (unicode) –

        - encoding (unicode) –

        - proto (Protocol) –

        - allow_pickle (bool) –

      Return type

        Model

    classmethod schema(by_alias: bool = True, ref_template: unicode = '#/definitions/{model}') → DictStrAny
      Parameters

        - by_alias (bool) –

        - ref_template (unicode) –

      Return type

        DictStrAny

    classmethod schema_json(*, by_alias: bool = True, ref_template: unicode = '#/definitions/{model}', **dumps_kwargs: Any) → unicode
      Parameters

        - by_alias (bool) –

        - ref_template (unicode) –

        - dumps_kwargs (Any) –

      Return type

        unicode

    classmethod update_forward_refs(**localns: Any) → None

      Try to update ForwardRefs on fields based on this Model, globalns and localns.

      Parameters

        localns (Any) –

      Return type

        None

    classmethod validate(value: Any) → Model
      Parameters

        value (Any) –

      Return type

        Model

  class QA

    Bases: `SingleKeyEvalConfig`

    Configuration for a QA evaluator.

    Parameters

      - prompt (Optional[BasePromptTemplate]) – The prompt template to use for generating the question.

      - llm (Optional[BaseLanguageModel]) – The language model to use for the evaluation chain.

    Create a new model by parsing and validating input data from keyword arguments.

    Raises ValidationError if the input data cannot be parsed to form a valid model.

    param evaluator_type: EvaluatorType = EvaluatorType.QA
    param input_key: Optional[str] = None

      The key from the traced run’s inputs dictionary to use to represent the input. If not provided, it will be inferred automatically.

    param llm: Optional[BaseLanguageModel] = None
    param prediction_key: Optional[str] = None

      The key from the traced run’s outputs dictionary to use to represent the prediction. If not provided, it will be inferred automatically.

    param prompt: Optional[BasePromptTemplate] = None
    param reference_key: Optional[str] = None

      The key in the dataset run to use as the reference string. If not provided, we will attempt to infer automatically.

    classmethod construct(_fields_set: Optional[SetStr] = None, **values: Any) → Model

      Creates a new model setting __dict__ and __fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed. Behaves as if Config.extra = ‘allow’ was set since it adds all passed values

      Parameters

        - _fields_set (Optional[SetStr]) –

        - values (Any) –

      Return type

        Model

    copy(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, update: Optional[DictStrAny] = None, deep: bool = False) → Model

      Duplicate a model, optionally choose which fields to include, exclude and change.

      Parameters

        - include (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) – fields to include in new model

        - exclude (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) – fields to exclude from new model, as with values this takes precedence over include

        - update (Optional[DictStrAny]) – values to change/add in the new model. Note: the data is not validated before creating the new model: you should trust this data

        - deep (bool) – set to True to make a deep copy of the model

        - self (Model) –

      Returns

        new model instance

      Return type

        Model

    dict(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, by_alias: bool = False, skip_defaults: Optional[bool] = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False) → DictStrAny

      Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

      Parameters

        - include (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

        - exclude (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

        - by_alias (bool) –

        - skip_defaults (Optional[bool]) –

        - exclude_unset (bool) –

        - exclude_defaults (bool) –

        - exclude_none (bool) –

      Return type

        DictStrAny

    classmethod from_orm(obj: Any) → Model
      Parameters

        obj (Any) –

      Return type

        Model

    get_kwargs() → Dict[str, Any]

      Get the keyword arguments for the load_evaluator call.

      Returns

        The keyword arguments for the load_evaluator call.

      Return type

        Dict[str, Any]

    json(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, by_alias: bool = False, skip_defaults: Optional[bool] = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, encoder: Optional[Callable[[Any], Any]] = None, models_as_dict: bool = True, **dumps_kwargs: Any) → unicode

      Generate a JSON representation of the model, include and exclude arguments as per dict().

      encoder is an optional function to supply as default to json.dumps(), other arguments as per json.dumps().

      Parameters

        - include (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

        - exclude (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

        - by_alias (bool) –

        - skip_defaults (Optional[bool]) –

        - exclude_unset (bool) –

        - exclude_defaults (bool) –

        - exclude_none (bool) –

        - encoder (Optional[Callable[[Any], Any]]) –

        - models_as_dict (bool) –

        - dumps_kwargs (Any) –

      Return type

        unicode

    classmethod parse_file(path: Union[str, Path], *, content_type: unicode = None, encoding: unicode = 'utf8', proto: Protocol = None, allow_pickle: bool = False) → Model
      Parameters

        - path (Union[str, Path]) –

        - content_type (unicode) –

        - encoding (unicode) –

        - proto (Protocol) –

        - allow_pickle (bool) –

      Return type

        Model

    classmethod parse_obj(obj: Any) → Model
      Parameters

        obj (Any) –

      Return type

        Model

    classmethod parse_raw(b: Union[str, bytes], *, content_type: unicode = None, encoding: unicode = 'utf8', proto: Protocol = None, allow_pickle: bool = False) → Model
      Parameters

        - b (Union[str, bytes]) –

        - content_type (unicode) –

        - encoding (unicode) –

        - proto (Protocol) –

        - allow_pickle (bool) –

      Return type

        Model

    classmethod schema(by_alias: bool = True, ref_template: unicode = '#/definitions/{model}') → DictStrAny
      Parameters

        - by_alias (bool) –

        - ref_template (unicode) –

      Return type

        DictStrAny

    classmethod schema_json(*, by_alias: bool = True, ref_template: unicode = '#/definitions/{model}', **dumps_kwargs: Any) → unicode
      Parameters

        - by_alias (bool) –

        - ref_template (unicode) –

        - dumps_kwargs (Any) –

      Return type

        unicode

    classmethod update_forward_refs(**localns: Any) → None

      Try to update ForwardRefs on fields based on this Model, globalns and localns.

      Parameters

        localns (Any) –

      Return type

        None

    classmethod validate(value: Any) → Model
      Parameters

        value (Any) –

      Return type

        Model

  class RegexMatch

    Bases: `SingleKeyEvalConfig`

    Configuration for a regex match string evaluator.

    Parameters

      flags (int) – The flags to pass to the regex. Example: re.IGNORECASE.

    Create a new model by parsing and validating input data from keyword arguments.

    Raises ValidationError if the input data cannot be parsed to form a valid model.

    param evaluator_type: EvaluatorType = EvaluatorType.REGEX_MATCH
    param flags: int = 0
    param input_key: Optional[str] = None

      The key from the traced run’s inputs dictionary to use to represent the input. If not provided, it will be inferred automatically.

    param prediction_key: Optional[str] = None

      The key from the traced run’s outputs dictionary to use to represent the prediction. If not provided, it will be inferred automatically.

    param reference_key: Optional[str] = None

      The key in the dataset run to use as the reference string. If not provided, we will attempt to infer automatically.

    classmethod construct(_fields_set: Optional[SetStr] = None, **values: Any) → Model

      Creates a new model setting __dict__ and __fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed. Behaves as if Config.extra = ‘allow’ was set since it adds all passed values

      Parameters

        - _fields_set (Optional[SetStr]) –

        - values (Any) –

      Return type

        Model

    copy(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, update: Optional[DictStrAny] = None, deep: bool = False) → Model

      Duplicate a model, optionally choose which fields to include, exclude and change.

      Parameters

        - include (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) – fields to include in new model

        - exclude (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) – fields to exclude from new model, as with values this takes precedence over include

        - update (Optional[DictStrAny]) – values to change/add in the new model. Note: the data is not validated before creating the new model: you should trust this data

        - deep (bool) – set to True to make a deep copy of the model

        - self (Model) –

      Returns

        new model instance

      Return type

        Model

    dict(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, by_alias: bool = False, skip_defaults: Optional[bool] = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False) → DictStrAny

      Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

      Parameters

        - include (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

        - exclude (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

        - by_alias (bool) –

        - skip_defaults (Optional[bool]) –

        - exclude_unset (bool) –

        - exclude_defaults (bool) –

        - exclude_none (bool) –

      Return type

        DictStrAny

    classmethod from_orm(obj: Any) → Model
      Parameters

        obj (Any) –

      Return type

        Model

    get_kwargs() → Dict[str, Any]

      Get the keyword arguments for the load_evaluator call.

      Returns

        The keyword arguments for the load_evaluator call.

      Return type

        Dict[str, Any]

    json(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, by_alias: bool = False, skip_defaults: Optional[bool] = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, encoder: Optional[Callable[[Any], Any]] = None, models_as_dict: bool = True, **dumps_kwargs: Any) → unicode

      Generate a JSON representation of the model, include and exclude arguments as per dict().

      encoder is an optional function to supply as default to json.dumps(), other arguments as per json.dumps().

      Parameters

        - include (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

        - exclude (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

        - by_alias (bool) –

        - skip_defaults (Optional[bool]) –

        - exclude_unset (bool) –

        - exclude_defaults (bool) –

        - exclude_none (bool) –

        - encoder (Optional[Callable[[Any], Any]]) –

        - models_as_dict (bool) –

        - dumps_kwargs (Any) –

      Return type

        unicode

    classmethod parse_file(path: Union[str, Path], *, content_type: unicode = None, encoding: unicode = 'utf8', proto: Protocol = None, allow_pickle: bool = False) → Model
      Parameters

        - path (Union[str, Path]) –

        - content_type (unicode) –

        - encoding (unicode) –

        - proto (Protocol) –

        - allow_pickle (bool) –

      Return type

        Model

    classmethod parse_obj(obj: Any) → Model
      Parameters

        obj (Any) –

      Return type

        Model

    classmethod parse_raw(b: Union[str, bytes], *, content_type: unicode = None, encoding: unicode = 'utf8', proto: Protocol = None, allow_pickle: bool = False) → Model
      Parameters

        - b (Union[str, bytes]) –

        - content_type (unicode) –

        - encoding (unicode) –

        - proto (Protocol) –

        - allow_pickle (bool) –

      Return type

        Model

    classmethod schema(by_alias: bool = True, ref_template: unicode = '#/definitions/{model}') → DictStrAny
      Parameters

        - by_alias (bool) –

        - ref_template (unicode) –

      Return type

        DictStrAny

    classmethod schema_json(*, by_alias: bool = True, ref_template: unicode = '#/definitions/{model}', **dumps_kwargs: Any) → unicode
      Parameters

        - by_alias (bool) –

        - ref_template (unicode) –

        - dumps_kwargs (Any) –

      Return type

        unicode

    classmethod update_forward_refs(**localns: Any) → None

      Try to update ForwardRefs on fields based on this Model, globalns and localns.

      Parameters

        localns (Any) –

      Return type

        None

    classmethod validate(value: Any) → Model
      Parameters

        value (Any) –

      Return type

        Model

  class ScoreString

    Bases: `SingleKeyEvalConfig`

    Configuration for a score string evaluator. This is like the criteria evaluator but it is configured by default to return a score on the scale from 1-10.

    It is recommended to normalize these scores by setting normalize_by to 10.

    Parameters

      - criteria (Optional[CRITERIA_TYPE]) – The criteria to evaluate.

      - llm (Optional[BaseLanguageModel]) – The language model to use for the evaluation chain.

      - normalize_by (Optional[int] = None) – If you want to normalize the score, the denominator to use. If not provided, the score will be between 1 and 10 (by default).

      - prompt (Optional[BasePromptTemplate]) –

    Create a new model by parsing and validating input data from keyword arguments.

    Raises ValidationError if the input data cannot be parsed to form a valid model.

    param criteria: Optional[Union[Mapping[str, str], Criteria, ConstitutionalPrinciple]] = None
    param evaluator_type: EvaluatorType = EvaluatorType.SCORE_STRING
    param input_key: Optional[str] = None

      The key from the traced run’s inputs dictionary to use to represent the input. If not provided, it will be inferred automatically.

    param llm: Optional[BaseLanguageModel] = None
    param normalize_by: Optional[float] = None
    param prediction_key: Optional[str] = None

      The key from the traced run’s outputs dictionary to use to represent the prediction. If not provided, it will be inferred automatically.

    param prompt: Optional[BasePromptTemplate] = None
    param reference_key: Optional[str] = None

      The key in the dataset run to use as the reference string. If not provided, we will attempt to infer automatically.

    classmethod construct(_fields_set: Optional[SetStr] = None, **values: Any) → Model

      Creates a new model setting __dict__ and __fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed. Behaves as if Config.extra = ‘allow’ was set since it adds all passed values

      Parameters

        - _fields_set (Optional[SetStr]) –

        - values (Any) –

      Return type

        Model

    copy(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, update: Optional[DictStrAny] = None, deep: bool = False) → Model

      Duplicate a model, optionally choose which fields to include, exclude and change.

      Parameters

        - include (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) – fields to include in new model

        - exclude (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) – fields to exclude from new model, as with values this takes precedence over include

        - update (Optional[DictStrAny]) – values to change/add in the new model. Note: the data is not validated before creating the new model: you should trust this data

        - deep (bool) – set to True to make a deep copy of the model

        - self (Model) –

      Returns

        new model instance

      Return type

        Model

    dict(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, by_alias: bool = False, skip_defaults: Optional[bool] = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False) → DictStrAny

      Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

      Parameters

        - include (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

        - exclude (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

        - by_alias (bool) –

        - skip_defaults (Optional[bool]) –

        - exclude_unset (bool) –

        - exclude_defaults (bool) –

        - exclude_none (bool) –

      Return type

        DictStrAny

    classmethod from_orm(obj: Any) → Model
      Parameters

        obj (Any) –

      Return type

        Model

    get_kwargs() → Dict[str, Any]

      Get the keyword arguments for the load_evaluator call.

      Returns

        The keyword arguments for the load_evaluator call.

      Return type

        Dict[str, Any]

    json(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, by_alias: bool = False, skip_defaults: Optional[bool] = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, encoder: Optional[Callable[[Any], Any]] = None, models_as_dict: bool = True, **dumps_kwargs: Any) → unicode

      Generate a JSON representation of the model, include and exclude arguments as per dict().

      encoder is an optional function to supply as default to json.dumps(), other arguments as per json.dumps().

      Parameters

        - include (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

        - exclude (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

        - by_alias (bool) –

        - skip_defaults (Optional[bool]) –

        - exclude_unset (bool) –

        - exclude_defaults (bool) –

        - exclude_none (bool) –

        - encoder (Optional[Callable[[Any], Any]]) –

        - models_as_dict (bool) –

        - dumps_kwargs (Any) –

      Return type

        unicode

    classmethod parse_file(path: Union[str, Path], *, content_type: unicode = None, encoding: unicode = 'utf8', proto: Protocol = None, allow_pickle: bool = False) → Model
      Parameters

        - path (Union[str, Path]) –

        - content_type (unicode) –

        - encoding (unicode) –

        - proto (Protocol) –

        - allow_pickle (bool) –

      Return type

        Model

    classmethod parse_obj(obj: Any) → Model
      Parameters

        obj (Any) –

      Return type

        Model

    classmethod parse_raw(b: Union[str, bytes], *, content_type: unicode = None, encoding: unicode = 'utf8', proto: Protocol = None, allow_pickle: bool = False) → Model
      Parameters

        - b (Union[str, bytes]) –

        - content_type (unicode) –

        - encoding (unicode) –

        - proto (Protocol) –

        - allow_pickle (bool) –

      Return type

        Model

    classmethod schema(by_alias: bool = True, ref_template: unicode = '#/definitions/{model}') → DictStrAny
      Parameters

        - by_alias (bool) –

        - ref_template (unicode) –

      Return type

        DictStrAny

    classmethod schema_json(*, by_alias: bool = True, ref_template: unicode = '#/definitions/{model}', **dumps_kwargs: Any) → unicode
      Parameters

        - by_alias (bool) –

        - ref_template (unicode) –

        - dumps_kwargs (Any) –

      Return type

        unicode

    classmethod update_forward_refs(**localns: Any) → None

      Try to update ForwardRefs on fields based on this Model, globalns and localns.

      Parameters

        localns (Any) –

      Return type

        None

    classmethod validate(value: Any) → Model
      Parameters

        value (Any) –

      Return type

        Model

  class StringDistance

    Bases: `SingleKeyEvalConfig`

    Configuration for a string distance evaluator.

    Parameters

      distance (Optional[StringDistanceEnum]) – The string distance metric to use.

    Create a new model by parsing and validating input data from keyword arguments.

    Raises ValidationError if the input data cannot be parsed to form a valid model.

    param distance: Optional[StringDistance] = None

      The string distance metric to use. damerau_levenshtein: The Damerau-Levenshtein distance. levenshtein: The Levenshtein distance. jaro: The Jaro distance. jaro_winkler: The Jaro-Winkler distance.

    param evaluator_type: EvaluatorType = EvaluatorType.STRING_DISTANCE
    param input_key: Optional[str] = None

      The key from the traced run’s inputs dictionary to use to represent the input. If not provided, it will be inferred automatically.

    param normalize_score: bool = True

      Whether to normalize the distance to between 0 and 1. Applies only to the Levenshtein and Damerau-Levenshtein distances.

    param prediction_key: Optional[str] = None

      The key from the traced run’s outputs dictionary to use to represent the prediction. If not provided, it will be inferred automatically.

    param reference_key: Optional[str] = None

      The key in the dataset run to use as the reference string. If not provided, we will attempt to infer automatically.

    classmethod construct(_fields_set: Optional[SetStr] = None, **values: Any) → Model

      Creates a new model setting __dict__ and __fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed. Behaves as if Config.extra = ‘allow’ was set since it adds all passed values

      Parameters

        - _fields_set (Optional[SetStr]) –

        - values (Any) –

      Return type

        Model

    copy(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, update: Optional[DictStrAny] = None, deep: bool = False) → Model

      Duplicate a model, optionally choose which fields to include, exclude and change.

      Parameters

        - include (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) – fields to include in new model

        - exclude (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) – fields to exclude from new model, as with values this takes precedence over include

        - update (Optional[DictStrAny]) – values to change/add in the new model. Note: the data is not validated before creating the new model: you should trust this data

        - deep (bool) – set to True to make a deep copy of the model

        - self (Model) –

      Returns

        new model instance

      Return type

        Model

    dict(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, by_alias: bool = False, skip_defaults: Optional[bool] = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False) → DictStrAny

      Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

      Parameters

        - include (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

        - exclude (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

        - by_alias (bool) –

        - skip_defaults (Optional[bool]) –

        - exclude_unset (bool) –

        - exclude_defaults (bool) –

        - exclude_none (bool) –

      Return type

        DictStrAny

    classmethod from_orm(obj: Any) → Model
      Parameters

        obj (Any) –

      Return type

        Model

    get_kwargs() → Dict[str, Any]

      Get the keyword arguments for the load_evaluator call.

      Returns

        The keyword arguments for the load_evaluator call.

      Return type

        Dict[str, Any]

    json(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, by_alias: bool = False, skip_defaults: Optional[bool] = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, encoder: Optional[Callable[[Any], Any]] = None, models_as_dict: bool = True, **dumps_kwargs: Any) → unicode

      Generate a JSON representation of the model, include and exclude arguments as per dict().

      encoder is an optional function to supply as default to json.dumps(), other arguments as per json.dumps().

      Parameters

        - include (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

        - exclude (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

        - by_alias (bool) –

        - skip_defaults (Optional[bool]) –

        - exclude_unset (bool) –

        - exclude_defaults (bool) –

        - exclude_none (bool) –

        - encoder (Optional[Callable[[Any], Any]]) –

        - models_as_dict (bool) –

        - dumps_kwargs (Any) –

      Return type

        unicode

    classmethod parse_file(path: Union[str, Path], *, content_type: unicode = None, encoding: unicode = 'utf8', proto: Protocol = None, allow_pickle: bool = False) → Model
      Parameters

        - path (Union[str, Path]) –

        - content_type (unicode) –

        - encoding (unicode) –

        - proto (Protocol) –

        - allow_pickle (bool) –

      Return type

        Model

    classmethod parse_obj(obj: Any) → Model
      Parameters

        obj (Any) –

      Return type

        Model

    classmethod parse_raw(b: Union[str, bytes], *, content_type: unicode = None, encoding: unicode = 'utf8', proto: Protocol = None, allow_pickle: bool = False) → Model
      Parameters

        - b (Union[str, bytes]) –

        - content_type (unicode) –

        - encoding (unicode) –

        - proto (Protocol) –

        - allow_pickle (bool) –

      Return type

        Model

    classmethod schema(by_alias: bool = True, ref_template: unicode = '#/definitions/{model}') → DictStrAny
      Parameters

        - by_alias (bool) –

        - ref_template (unicode) –

      Return type

        DictStrAny

    classmethod schema_json(*, by_alias: bool = True, ref_template: unicode = '#/definitions/{model}', **dumps_kwargs: Any) → unicode
      Parameters

        - by_alias (bool) –

        - ref_template (unicode) –

        - dumps_kwargs (Any) –

      Return type

        unicode

    classmethod update_forward_refs(**localns: Any) → None

      Try to update ForwardRefs on fields based on this Model, globalns and localns.

      Parameters

        localns (Any) –

      Return type

        None

    classmethod validate(value: Any) → Model
      Parameters

        value (Any) –

      Return type

        Model

  classmethod construct(_fields_set: Optional[SetStr] = None, **values: Any) → Model

    Creates a new model setting __dict__ and __fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed. Behaves as if Config.extra = ‘allow’ was set since it adds all passed values

    Parameters

      - _fields_set (Optional[SetStr]) –

      - values (Any) –

    Return type

      Model

  copy(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, update: Optional[DictStrAny] = None, deep: bool = False) → Model

    Duplicate a model, optionally choose which fields to include, exclude and change.

    Parameters

      - include (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) – fields to include in new model

      - exclude (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) – fields to exclude from new model, as with values this takes precedence over include

      - update (Optional[DictStrAny]) – values to change/add in the new model. Note: the data is not validated before creating the new model: you should trust this data

      - deep (bool) – set to True to make a deep copy of the model

      - self (Model) –

    Returns

      new model instance

    Return type

      Model

  dict(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, by_alias: bool = False, skip_defaults: Optional[bool] = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False) → DictStrAny

    Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

    Parameters

      - include (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

      - exclude (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

      - by_alias (bool) –

      - skip_defaults (Optional[bool]) –

      - exclude_unset (bool) –

      - exclude_defaults (bool) –

      - exclude_none (bool) –

    Return type

      DictStrAny

  classmethod from_orm(obj: Any) → Model
    Parameters

      obj (Any) –

    Return type

      Model

  json(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, by_alias: bool = False, skip_defaults: Optional[bool] = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, encoder: Optional[Callable[[Any], Any]] = None, models_as_dict: bool = True, **dumps_kwargs: Any) → unicode

    Generate a JSON representation of the model, include and exclude arguments as per dict().

    encoder is an optional function to supply as default to json.dumps(), other arguments as per json.dumps().

    Parameters

      - include (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

      - exclude (Optional[Union[AbstractSetIntStr, MappingIntStrAny]]) –

      - by_alias (bool) –

      - skip_defaults (Optional[bool]) –

      - exclude_unset (bool) –

      - exclude_defaults (bool) –

      - exclude_none (bool) –

      - encoder (Optional[Callable[[Any], Any]]) –

      - models_as_dict (bool) –

      - dumps_kwargs (Any) –

    Return type

      unicode

  classmethod parse_file(path: Union[str, Path], *, content_type: unicode = None, encoding: unicode = 'utf8', proto: Protocol = None, allow_pickle: bool = False) → Model
    Parameters

      - path (Union[str, Path]) –

      - content_type (unicode) –

      - encoding (unicode) –

      - proto (Protocol) –

      - allow_pickle (bool) –

    Return type

      Model

  classmethod parse_obj(obj: Any) → Model
    Parameters

      obj (Any) –

    Return type

      Model

  classmethod parse_raw(b: Union[str, bytes], *, content_type: unicode = None, encoding: unicode = 'utf8', proto: Protocol = None, allow_pickle: bool = False) → Model
    Parameters

      - b (Union[str, bytes]) –

      - content_type (unicode) –

      - encoding (unicode) –

      - proto (Protocol) –

      - allow_pickle (bool) –

    Return type

      Model

  classmethod schema(by_alias: bool = True, ref_template: unicode = '#/definitions/{model}') → DictStrAny
    Parameters

      - by_alias (bool) –

      - ref_template (unicode) –

    Return type

      DictStrAny

  classmethod schema_json(*, by_alias: bool = True, ref_template: unicode = '#/definitions/{model}', **dumps_kwargs: Any) → unicode
    Parameters

      - by_alias (bool) –

      - ref_template (unicode) –

      - dumps_kwargs (Any) –

    Return type

      unicode

  classmethod update_forward_refs(**localns: Any) → None

    Try to update ForwardRefs on fields based on this Model, globalns and localns.

    Parameters

      localns (Any) –

    Return type

      None

  classmethod validate(value: Any) → Model
    Parameters

      value (Any) –

    Return type

      Model

# Examples using RunEvalConfig

- Used by the agent in this tutorial