Introducing Swiftide 0.9 with Fluvio as a starting point for indexing streams, lancedb for querying and indexing and RAGAS support
To get started with Swiftide, head over to swiftide.rs, check us out on github, or hit us up on discord.
Fluvio support
Fluvio is a lightweight high-performance distributed data streaming system written in Rust and Web Assembly. In a production environment, data could come and go to many places at the same time. With the Fluvio loader, you can hook into a Fluvio topic and index right away.
The integration is fully configurable with Fluvio’s own configuration. Here is an example:
Lancedb
Lancedb is a popular vector and text database that separates storage from compute. It enables a whole new class of applications where the database is embedded into the application itself. Under the hood it uses Apache Arrow and Tantivy.
Both indexing with different embedded fields and querying is supported. Note that Lancedb does not really need Sparse vectors, as it provides full text search as well. Additionally, Swiftide does not index the data.
An example:
RAGAS support
Evaluating RAG pipelines is a whole topic by itself. A query pipeline can now take an evaluator, and we have build one for RAGAS to kick it off. The evaluator can export to json, which can be imported in a python hugging face dataset and used with RAGAS.
This is great, as it will allow you to evaluate the quality of your data, indexing and querying.
A full guide is coming soon!
An example:
And then in a Python notebook:
From our own experimentation, Rust feature flags are great to try out many different options fast to get data in.
What’s next?
We are working hard on hybrid search in the query pipeline for both Qdrant and Lancedb, improving documentation for the query pipeline and many more improvements. If you have feedback, suggestions or need help, feel free to reach out to us on Discord or via a Github issue.
Call for contributors
There is a large list of desired features, and many more unlisted over at our issues page; ranging from great starter issues, to fun, complex challenges.
You can find the full changelog here.
To get started with Swiftide, head over to swiftide.rs or check us out on github.