diff --git a/src/bin/alpha_id.rs b/src/bin/alpha_id.rs index b81ebca..ad12468 100644 --- a/src/bin/alpha_id.rs +++ b/src/bin/alpha_id.rs @@ -60,18 +60,17 @@ fn main() { .expect("ionos client (token?)"); let store = EmbeddingStore::open(&cfg.index_dir, &cfg.embed_model).expect("store"); - let subset: Vec = match sample { - Some(n) => texts.iter().take(n).cloned().collect(), - None => texts.clone(), - }; - - if sample.is_some() { + if let Some(n) = sample { + let subset: Vec = texts.iter().take(n).cloned().collect(); let est = estimate(&subset); eprintln!("SMOKE: embedding {} sample texts ({} chars)…", est.items, est.chars); - let n = build_corpus_embeddings(&client, &store, &cfg.embed_model, &subset, 32) + let n_done = build_corpus_embeddings(&client, &store, &cfg.embed_model, &subset, 32) .expect("sample embed failed"); - let dim = store.get(&subset[0]).map(|v| v.len()).unwrap_or(0); - eprintln!("SMOKE OK: embedded {n}, vector dim = {dim}. \ + let dim = subset.first() + .and_then(|t| store.get(t)) + .map(|v| v.len()) + .unwrap_or(0); + eprintln!("SMOKE OK: embedded {n_done}, vector dim = {dim}. \ Inspect, then run `index --full --confirm`."); return; }