Introducing Swiftide 0.6! This release adds named vector support for Qdrant, templated prompts and (many) documentation improvements.
To get started with Swiftide, head over to swiftide.rs or check us out on github.
Named vectors with Qdrant and Embed modes
Shoutout to @pwalski for the implementation.
In addition to embedding the combined metadata and chunk, you might also want to embed the metadata and chunk individually, or do both.
For example, the following pipeline will add vectors for each metadata field and the chunk:
Prompt templating
breaking change
Previously prompts were simple strings, lacking flexibility. Prompts now use Tera
under the hood and can be fully customized with Jinja style templates.
When creating prompt templates, they are compiled and stored, until they are used with a context provided by i.e. a transformer.
Additionally, &str
and String
implement Into<Prompt>
, so migrating should be straightforward by adding .into()
.
For example, customizing the prompt of MetadataQAText
:
Or prompting manually with the openai client:
Tera
has a lot more features than just substitution and we’re looking forward to the possibilities that this will bring.
What’s next?
We’re working hard on a query pipeline, a demo application and improving swiftide and documentation across the board.
Call for contributors
We cannot do everything alone and would love your help. There is a large list of desired features, and many more unlisted over at our issues page.
You can find the full changelog here.
To get started with Swiftide, head over to swiftide.rs or check us out on github.