Torna all'archivio

IA applicata

Repository GitHub

Motore di ricerca semantica multimodale e RAG

Cercare localmente immagini e video in linguaggio naturale con risultati misurabili.

Contesto: Sistema di ricerca multimodale con IA

Periodo: 2025-10 a Presente

Riepilogo

Il sistema FastAPI, React/Vite e CLI combina embedding CLIP, ricerca FAISS, riordinamento tramite descrizioni e spiegazioni locali generate con Ollama.

Da una query naturale a evidenze visive ordinate

Query

L'utente descrive l'immagine o il video cercato

Codifica CLIP

Testo e media condividono lo stesso spazio di embedding

Ricerca FAISS

L'indice trova i vicini rilevanti

Riordinamento

Descrizioni e segnali affinano l'ordine

Risultati

L'interfaccia mostra media ordinati e spiegazioni

Cosa gestisce il sistema

Ordina immagini e video per query in linguaggio naturale.

Usa CLIP e FAISS per testo, immagini e fotogrammi.

Supporta diversi flussi di retrieval e ricerca inversa.

Genera spiegazioni localmente con Ollama.

Benchmark di retrieval misurato

Valutazione COCO Captions con 200 query e indici separati da 1.000 e 5.000 immagini.

Recall@10

0,88

Indice da 1.000 immagini

Recall@10

0,57

Indice da 5.000 immagini

Recall@1 / @5 / @10

0,46 / 0,755 / 0,88

200 query COCO Captions

Latenza media

6,92ms

Indice da 1.000 immagini

Tecnologia

Stack

PythonFastAPIReactViteFAISSHNSWCLIPPyTorchOpenCVOllamaRAGVector embeddings

Aree

IA applicataSistemi di retrievalRAGVisione artificialeRicerca vettorialeIA full-stack

Benchmark di retrieval

Risultati registrati del benchmark

Come cambia il retrieval con la crescita dell'indice

Passa tra le dimensioni valutate per confrontare Recall@K e latenza controllata. La latenza applicativa proviene da un registro separato e include una parte più ampia del flusso completo.

Confronto del Recall

200 query di valutazione
Recall@146%
Recall@575,5%
Recall@1088%

Recall@10: 88% delle corrispondenze rilevanti recuperate

Contesto di esecuzione dell'applicazione

209 eventi registrati
Ricerca media registrata
68,07 ms
Spiegazione media del LLM locale
13,74 s

La query valutata da 6,9 ms e la ricerca registrata da 68,07 ms misurano percorsi diversi e mantengono quindi etichette e contesti temporali separati.

Vedi i file JSON del benchmark su GitHub

Conclusioni

  • Il linguaggio quotidiano diventa direttamente evidenza visiva ordinata.
  • I benchmark rendono confrontabili qualità del retrieval e latenza.
  • Browser e CLI condividono lo stesso flusso riproducibile.

Vuoi esaminare l'implementazione?

Il repository contiene codice sorgente, istruzioni di configurazione e cronologia dello sviluppo.

Apri il repository