embedding

package
v0.100.1 Latest Latest
Warning

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

Go to latest
Published: Feb 17, 2026 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// ChunkSize is the maximum character count per chunk.
	ChunkSize = 500
	// ChunkOverlap is the character count overlap between chunks.
	ChunkOverlap = 50
)

Variables

This section is empty.

Functions

func ChunkDocument

func ChunkDocument(content string) []string

ChunkDocument splits a long document into multiple chunks for embedding. It preserves paragraph boundaries when possible.

Types

type Config

type Config struct {
	BaseURL        string
	APIKey         string
	EmbeddingModel string
	ChatModel      string
	MaxRetries     int
	Timeout        time.Duration
}

Config holds the AI provider configuration.

func DefaultConfig

func DefaultConfig() *Config

DefaultConfig returns the default configuration.

type Embedder

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

Embedder handles embedding generation and storage for memos.

func NewEmbedder

func NewEmbedder(provider *Provider, store *store.Store) *Embedder

NewEmbedder creates a new embedder.

func (*Embedder) EmbedMemo

func (e *Embedder) EmbedMemo(ctx context.Context, memo *store.Memo) error

EmbedMemo generates and stores embedding for a single memo.

func (*Embedder) EmbedMemoBatch

func (e *Embedder) EmbedMemoBatch(ctx context.Context, memos []*store.Memo) <-chan error

EmbedMemoBatch generates and stores embeddings for multiple memos concurrently. The concurrency is limited to avoid overwhelming the API.

type Message

type Message struct {
	Role    string
	Content string
}

Message represents a chat message.

type Provider

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

Provider provides AI capabilities including LLM and Embedding.

func NewProvider

func NewProvider(cfg *Config) (*Provider, error)

NewProvider creates a new AI provider.

func NewProviderFromEnv

func NewProviderFromEnv() (*Provider, error)

NewProviderFromEnv creates a provider from environment variables.

func (*Provider) Chat

func (p *Provider) Chat(ctx context.Context, messages []Message) (string, error)

Chat performs a chat completion.

func (*Provider) ChatStream

func (p *Provider) ChatStream(ctx context.Context, messages []Message) (string, error)

ChatStream performs a streaming chat completion.

func (*Provider) Embedding

func (p *Provider) Embedding(ctx context.Context, text string) ([]float32, error)

Embedding generates an embedding vector for the given text.

func (*Provider) ListModels

func (p *Provider) ListModels(ctx context.Context) ([]string, error)

ListModels lists available models from the provider.

func (*Provider) Validate

func (p *Provider) Validate(ctx context.Context) error

Validate validates the provider configuration by testing API connectivity.

Jump to

Keyboard shortcuts

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