import warnings

import numpy as np
from fastembed import TextEmbedding

warnings.filterwarnings("ignore", message=".*mean pooling instead of CLS embedding.*")

def charger_modele(nom_modele: str = "sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2") -> TextEmbedding:
    """
    Charge le modèle d'embeddings.

    :param nom_modele: Nom du modèle FastEmbed à charger.
    :return: Modèle chargé.
    """
    return None

def calculer_embedding(texte: str, modele: TextEmbedding) -> np.ndarray:
    """
    Calcule l'embedding d'un texte.

    :param texte: Texte à encoder.
    :param modele: Modèle d'embeddings.
    :return: Vecteur numpy.
    """
    return np.zeros(1)

def calculer_embeddings(textes: list[str], modele: TextEmbedding) -> list[np.ndarray]:
    """
    Calcule les embeddings d'une liste de textes.

    :param textes: Textes à encoder.
    :param modele: Modèle d'embeddings.
    :return: Liste de vecteurs numpy.
    """
    return [np.zeros(1) for _ in textes]
