diff --git a/src/ai.rs b/src/ai.rs index 00ed98c..dc9a060 100644 --- a/src/ai.rs +++ b/src/ai.rs @@ -263,7 +263,12 @@ impl EmbedStore { .flatten() .collect::>(); - flat.sort_by(|a, b| b.chunks.len().cmp(&a.chunks.len())); + flat.sort_by(|a, b| { + b.similarity() + .partial_cmp(&a.similarity()) + .unwrap_or(std::cmp::Ordering::Equal) + .then(b.chunks.len().cmp(&a.chunks.len())) + }); flat }