from fastembed import TextEmbedding

from base_de_donnees_vectorielle.embeddings import calculer_embedding
from base_de_donnees_vectorielle.modele import ChunkVecteur, ResultatRecherche
from base_de_donnees_vectorielle.similarite import similarite_cosinus


def rechercher(requete: str,
               base: list[ChunkVecteur],
               modele: TextEmbedding,
               seuil: float = 0.4, top_k: int = 5) -> list[ResultatRecherche]:
    """
    Recherche les chunks les plus pertinents pour une requête.

    :param requete: Requête textuelle.
    :param base: Base vectorielle.
    :param modele: Modèle d'embeddings.
    :param seuil: Score minimal de similarité.
    :param top_k: Nombre maximal de résultats retournés.
    :return: Liste triée de résultats.
    """
    return []
