Module swiftide_core::indexing_traits

source ·
Expand description

Traits in Swiftide allow for easy extendability

All steps defined in the indexing pipeline and the generic transformers can also take a trait. To bring your own transformers, models and loaders, all you need to do is implement the trait and it should work out of the box.

Traits§

  • Transforms batched single nodes into streams of nodes
  • Turns one node into many nodes
  • Embeds a list of strings and returns its embeddings. Assumes the strings will be moved.
  • Starting point of a stream
  • Caches nodes, typically by their path and hash Recommended to namespace on the storage
  • Persists nodes
  • Given a string prompt, queries an LLM
  • Embeds a list of strings and returns its embeddings. Assumes the strings will be moved.
  • Transforms single nodes into single nodes
  • Allows for passing defaults from the pipeline to the batch transformer Required for batch transformers as at least a marker, implementation is not required
  • Allows for passing defaults from the pipeline to the transformer Required for batch transformers as at least a marker, implementation is not required