Quel est le rôle de la classe `Retriever` dans un pipeline de recherche hybride ?	Elle reçoit la question de l'utilisateur, la transmet aux différents index, et fusionne les résultats.
Pourquoi est-il important que les index (Vector Index, BM25) possèdent une API similaire ?	Pour pouvoir les encapsuler facilement dans la classe `Retriever` et les faire fonctionner ensemble.
Quelle technique est utilisée pour combiner les résultats provenant de méthodologies de recherche différentes ?	La fusion par rang réciproque (Reciprocal Rank Fusion - RRF).
Comment fonctionne la fusion par rang réciproque (RRF) ?	Elle combine les résultats en appliquant une formule qui pondère chaque résultat en fonction de son rang dans chaque liste.
Quelle est la structure générale du terme de score utilisé dans la formule RRF ?	$1 / (1 + \text{rang})$.
Quel est l'avantage d'avoir une API standardisée pour les index de recherche ?	Cela permet d'ajouter facilement de nouvelles méthodes de recherche au pipeline sans modifier le `Retriever`.
Citez les deux types de recherche implémentés et combinés dans le pipeline.	La recherche sémantique (Vector Index) et la recherche lexicale (BM25 Index).
