pub mod calibration;
pub mod candle_slm;
pub mod hidden_state_speculator;
pub mod hidden_states;
pub mod slm;
pub mod speculative;
pub mod streaming;
pub mod traits;
pub mod verification;
pub use traits::{RuleBasedSpeculator, Speculator, SpeculatorConfig, prompts};
pub use candle_slm::{CandleSlmConfig, CandleSlmDevice, MockSlmSpeculator};
#[cfg(feature = "speculator")]
pub use candle_slm::CandleSLM;
#[cfg(feature = "native")]
pub use streaming::{
StreamingSpeculator, StreamingSpeculatorWrapper, StreamingVerification, VerificationChunk,
};
#[cfg(not(feature = "native"))]
pub use streaming::{StreamingVerification, VerificationChunk};
pub use calibration::{CalibrationMethod, CalibrationStats, ConfidenceCalibrator};
pub use slm::{FinishReason, GenerationOutput, MockSlm, SlmBuilder, SlmConfig, SmallLanguageModel};
pub use verification::{
AggregationMethod, FactualConsistencyStage, KeywordMatchStage, PipelineBuilder,
SemanticSimilarityStage, StageResult, VerificationPipeline, VerificationStage,
};
pub use hidden_states::{
HiddenStateCache, HiddenStateCacheConfig, HiddenStateProvider, LayerHiddenState,
MockHiddenStateProvider, ModelHiddenStates, ModelKVCache, PrefixReuseStrategy,
StateReuseStrategy,
};
pub use speculative::{
MockSpeculativeDecoder, SpeculativeDecoder, SpeculativeDecodingConfig, SpeculativeOutput,
SpeculativeStats, SpeculativeStep, TokenWithProb,
VerificationResult as SpeculativeVerificationResult,
};
pub use hidden_state_speculator::{
DivergencePoint, HiddenStateSpeculator, HiddenStateSpeculatorConfig, MockHiddenStateSpeculator,
};
#[cfg(feature = "speculator")]
pub use candle_slm::CandleSlmSpeculator;