| 77 | wrapped_reranked_results += "---\n" |
| 78 | return wrapped_reranked_results |
| 79 | def parse_results(self, reranked_results: str) -> List[str]: |
| 80 | lines = reranked_results.strip().split('\n') |
| 81 | |
| 82 | # get the last 5 lines |
| 83 | last_lines = lines[-5:] |
| 84 | |
| 85 | # remove the number and dot at the beginning of each line |
| 86 | cleaned_lines = [re.sub(r'^\d+\.\s*', '', line.strip()) for line in last_lines] |
| 87 | unique_lines = list(dict.fromkeys(cleaned_lines)) |
| 88 | |
| 89 | return unique_lines |
| 90 | def rerank(self, query_text: str, query_results: List[Dict]) -> List[Dict]: |
| 91 | system_prompt = \ |
| 92 | """ |