@wavequery/conductor
Version:
Modular LLM orchestration framework
41 lines • 1.41 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SQLEvaluationReporter = void 0;
class SQLEvaluationReporter {
constructor(options) {
this.options = options;
}
generateReport(results) {
const summary = {
totalTests: results.length,
passedTests: results.filter((r) => !r.error).length,
failedTests: results.filter((r) => r.error).length,
averageMetrics: this.calculateAverageMetrics(results),
};
return {
summary,
results,
metadata: {
timestamp: new Date(),
duration: results.reduce((sum, r) => sum + r.duration, 0),
options: this.options,
},
};
}
calculateAverageMetrics(results) {
const metrics = {};
for (const result of results) {
for (const [name, metric] of Object.entries(result.metrics)) {
if (!metrics[name])
metrics[name] = [];
metrics[name].push(metric.value);
}
}
return Object.fromEntries(Object.entries(metrics).map(([name, values]) => [
name,
values.reduce((sum, val) => sum + val, 0) / values.length,
]));
}
}
exports.SQLEvaluationReporter = SQLEvaluationReporter;
//# sourceMappingURL=eval-reporter-example.js.map