What is Swiftide?
Swiftide is a Rust native library for building LLM applications. Large language models are amazing, but need context to solve real problems. Swiftide allows you to ingest, transform and index large amounts of data fast, and then query that data so it it can be injected into prompts. This process is called Retrieval Augmented Generation.
Production LLM applications deal with large amounts of data, concurrent LLM requests and structured and unstructured transformations of data. Rust is great at this. The goal of Swiftide is to build indexing and query pipelines easily, experiment and verify, then ship it right to production.
What problem does Swiftide solve?
In other solutions, the experimental phase is often done in python and then either rewritten from scratch, or deployed distributed. Swiftide aims to bring the result of experimentation to production as well.
In fact, swiftide is so fast that it enables real-time indexing before querying, opening up the possibility of real-time RAG systems. At the same time, the internet is booming with wild distributed, kafka based setups. Swiftide hopes to stretch the limits of what is possible before getting to such a setup and beyond.
How does swiftide work?
With swiftide you define a sequence of steps, from ingesting to processing to indexing. Under the hood, swiftide uses Rust’s async and streaming features to speed things up, drastically.
Swiftide is under heavy development and can have breaking changes while we work towards 1.0. Documentation here might fall short of all features, and despite our efforts be slightly outdated. We recommend to always keep an eye on our github and api documentation.