@@ -463,60 +463,6 @@ def compute_relevance_score(
463
463
464
464
return total_score , scores
465
465
466
- def _group_and_score_results (
467
- self ,
468
- results : dict ,
469
- query : str ,
470
- paths : list [Path ] | None ,
471
- n_results : int ,
472
- explain : bool ,
473
- ) -> tuple [list [Document ], list [float ], list [dict ]]:
474
- """Group and score search results by source document."""
475
- documents : list [Document ] = []
476
- distances : list [float ] = []
477
- explanations : list [dict ] = []
478
- seen_sources : set [str ] = set ()
479
-
480
- # Extract distances from results
481
- result_distances = results ["distances" ][0 ] if "distances" in results else []
482
-
483
- # Process results in order, taking only first chunk from each source
484
- for i , doc_id in enumerate (results ["ids" ][0 ]):
485
- doc = Document (
486
- content = results ["documents" ][0 ][i ],
487
- metadata = results ["metadatas" ][0 ][i ],
488
- doc_id = doc_id ,
489
- )
490
-
491
- # Skip if doesn't match path filter
492
- if paths and not self ._matches_paths (doc , paths ):
493
- continue
494
-
495
- # Get source ID and skip if we've seen it
496
- source_id = doc_id .split ("#chunk" )[0 ]
497
- if source_id in seen_sources :
498
- continue
499
- seen_sources .add (source_id )
500
-
501
- # Add document to results
502
- documents .append (doc )
503
- distances .append (result_distances [i ])
504
- if explain :
505
- score , score_breakdown = self .compute_relevance_score (
506
- doc , result_distances [i ], query , debug = explain
507
- )
508
- explanations .append (
509
- self .explain_scoring (
510
- query , doc , result_distances [i ], score_breakdown
511
- )
512
- )
513
-
514
- # Stop if we have enough results
515
- if len (documents ) >= n_results :
516
- break
517
-
518
- return documents , distances , explanations
519
-
520
466
def _matches_paths (self , doc : Document , paths : list [Path ]) -> bool :
521
467
"""Check if document matches any of the given paths."""
522
468
source = doc .metadata .get ("source" , "" )
0 commit comments