```go title="Go" package main import ( "fmt" "log" "github.com/kreuzberg-dev/kreuzberg/packages/go/v5" ) func main() { preserveMarkdown := true mode := "moderate" config := &kreuzberg.ExtractionConfig{ TokenReduction: &kreuzberg.TokenReductionConfig{ Mode: &mode, PreserveMarkdown: &preserveMarkdown, }, } result, err := kreuzberg.ExtractFileSync("verbose_document.pdf", config) if err != nil { log.Fatalf("extraction failed: %v", err) } original := 0 reduced := 0 ratio := 0.0 if val, ok := result.Metadata["original_token_count"]; ok { original = val.(int) } if val, ok := result.Metadata["token_count"]; ok { reduced = val.(int) } if val, ok := result.Metadata["token_reduction_ratio"]; ok { ratio = val.(float64) } fmt.Printf("Reduced from %d to %d tokens\n", original, reduced) fmt.Printf("Reduction: %.1f%%\n", ratio*100) } ```