Chapter 41
model/sampling
github.com/openfluke/welvet/model/sampling✅
Why it exists
Logits → token ID needs ArgMax, TopK+temperature, penalties, and chat hygiene in one place.
What it is
ArgMax, SampleTopK, ApplyRepetitionPenalty, BanIDs, SanitizeChatReply.
Go example
Run:
cd welvet/examples/41-sampling && source ../env.sh && go run .package main
import (
"fmt"
"github.com/openfluke/welvet/model/sampling"
)
func main() {
logits := []float32{0.1, 2.4, 0.3, -1}
fmt.Println(sampling.ArgMax(logits))
fmt.Println(sampling.SampleTopK(logits, 2, 0.8, true))
}
Output
1
1