Skip to main content

uqa_scoring/
lib.rs

1//
2// Unified Query Algebra
3//
4// Copyright (c) 2023-2026 Cognica, Inc.
5//
6
7//! Relevance scoring: BM25, Lucene-style query-level Bayesian BM25, and
8//! probabilistic Boolean and log-odds combinators.
9
10pub mod bayesian;
11pub mod bayesian_bm25;
12pub mod bayesian_estimator;
13pub mod bm25;
14pub mod calibration;
15pub mod calibration_validation;
16pub mod error;
17pub mod external_prior;
18pub mod fusion_wand;
19pub mod metrics;
20pub mod multi_field;
21pub mod parameter_learner;
22pub mod prob;
23pub mod score_domain;
24pub mod scorer;
25pub mod vector_calibration;
26pub mod vector_score;
27pub mod wand;
28
29pub use bayesian::LegacyCompositePriorTransform;
30pub use bayesian_bm25::{BayesianBM25Params, BayesianBM25Scorer};
31pub use bayesian_estimator::UnsupervisedBm25ScoreEstimator;
32pub use bm25::{BM25Params, BM25Scorer};
33pub use calibration::{
34    CalibrationMetrics, CalibrationReport, ReliabilityBin, VectorProbabilityTransform,
35};
36pub use calibration_validation::{
37    BinaryDecisionMetrics, BootstrapConfig, ConfidenceInterval, HeldOutCalibrationGate,
38    HeldOutCalibrationReport, ThresholdTransferReport,
39};
40pub use error::{ScoringError, ScoringResult};
41pub use external_prior::{authority_prior, recency_prior, ExternalPriorScorer, PriorFn};
42pub use fusion_wand::{ConfidenceScaledPoolWANDScorer, TightenedConfidenceScaledPoolWANDScorer};
43pub use metrics::{average_precision_at_k, dcg_at_k, mean_average_precision_at_k, ndcg_at_k};
44pub use multi_field::{FieldConfig, MultiFieldBayesianScorer};
45pub use parameter_learner::ParameterLearner;
46pub use prob::{
47    confidence_scaled_log_odds_pool, cosine_to_probability, logit, prob_and, prob_not, prob_or,
48    sigmoid, PROB_EPSILON,
49};
50pub use score_domain::{EvidenceLogit, PosteriorProbability, PriorLogit, RawBm25Score};
51pub use scorer::Scorer;
52pub use vector_calibration::{
53    VectorCalibrationModel, VectorCalibrationProvenance, VectorCalibrationStabilityReport,
54    VectorCalibrationTarget, VECTOR_CALIBRATION_MODEL_SCHEMA_VERSION,
55};
56pub use vector_score::VectorScorer;
57pub use wand::{
58    AdaptiveWANDScorer, BlockMaxWANDScorer, BoundTightnessAnalyzer, CursorBlockMaxWANDScorer,
59    CursorWANDQuery, CursorWANDScorer, WANDQuery, WANDResult, WANDScorer, WANDStats,
60};