Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func IsExcluded ¶
IsExcluded checks if the relative path matches any ignore filters.
func LoadExcludedPaths ¶
LoadExcludedPaths reads the userIgnoreFilters and attachmentFolderPath from .obsidian/app.json. Returns nil if the file is absent or unreadable.
func RunProgress ¶
func RunProgress(totalFiles int, progressCh <-chan ProgressUpdate)
RunProgress logs ingestion progress via structured slog events for every file.
Types ¶
type Embedder ¶
type Embedder interface {
Embed(ctx context.Context, text string) ([]float32, error)
// Model identifies the embedding model so content hashes can be salted.
Model() string
}
Embedder abstracts vector embedding so the pipeline can be tested with mocks.
type FailedFile ¶ added in v2.10.0
FailedFile records a file that failed during ingestion along with the failure reason.
type ObsidianAppConfig ¶
type ObsidianAppConfig struct {
UserIgnoreFilters []string `json:"userIgnoreFilters"`
AttachmentFolderPath string `json:"attachmentFolderPath"`
}
ObsidianAppConfig represents relevant fields from .obsidian/app.json.
type Pipeline ¶
type Pipeline struct {
MinChunkWords int // minimum word count to keep a chunk (filters junk)
ChunkSize int // maximum runes per chunk fed to Parse
ChunkOverlap int // overlap runes between sub-chunks when a section is split
MaxEmbedTokens int // max tokens for embed text (model sequence length)
RespectExclude bool
SkipAttachments bool
EnablePDF bool
LLMModel string
LLMContextWindow int
// contains filtered or unexported fields
}
Pipeline orchestrates the ingestion of markdown files into the ChromaDB store.
func NewPipeline ¶
NewPipeline creates an ingestion pipeline with the given number of concurrent workers. Set ChunkSize, ChunkOverlap, and MinChunkWords on the returned Pipeline before calling Run.
func (*Pipeline) FailedFiles ¶ added in v2.10.0
func (p *Pipeline) FailedFiles() []FailedFile
FailedFiles returns a copy of all file ingestion failures recorded during the run.
type ProgressUpdate ¶
ProgressUpdate represents a status update during file processing.