Expand description
§Ferrum Sampler
MVP sampler implementation for Ferrum inference stack.
This crate provides a thin wrapper around the sampling interfaces defined in
ferrum-interfaces, offering convenient factory functions and utilities for
building sampling pipelines from SamplingParams.
§Design
- Re-export Interface Types: All core types from
ferrum-interfaces::sampler - Factory Pattern: Simple factory for creating samplers and configs
- Zero Overhead: Direct delegation to interface implementations
§Usage
use ferrum_sampler::{build_sampling_config, sampler_from_params};
use ferrum_types::SamplingParams;
let params = SamplingParams::default();
let config = build_sampling_config(¶ms);
let sampler = sampler_from_params(¶ms);Modules§
- json_
mode - JSON mode logits processor.
Structs§
- Default
Sampler Factory - Default sampler factory for creating samplers and configurations.
- Greedy
Sampler - Common samplers Greedy sampler (always picks highest probability token)
- Logits
Processor Chain - Logits processor chain for composing multiple processors
- Multinomial
Sampler - Multinomial sampler for probabilistic sampling
- Repetition
Penalty Processor - Repetition penalty processor
- Sampling
Config - Complete sampling configuration
- Sampling
Config Builder - Sampling configuration builder
- Sampling
Context - Sampling context passed to logits processors and samplers
- Sampling
Params - Sampling parameters for generation
- Sampling
Pipeline - Sampling pipeline that combines config and execution logic.
- Sampling
Stats - Sampling statistics for monitoring
- Temperature
Processor - Common logits processors Temperature scaling processor
- TokenId
- Token identifier used across the inference pipeline.
- TopK
Processor - Top-k filtering processor
- TopP
Processor - Top-p (nucleus) filtering processor
Enums§
- Processor
Priority - Priority levels for logits processors
Traits§
- Logits
Processor - Logits processor trait for modifying raw model outputs
- Multi
Sampler - Multi-sample capability for beam search and parallel sampling
- Sampler
- Token sampler trait for selecting next token from processed logits
Functions§
- build_
sampling_ config - Build sampling configuration from parameters.
- greedy_
sampler - Create a greedy sampler (always picks highest logit).
- multinomial_
sampler - Create a multinomial sampler (probabilistic sampling).
- pipeline_
from_ params - Build complete sampling pipeline from parameters.
- sampler_
from_ params - Create sampler instance from parameters.
Type Aliases§
- Result
- Result type used throughout Ferrum