core
genlm.eval.core
Dataset
Bases: Generic[T]
, ABC
Base class for datasets that yield instances conforming to a Pydantic schema.
Source code in genlm/eval/core/dataset.py
__iter__()
abstractmethod
Iterate over dataset instances.
Returns:
Type | Description |
---|---|
Iterator[T]
|
Iterator[T]: An iterator over instances conforming to schema T. |
schema
abstractmethod
property
Get the Pydantic schema class for this dataset.
Returns:
Type | Description |
---|---|
type[T]
|
type[T]: The Pydantic model class defining the schema. |
Instance
ModelAdaptor
Bases: Protocol
Protocol for async model adapters that process instances into model outputs.
Source code in genlm/eval/core/model.py
__call__(instance, output_dir, replicate)
async
Process an instance and generate model outputs.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
instance
|
Instance
|
Input dataset instance to process |
required |
output_dir
|
str
|
Directory for saving any intermediate results |
required |
replicate
|
int
|
Replicate index for multiple evaluation runs |
required |
Returns:
Type | Description |
---|---|
ModelOutput
|
Model output containing responses and runtime information |
Source code in genlm/eval/core/model.py
ModelOutput
Bases: BaseModel
Collection of model responses with execution metadata.
Source code in genlm/eval/core/model.py
ModelResponse
Bases: BaseModel
Single model response containing generated text, probability, and optional metadata.
Source code in genlm/eval/core/model.py
Evaluator
Bases: Generic[T]
, ABC
Base class for evaluators that handle response evaluation.
Source code in genlm/eval/core/evaluator.py
evaluate_sample(instance, response)
abstractmethod
Evaluate a single response for correctness.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
instance
|
T
|
The dataset instance being evaluated. |
required |
response
|
Any
|
The model's response, which is given by the response attribute of a |
required |
Returns:
Type | Description |
---|---|
EvaluationResult
|
The evaluation result. |
Source code in genlm/eval/core/evaluator.py
evaluate_ensemble(instance, output)
Evaluate the complete ensemble of weighted samples using weighted accuracy.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
instance
|
T
|
The dataset instance being evaluated. |
required |
output
|
ModelOutput
|
The complete model output including ensemble responses. |
required |
Returns:
Type | Description |
---|---|
Dict[str, Any]
|
Dictionary containing evaluation metrics. |
Source code in genlm/eval/core/evaluator.py
EvaluationResult
run_evaluation(dataset, model, evaluator, output_dir=None, n_replicates=1, overwrite_results=False, overwrite_outputs=False, max_instances=float('inf'), verbosity=0)
async
Run evaluation on a dataset using the provided model and evaluator.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
dataset
|
Dataset
|
The dataset to evaluate on. |
required |
model
|
ModelAdaptor
|
The model adaptor to use for generation. |
required |
evaluator
|
Evaluator
|
The evaluator to use for prompt generation and evaluation. |
required |
output_dir
|
str
|
The directory to save the results. Defaults to None, in which case results are not saved. |
None
|
n_replicates
|
int
|
Number of times to replicate the evaluation. Defaults to 1. |
1
|
overwrite_results
|
bool
|
Whether to overwrite existing evaluation results. Defaults to False. |
False
|
overwrite_outputs
|
bool
|
Whether to overwrite existing output. Defaults to False. |
False
|
max_instances
|
int
|
The maximum number of instances to evaluate. Defaults to float("inf"). |
float('inf')
|
verbosity
|
int
|
The verbosity of the evaluation. Defaults to 0, which is silent. |
0
|
Returns:
Type | Description |
---|---|
Dict[str, Any]
|
Aggregated evaluation results. |
Source code in genlm/eval/core/runner.py
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 |
|