///|
/// A model backend can hand over positive weights instead of logits.
fn main {
let sampler = @mirostat.Sampler::new(
@mirostat.Config::new(2.0).unwrap(),
version=@mirostat.Version::v2(),
)
let weights = [8.0, 4.0, 2.0, 1.0]
let preview = sampler.preview_weights(weights).unwrap()
println("vocabulary=" + preview.vocabulary().to_string())
println("candidates=" + preview.kept_tokens().to_string())
println("retained_mass=" + preview.retained_mass().to_string())
let chosen = sampler.sample_weights(weights, 0.7).unwrap()
println("token=" + chosen.token().to_string())
println("surprise_bits=" + chosen.observed_surprise().to_string())
}