- Dynamic Function Wrapping: Converts any callable into an evaluator
- Argument Validation: Validates that provided arguments match function signature
- Smart Result Conversion: Automatically converts various return types to Score
- Error Handling: Gracefully handles function execution and argument errors
- Parameter Flexibility: Supports functions with any parameter signature
Parameters
The callable function to wrap as an evaluator.
Optional custom name for the score. If not provided,
uses the function name.
Example
property name
score()
Execute the wrapped function and convert result to Score. Calls the wrapped function with the provided arguments and converts the result to a Score object. Validates that the provided arguments match the function’s signature.Parameters
Positional arguments to pass to the wrapped function.
Keyword arguments to pass to the wrapped function.
Only kwargs that match the function’s parameters are used.
Returns
A Score object representing the function’s evaluation result.
Raises
TypeError – If the provided arguments don’t match the function signature.The function result is converted to a Score as follows:
- bool: 1.0 for True, 0.0 for False
- int/float: Direct value conversion
- Score: Returns as-is