LightRAG è un sistema di Retrieval-Augmented Generation (RAG) sviluppato da HKUDS (Hong Kong University Data Science) che sarà presentato a EMNLP 2025, una delle principali conferenze di elaborazione del linguaggio naturale. Con 22k stelle GitHub e con licenza MIT, il progetto mira a semplificare e accelerare l'estrazione di conoscenza e l'interrogazione intelligente attraverso un approccio innovativo che combina knowledge graph e database vettoriali.

Architettura di recupero a doppio livello

L'innovazione centrale di LightRAG risiede nel suo sistema di "recupero a doppio livello", che unisce due approcci complementari: i knowledge graph per catturare le relazioni strutturali tra entità e i database vettoriali per la ricerca semantica. Questa ibridazione offre sei modalità di interrogazione distinte (local, global, hybrid, naive, mix, bypass) che adattano la strategia di recupero al contesto e alle esigenze specifiche.

Supporto multimodale e formati multipli

La recente integrazione con RAG-Anything amplia considerevolmente le capacità di elaborazione dei documenti. Il sistema gestisce ora in modo continuo testo, immagini, tabelle ed equazioni provenienti da vari formati (PDF, DOC, PPT, CSV). Questo approccio multimodale trasforma LightRAG in una soluzione completa per l'estrazione di conoscenza da documenti aziendali eterogenei.

Flessibilità di archiviazione e scalabilità

LightRAG supporta un'architettura di archiviazione modulare a quattro livelli: archiviazione KV per la cache dell'LLM e i chunk di testo (JSON, PostgreSQL, Redis, MongoDB), archiviazione vettoriale per gli embedding (NanoVectorDB, Milvus, Chroma, Faiss, Qdrant, PostgreSQL, MongoDB), archiviazione a grafo per il grafo entità-relazione (NetworkX, Neo4J, PostgreSQL, AGE) e archiviazione dello stato dei documenti per il tracciamento dell'elaborazione. Questa flessibilità consente di scegliere il backend ottimale in base ai requisiti di prestazioni e infrastruttura. Per la produzione ad alte prestazioni, si raccomanda Neo4J come database a grafo.

Requisiti e raccomandazioni per l'LLM

Le specifiche raccomandate riflettono la sofisticazione del sistema: un LLM con almeno 32 miliardi di parametri e una lunghezza di contesto di 32KB (64KB preferibile) per ottimizzare l'estrazione delle relazioni tra entità. Sono suggeriti modelli di embedding multilingue diffusi come BAAI/bge-m3 e text-embedding-3-large. Il sistema supporta OpenAI (GPT-4o, GPT-4o-mini), Ollama per modelli locali e Hugging Face.

Configurazione avanzata e personalizzazione

LightRAG espone più di 25 parametri di inizializzazione che offrono un controllo granulare: dimensione dei chunk (1200 token di default), cicli di estrazione delle entità (1 di default), dimensione del batch di embedding (32 di default), parametri della cache dell'LLM e budget di token per entità, relazioni e contesto totale. Questa configurabilità consente di ottimizzare con precisione il compromesso tra prestazioni e costo.

Funzionalità avanzate e gestione

Il sistema offre capacità sofisticate: eliminazione di documenti per ID, eliminazione di entità per nome (mantenendo la coerenza grafo/vettore), supporto alle citazioni per l'attribuzione delle fonti, risposte in streaming, tracciamento della cronologia conversazionale e inserimento di knowledge graph personalizzati. L'architettura asincrona (asyncio) garantisce prestazioni e scalabilità.

Distribuzione e comunità

Installazione flessibile tramite PyPI (pip install "lightrag-hku[api]"), da sorgente o tramite Docker Compose con file di ambiente preconfigurati. La comunità attiva mantiene Discord, WeChat, documentazione completa, esempi e video tutorial. Gli aggiornamenti recenti (supporto PostgreSQL, citazioni, eliminazioni, Neo4J) dimostrano uno sviluppo attivo.