Revenir aux archives

IA appliquée

Dépôt GitHub

Moteur de recherche sémantique multimodal et RAG

Rechercher localement des images et vidéos en langage naturel avec des résultats mesurables.

Contexte: Système de recherche multimodal par IA

Période: 2025-10 à Aujourd'hui

Résumé

Le système FastAPI, React/Vite et CLI combine embeddings CLIP, recherche FAISS, reclassement par descriptions et explications locales générées avec Ollama.

D'une requête en langage naturel aux preuves visuelles classées

Requête

L'utilisateur décrit l'image ou la vidéo recherchée

Encodage CLIP

Texte et médias partagent le même espace d'embeddings

Recherche FAISS

L'index trouve les voisins pertinents

Reclassement

Descriptions et signaux affinent l'ordre

Résultats

L'interface affiche médias classés et explications

Ce que le système prend en charge

Classe images et vidéos pour des requêtes en langage naturel.

Utilise CLIP et FAISS pour texte, images et images vidéo.

Prend en charge plusieurs parcours de recherche et recherche inversée.

Génère localement des explications avec Ollama.

Benchmark de recherche mesuré

Évaluation COCO Captions avec 200 requêtes et des index distincts de 1 000 et 5 000 images.

Recall@10

0,88

Index de 1 000 images

Recall@10

0,57

Index de 5 000 images

Recall@1 / @5 / @10

0,46 / 0,755 / 0,88

200 requêtes COCO Captions

Latence moyenne

6,92ms

Index de 1 000 images

Technologie

Stack

PythonFastAPIReactViteFAISSHNSWCLIPPyTorchOpenCVOllamaRAGVector embeddings

Domaines

IA appliquéeSystèmes de rechercheRAGVision par ordinateurRecherche vectorielleIA full-stack

Benchmark de recherche

Résultats enregistrés du benchmark

Comment la recherche évolue avec la taille de l'index

Passez d'une taille évaluée à l'autre pour comparer Recall@K et la latence contrôlée. La latence applicative provient d'un journal distinct et couvre une plus grande partie du parcours complet.

Comparaison du Recall

200 requêtes d'évaluation
Recall@146%
Recall@575,5%
Recall@1088%

Recall@10: 88% des correspondances pertinentes retrouvées

Contexte d'exécution de l'application

209 événements enregistrés
Recherche enregistrée moyenne
68,07 ms
Explication moyenne du LLM local
13,74 s

La requête évaluée à 6,9 ms et la recherche enregistrée à 68,07 ms mesurent des parcours différents; elles conservent donc des libellés et contextes temporels distincts.

Voir les fichiers JSON du benchmark sur GitHub

Conclusions

  • Le langage courant devient directement une liste de preuves visuelles classées.
  • Les benchmarks rendent qualité de recherche et latence comparables.
  • Le navigateur et la CLI partagent le même parcours reproductible.

Vous souhaitez examiner l'implémentation ?

Le dépôt contient le code source, les instructions d'installation et l'historique du développement.

Ouvrir le dépôt