Files
fil/docs/snippets/go/advanced/keyword_extraction_example.md
Henrik Jess Nielsen b4c07d3693
All checks were successful
Deploy fil (kreuzberg) / deploy (push) Successful in 49s
Nomad changes
2026-06-01 23:40:55 +02:00

759 B

package main

import (
	"fmt"
	"log"

	"github.com/kreuzberg-dev/kreuzberg/packages/go/v5"
)

func main() {
	maxKeywords := int32(10)
	minScore := 0.3

	config := &kreuzberg.ExtractionConfig{
		Keywords: &kreuzberg.KeywordConfig{
			Algorithm:   kreuzberg.KeywordAlgorithm_YAKE,
			MaxKeywords: &maxKeywords,
			MinScore:    &minScore,
		},
	}

	result, err := kreuzberg.ExtractFileSync("research_paper.pdf", config)
	if err != nil {
		log.Fatalf("extraction failed: %v", err)
	}

	if keywords, ok := result.Metadata["keywords"]; ok {
		keywordList := keywords.([]map[string]interface{})
		for _, kw := range keywordList {
			text := kw["text"].(string)
			score := kw["score"].(float64)
			fmt.Printf("%s: %.3f\n", text, score)
		}
	}
}