Documentation
¶
Overview ¶
Package embedder manages embedding generation and vector storage using chromem-go as an in-process persistent vector database.
Index ¶
- func HashFile(path string) (string, error)
- type Embedder
- func (e *Embedder) EmbedFiles(ctx context.Context, files map[string]string, concurrency int) (*Stats, error)
- func (e *Embedder) Load(ctx context.Context)
- func (e *Embedder) Query(ctx context.Context, query string, k int) ([]chromem.Result, error)
- func (e *Embedder) RemoveDeleted(ctx context.Context, files map[string]string, previousPaths []string) (int, error)
- func (e *Embedder) Unload(ctx context.Context)
- type Stats
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Embedder ¶
type Embedder struct {
// contains filtered or unexported fields
}
Embedder manages embedding generation and vector storage.
func New ¶
func New(provider providers.Provider, model, dbDir string, chunkCfg chunker.Config) (*Embedder, error)
New creates an Embedder backed by chromem-go persistent storage.
func (*Embedder) EmbedFiles ¶
func (e *Embedder) EmbedFiles(ctx context.Context, files map[string]string, concurrency int) (*Stats, error)
EmbedFiles embeds files in parallel. files is a map of path -> SHA256 hash.
func (*Embedder) Load ¶
Load preloads the embedding model on the provider (fire-and-forget). Silently no-ops if the provider doesn't support explicit model loading.
func (*Embedder) Query ¶
Query embeds the query string and performs similarity search, returning top-k results.
func (*Embedder) RemoveDeleted ¶
func (e *Embedder) RemoveDeleted(ctx context.Context, files map[string]string, previousPaths []string) (int, error)
RemoveDeleted removes embeddings for files that were previously indexed but are no longer present in the current files map. previousPaths is the set of file paths from the previous indexing run.