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