summarizer

package
v0.0.0-...-75ec8e3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 28, 2026 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DefaultTokenEstimator

func DefaultTokenEstimator(text string) int

DefaultTokenEstimator provides a rough token count estimate (4 chars per token)

Types

type ChunkedSummarizer

type ChunkedSummarizer struct {

	// Configuration
	ChunkThresholdPercent float64 // Percentage of context window (default: 0.7)
	MaxSummaryBytes       int     // Max bytes for summary input (default: 16384)
	TokenEstimator        TokenEstimator
	// contains filtered or unexported fields
}

ChunkedSummarizer handles summarization of large texts by splitting into chunks and combining partial summaries into a coherent final result.

func NewChunkedSummarizer

func NewChunkedSummarizer(client llm.Client) *ChunkedSummarizer

NewChunkedSummarizer creates a new ChunkedSummarizer

func (*ChunkedSummarizer) Summarize

func (cs *ChunkedSummarizer) Summarize(ctx context.Context, content string, opts SummarizeOptions) (*SummaryResult, error)

Summarize summarizes content with automatic chunking if needed

type SummarizeOptions

type SummarizeOptions struct {
	Context          string // Additional context (e.g., URL, file path)
	BasePrompt       string // The main summarization goal
	MaxBytes         int    // Override default MaxSummaryBytes
	Timeout          time.Duration
	ProgressCallback func(status string)
}

SummarizeOptions configures the summarization process

type SummaryResult

type SummaryResult struct {
	Summary        string
	ChunksUsed     int
	TotalTokens    int
	ChunkSummaries []string // Partial summaries before final combination
}

SummaryResult contains the result of a summarization operation

type TokenEstimator

type TokenEstimator func(text string) int

TokenEstimator estimates token count for text

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL