Skip to main content

Crate ferrum_sampler

Crate ferrum_sampler 

Source
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(&params);
let sampler = sampler_from_params(&params);

Modules§

json_mode
JSON mode logits processor.

Structs§

DefaultSamplerFactory
Default sampler factory for creating samplers and configurations.
GreedySampler
Common samplers Greedy sampler (always picks highest probability token)
LogitsProcessorChain
Logits processor chain for composing multiple processors
MultinomialSampler
Multinomial sampler for probabilistic sampling
RepetitionPenaltyProcessor
Repetition penalty processor
SamplingConfig
Complete sampling configuration
SamplingConfigBuilder
Sampling configuration builder
SamplingContext
Sampling context passed to logits processors and samplers
SamplingParams
Sampling parameters for generation
SamplingPipeline
Sampling pipeline that combines config and execution logic.
SamplingStats
Sampling statistics for monitoring
TemperatureProcessor
Common logits processors Temperature scaling processor
TokenId
Token identifier used across the inference pipeline.
TopKProcessor
Top-k filtering processor
TopPProcessor
Top-p (nucleus) filtering processor

Enums§

ProcessorPriority
Priority levels for logits processors

Traits§

LogitsProcessor
Logits processor trait for modifying raw model outputs
MultiSampler
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