use candding::TextEmbedding;
fn main() -> candding::Result<()> {
let model = TextEmbedding::builder("BAAI/bge-small-en-v1.5").build()?;
let passages = model.passage_embed(
&[
"Embeddings map text to vectors.",
"Rust is a systems programming language.",
],
None,
)?;
let query = model.query_embed(&["what do embeddings do"], None)?;
for (i, passage) in passages.iter().enumerate() {
let score: f32 = query[0].iter().zip(passage).map(|(q, p)| q * p).sum();
println!("passage {i}: {score:.4}");
}
Ok(())
}