UNPKG

@arizeai/phoenix-evals

Version:
26 lines 1.25 kB
"use strict"; 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