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
- This trait is implemented by any type that implements [
std::clone::Clone
]. - 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