References for SEARCH

search.py – Recherche hybride sémantique et par métadonnées.

Framework de recherche documentaire hybride pour PostgreSQL + pgvector

SearchEngine

Moteur de recherche hybride (métadonnées + vecteur) avec rerank optionnel via Cross-Encoder.

Utilise à la fois une recherche par similarité vectorielle et un rerank avec un modèle Cross-Encoder. Inclut une évaluation de la pertinence des résultats et détection des requêtes hors domaine.

__init__(min_relevance_threshold=-5, high_confidence_threshold=5)

Initialise le moteur de recherche avec son générateur d'embeddings et son ranker.

Parameters:
  • min_relevance_threshold (float, default: -5 ) –

    Score minimal pour qu'un résultat soit considéré pertinent.

  • high_confidence_threshold (float, default: 5 ) –

    Score minimal pour une confiance élevée.

evaluate_confidence(scores)

Évalue la confiance globale dans les résultats de recherche.

Analyse les scores du ranker pour déterminer la pertinence globale des résultats et détecter les requêtes potentiellement hors domaine.

Parameters:
  • scores (List[float]) –

    Liste des scores de pertinence.

Returns:
  • ConfidenceMetrics

    Métriques de confiance avec niveau, message explicatif et statistiques.

Exécute une recherche hybride avec évaluation de confiance.

Combine recherche vectorielle et filtrage SQL, puis applique un reranking avec un modèle Cross-Encoder et évalue la pertinence des résultats.

Parameters:
  • db (Session) –

    Session SQLAlchemy.

  • req (SearchRequest) –

    Paramètres de la recherche.

Returns:
  • SearchResponse

    Réponse formatée avec résultats triés, métriques de confiance et statistiques.

log_search_query(db, req, response)

Enregistre la recherche effectuée dans l'historique.

Cette méthode persiste les métadonnées de la requête et de ses résultats pour permettre l'analyse statistique ultérieure.

Parameters:
  • db (Session) –

    Session SQLAlchemy active.

  • req (SearchRequest) –

    Requête de recherche soumise.

  • response (SearchResponse) –

    Réponse générée contenant les résultats et métriques.

normalize_scores(scores)

Normalise les scores en valeurs entre 0 et 1.

Parameters:
  • scores (List[float]) –

    Liste des scores bruts du modèle.

Returns:
  • List[float]

    Liste de scores normalisés entre 0 et 1.