summary

package
v1.4.0 Latest Latest
Warning

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

Go to latest
Published: Aug 1, 2026 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BuildPrompt

func BuildPrompt(template, title, language, transcript string) string

BuildPrompt replaces named placeholders in a prompt template with actual values.

func DefaultPrompt

func DefaultPrompt(level string) string

DefaultPrompt returns the default prompt template for a given level.

Types

type ClaudeSummarizer

type ClaudeSummarizer struct {
	// contains filtered or unexported fields
}

ClaudeSummarizer uses the Anthropic API for summary generation.

func NewClaudeSummarizer

func NewClaudeSummarizer(apiKey, baseURL string, httpClient *http.Client) *ClaudeSummarizer

NewClaudeSummarizer creates a Claude-based summarizer. If baseURL is empty, defaults to the Anthropic API. An optional httpClient can be provided (e.g. for Tailscale-internal requests); if nil, a default client is used.

func (*ClaudeSummarizer) Summarize

func (c *ClaudeSummarizer) Summarize(ctx context.Context, title, transcript, level, language, customPrompt, model string) (*Summary, error)

type MistralSummarizer

type MistralSummarizer struct {
	// contains filtered or unexported fields
}

MistralSummarizer uses the Mistral API for summary generation.

func NewMistralSummarizer

func NewMistralSummarizer(apiKey string) *MistralSummarizer

NewMistralSummarizer creates a Mistral-based summarizer.

func (*MistralSummarizer) Summarize

func (m *MistralSummarizer) Summarize(ctx context.Context, title, transcript, level, language, customPrompt, model string) (*Summary, error)

type Summarizer

type Summarizer interface {
	Summarize(ctx context.Context, title, transcript, level, language, customPrompt, model string) (*Summary, error)
}

Summarizer generates summaries from video transcripts. The model parameter selects the model; empty string means use provider default.

type Summary

type Summary struct {
	Text        string   `json:"text"`
	Topics      []string `json:"topics"`
	KeyPoints   []string `json:"key_points"`
	ActionItems []string `json:"action_items"`
	Usage       Usage    `json:"usage"`
}

Summary holds the generated summary and extracted metadata.

type Usage

type Usage struct {
	InputTokens  int `json:"input_tokens"`
	OutputTokens int `json:"output_tokens"`
}

Usage tracks token consumption for a summarization call.

Jump to

Keyboard shortcuts

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