@prism-lang/confidence
Version:
Confidence extraction library for Prism - standardized patterns for extracting confidence values from LLMs and other sources
79 lines • 4.61 kB
JavaScript
;
/**
* @prism-lang/confidence - Confidence extraction library for Prism
*
* Provides standardized patterns for extracting confidence values from LLMs and other sources
*/
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.calibrators = exports.confidence = exports.APIConfidenceExtractor = exports.SensorConfidenceExtractor = exports.TemporalConfidence = exports.DifferentialConfidenceManager = exports.ConfidenceContractManager = exports.ConfidenceBudgetManager = exports.ConfidenceEnsemble = exports.InteractiveCalibrator = exports.SecurityCalibrator = exports.DomainCalibrator = exports.ConfidenceExtractor = void 0;
exports.smartExtract = smartExtract;
__exportStar(require("./types"), exports);
__exportStar(require("./extractor"), exports);
__exportStar(require("./calibration"), exports);
__exportStar(require("./ensemble"), exports);
__exportStar(require("./patterns"), exports);
__exportStar(require("./sources"), exports);
// Re-export main classes for convenience
var extractor_1 = require("./extractor");
Object.defineProperty(exports, "ConfidenceExtractor", { enumerable: true, get: function () { return extractor_1.ConfidenceExtractor; } });
var calibration_1 = require("./calibration");
Object.defineProperty(exports, "DomainCalibrator", { enumerable: true, get: function () { return calibration_1.DomainCalibrator; } });
Object.defineProperty(exports, "SecurityCalibrator", { enumerable: true, get: function () { return calibration_1.SecurityCalibrator; } });
Object.defineProperty(exports, "InteractiveCalibrator", { enumerable: true, get: function () { return calibration_1.InteractiveCalibrator; } });
var ensemble_1 = require("./ensemble");
Object.defineProperty(exports, "ConfidenceEnsemble", { enumerable: true, get: function () { return ensemble_1.ConfidenceEnsemble; } });
var patterns_1 = require("./patterns");
Object.defineProperty(exports, "ConfidenceBudgetManager", { enumerable: true, get: function () { return patterns_1.ConfidenceBudgetManager; } });
Object.defineProperty(exports, "ConfidenceContractManager", { enumerable: true, get: function () { return patterns_1.ConfidenceContractManager; } });
Object.defineProperty(exports, "DifferentialConfidenceManager", { enumerable: true, get: function () { return patterns_1.DifferentialConfidenceManager; } });
Object.defineProperty(exports, "TemporalConfidence", { enumerable: true, get: function () { return patterns_1.TemporalConfidence; } });
var sources_1 = require("./sources");
Object.defineProperty(exports, "SensorConfidenceExtractor", { enumerable: true, get: function () { return sources_1.SensorConfidenceExtractor; } });
Object.defineProperty(exports, "APIConfidenceExtractor", { enumerable: true, get: function () { return sources_1.APIConfidenceExtractor; } });
// Export a default instance for simple usage
const extractor_2 = require("./extractor");
exports.confidence = new extractor_2.ConfidenceExtractor();
// Export pre-configured calibrators
const calibration_2 = require("./calibration");
exports.calibrators = {
security: new calibration_2.SecurityCalibrator()
};
/**
* Smart extract - tries to determine the best extraction method
*/
async function smartExtract(input) {
const extractor = new extractor_2.ConfidenceExtractor();
if (typeof input === 'function') {
// It's a sampler function, use consistency
const result = await extractor.fromConsistency(input);
return result.value;
}
else if (typeof input === 'string') {
// It's a response, analyze it
const result = await extractor.fromResponseAnalysis(input);
return result.value;
}
else if (input && typeof input === 'object' && 'confidence' in input) {
// It already has confidence
return input.confidence;
}
else {
// Default to 0.5 (maximum uncertainty)
return 0.5;
}
}
//# sourceMappingURL=index.js.map