@arizeai/phoenix-evals
Version:
A library for running evaluations for AI use cases
26 lines • 1.25 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createClassificationMetricEvaluator = createClassificationMetricEvaluator;
const createEvaluator_1 = require("../helpers/createEvaluator");
const classificationMetrics_1 = require("./classificationMetrics");
/**
* Internal factory shared by `createPrecisionEvaluator`, `createRecallEvaluator`,
* and `createFBetaEvaluator` — each is a thin wrapper that only differs in
* which result field it reads and how its metric name is built.
*/
function createClassificationMetricEvaluator(name, field, options, compute = classificationMetrics_1.computePrecisionRecallFScore) {
return (0, createEvaluator_1.createEvaluator)(
// Pass `example` through by reference (rather than destructuring and
// rebuilding a new object) so callers that share one computed result by
// caching on object identity (e.g. `createPrecisionRecallFScoreEvaluators`)
// actually get a cache hit.
(example) => {
const result = compute(example, options);
return { score: result[field] };
}, {
name,
kind: "CODE",
optimizationDirection: "MAXIMIZE",
});
}
//# sourceMappingURL=createClassificationMetricEvaluator.js.map