/** * Sampling operations for token generation */ import type { WebInferContext } from '../core/context.ts'; import { Tensor } from '../core/tensor.ts'; /** * Sample from probability distribution (categorical sampling) * * @param ctx WebInfer context * @param probs Probability tensor [batch_size, vocab_size] * @param uniform_samples Uniform random samples [batch_size] in range [0, 1) * @returns Sampled token IDs [batch_size] */ export declare function sampling_from_probs(ctx: WebInferContext, probs: Tensor, uniform_samples: Tensor): Promise; /** * Top-k sampling from probability distribution * * @param ctx WebInfer context * @param probs Probability tensor [batch_size, vocab_size] * @param uniform_samples Uniform random samples [batch_size] * @param top_k Number of top candidates to consider * @returns Sampled token IDs [batch_size] */ export declare function top_k_sampling_from_probs(ctx: WebInferContext, probs: Tensor, uniform_samples: Tensor, top_k: number): Promise; /** * Top-p (nucleus) sampling from probability distribution * * @param ctx WebInfer context * @param probs Probability tensor [batch_size, vocab_size] * @param uniform_samples Uniform random samples [batch_size] * @param top_p Cumulative probability threshold (0, 1] * @returns Sampled token IDs [batch_size] */ export declare function top_p_sampling_from_probs(ctx: WebInferContext, probs: Tensor, uniform_samples: Tensor, top_p: number): Promise; /** * Min-p sampling from probability distribution * * @param ctx WebInfer context * @param probs Probability tensor [batch_size, vocab_size] * @param uniform_samples Uniform random samples [batch_size] * @param min_p Minimum probability threshold relative to max prob * @returns Sampled token IDs [batch_size] */ export declare function min_p_sampling_from_probs(ctx: WebInferContext, probs: Tensor, uniform_samples: Tensor, min_p: number): Promise; /** * Combined top-k and top-p sampling * * @param ctx WebInfer context * @param probs Probability tensor [batch_size, vocab_size] * @param uniform_samples Uniform random samples [batch_size] * @param top_k Number of top candidates * @param top_p Cumulative probability threshold * @returns Sampled token IDs [batch_size] */ export declare function top_k_top_p_sampling_from_probs(ctx: WebInferContext, probs: Tensor, uniform_samples: Tensor, top_k: number, top_p: number): Promise;