@arizeai/phoenix-evals
Version:
A library for running evaluations for AI use cases
23 lines • 1.05 kB
JavaScript
import { createEvaluator } from "../helpers/createEvaluator.js";
import { computePrecisionRecallFScore, } from "./classificationMetrics.js";
/**
* 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.
*/
export function createClassificationMetricEvaluator(name, field, options, compute = computePrecisionRecallFScore) {
return 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