Merge commit 'd803bfe2b1fe7f5e219e50ac20d6801a0a58ac75' as 'vendor/ruvector'
This commit is contained in:
32
vendor/ruvector/examples/onnx-embeddings/examples/basic.rs
vendored
Normal file
32
vendor/ruvector/examples/onnx-embeddings/examples/basic.rs
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
//! Basic embedding example demonstrating single text embedding
|
||||
|
||||
use anyhow::Result;
|
||||
use ruvector_onnx_embeddings::{Embedder, EmbedderConfig, PretrainedModel};
|
||||
|
||||
#[tokio::main]
|
||||
async fn main() -> Result<()> {
|
||||
// Create embedder with a specific model
|
||||
let config = EmbedderConfig::pretrained(PretrainedModel::AllMiniLmL6V2);
|
||||
let mut embedder = Embedder::new(config).await?;
|
||||
|
||||
// Embed text
|
||||
let text = "Hello, RuVector!";
|
||||
let embedding = embedder.embed_one(text)?;
|
||||
|
||||
println!("Text: {}", text);
|
||||
println!("Embedding dimension: {}", embedding.len());
|
||||
println!("First 10 values: {:?}", &embedding[..10]);
|
||||
|
||||
// Compute similarity
|
||||
let similar_text = "Greetings, RuVector!";
|
||||
let different_text = "The weather is sunny.";
|
||||
|
||||
let sim1 = embedder.similarity(text, similar_text)?;
|
||||
let sim2 = embedder.similarity(text, different_text)?;
|
||||
|
||||
println!("\nSimilarity scores:");
|
||||
println!(" '{}' <-> '{}': {:.4}", text, similar_text, sim1);
|
||||
println!(" '{}' <-> '{}': {:.4}", text, different_text, sim2);
|
||||
|
||||
Ok(())
|
||||
}
|
||||
Reference in New Issue
Block a user