pub fn create_embedder(model_name: Option<&str>) -> Result<Box<dyn Embedder>>Examples found in repository?
examples/test_nomic.rs (line 22)
17fn run_example() {
18 println!("=== Testing Nomic Model ===");
19
20 println!("Attempting to create Nomic Embed Text V1.5 embedder...");
21
22 let result = create_embedder(Some("nomic-embed-text-v1.5"));
23
24 match result {
25 Ok(mut embedder) => {
26 println!("✅ Successfully created embedder: {}", embedder.id());
27 println!(" Dimensions: {}", embedder.dim());
28
29 let test_texts = vec!["hello world".to_string()];
30 println!("Testing embedding generation...");
31
32 match embedder.embed(&test_texts) {
33 Ok(embeddings) => {
34 println!("✅ Successfully generated embeddings");
35 println!(
36 " Shape: {} embeddings of {} dimensions",
37 embeddings.len(),
38 embeddings[0].len()
39 );
40 }
41 Err(e) => {
42 println!("❌ Failed to generate embeddings: {}", e);
43 }
44 }
45 }
46 Err(e) => {
47 println!("❌ Failed to create Nomic embedder: {}", e);
48 println!(" Error details: {:?}", e);
49
50 println!("\n--- Trying alternative model names ---");
51
52 // Try different variations
53 let alternatives = [
54 "nomic-embed-text-v1",
55 "NomicEmbedTextV15",
56 "NomicEmbedTextV1",
57 ];
58
59 for alt in alternatives {
60 println!("Trying: {}", alt);
61 match create_embedder(Some(alt)) {
62 Ok(_) => println!(" ✅ {} works!", alt),
63 Err(e) => println!(" ❌ {} failed: {}", alt, e),
64 }
65 }
66 }
67 }
68
69 println!("\n--- Testing working BGE model for comparison ---");
70 match create_embedder(Some("BAAI/bge-small-en-v1.5")) {
71 Ok(embedder) => println!("✅ BGE model works: {} dims", embedder.dim()),
72 Err(e) => println!("❌ Even BGE failed: {}", e),
73 }
74}