LEANN
[MLsys2026]: RAG on Everything with LEANN. Enjoy 97% storage savings while running a fast, accurate, and 100% private RAG application on your personal device.
Analisi AI · Italiano
openai · gpt-4o-miniSintesi
LEANN è un database vettoriale innovativo che riduce lo spazio di archiviazione necessario per i vettori del 97% senza compromettere l'accuratezza. Permette di creare un sistema RAG (Retrieval Augmented Generation) potente e completamente privato sul proprio dispositivo, trasformando un laptop in un assistente AI personale. Supporta l'indicizzazione e la ricerca semantica su milioni di documenti e tipi di dati eterogenei, mantenendo la privacy e riducendo i costi.
Casi d'uso
- →Creare un assistente AI personale sul proprio laptop che indicizza e cerca i propri documenti locali (PDF, TXT, MD) per rispondere a domande.
- →Costruire un sistema di ricerca semantica privato per la cronologia email, chat (iMessage, WeChat) e navigazione web, mantenendo tutti i dati sul dispositivo.
- →Integrare LEANN con strumenti di sviluppo (come Claude Code) per migliorare le capacità di ricerca semantica del codebase, permettendo query complesse sul codice sorgente.
- →Sviluppare applicazioni di RAG che richiedono una bassa impronta di storage e alta portabilità, tipiche per dispositivi edge o con risorse limitate.
- →Creare un archivio di conoscenza personale indicizzato dove l'utente può chattare con i propri dati storici di piattaforme come ChatGPT o Slack.
Idee SaaS / Business
Una piattaforma SaaS che offre un servizio di indicizzazione e RAG completamente privato per documenti personali e aziendali, permettendo agli utenti di caricare dati sensibili che non lasciano mai il loro ambiente privato (es. network locale o dispositivo dedicato). Utilizzerebbe LEANN per la compressione e la privacy on-device, offrendo un'interfaccia web sicura per l'interrogazione.
Un servizio che permette team di sviluppatori di indicizzare i loro codebase privati e documentazione interna usando LEANN, consentendo ricerche semantiche avanzate e interazioni RAG senza esporre il codice sorgente ad API cloud esterne. Offrirebbe integrazioni con ambienti di sviluppo (IDE) e sistemi di controllo versione.
Una soluzione per la gestione della memoria digitale personale (email, chat, cronologia web, file) che garantisce che tutti i dati rimangano sul dispositivo dell'utente. Il servizio SaaS fornirebbe l'infrastruttura software per LEANN e aggiornamenti, ma l'indicizzazione e il recupero avverrebbero localmente, vendendo il software come licenza perpetua o abbonamento con supporto.
README · tradotto in italiano
Il più piccolo indice vettoriale al mondo. RAG su tutto con LEANN!
LEANN è un database vettoriale innovativo che democratizza l'AI personale. Trasforma il tuo laptop in un potente sistema RAG in grado di indicizzare e cercare tra milioni di documenti utilizzando il 97% in meno di spazio di archiviazione rispetto alle soluzioni tradizionali senza perdita di accuratezza.
LEANN raggiunge questo obiettivo attraverso la ricomputazione selettiva basata su grafo con potatura che preserva i gradi elevati, calcolando gli embedding on-demand invece di memorizzarli tutti. Illustrazione Architettura e come funziona → | Paper →
Pronto per il RAG su Tutto? Trasforma il tuo laptop in un assistente AI personale in grado di effettuare ricerche semantiche su:
- filesystem
- cronologia del browser
- cronologia chat (WeChat, iMessage)
- memoria degli agenti (ChatGPT, Claude)
- dati live (Slack, Twitter)
- codice
- basi di conoscenza esterne (es. 60M documenti)
— tutto sul tuo laptop, con zero costi cloud e completa privacy.
* Il codice Claude supporta solo la ricerca per parole chiave stile grep. LEANN è un servizio MCP di ricerca semantica pienamente compatibile con il codice Claude, sbloccando il recupero intelligente senza modificare il tuo flusso di lavoro. 🔥 Scopri la facile configurazione →
Perché LEANN?

I numeri parlano da soli: Indicizza 60 milioni di blocchi di testo in soli 6GB invece di 201GB. Dalle email alla cronologia del browser, tutto si adatta al tuo laptop. Vedi benchmark dettagliati per diverse applicazioni qui sotto ↓
🔒 Privacy: I tuoi dati non lasciano mai il tuo laptop. Nessun OpenAI, nessun cloud, nessun "termini di servizio".
🪶 Leggero: La ricomputazione basata su grafo elimina l'archiviazione pesante degli embedding, mentre la potatura intelligente del grafo e il formato CSR minimizzano l'overhead di archiviazione del grafo. Sempre meno spazio di archiviazione, meno utilizzo di memoria!
📦 Portatile: Trasferisci la tua intera base di conoscenza tra dispositivi (anche con altri) con costi minimi - la tua memoria AI personale viaggia con te.
📈 Scalabilità: Gestisci dati personali disordinati che farebbero crashare i database vettoriali tradizionali, gestendo facilmente i tuoi dati personalizzati in crescita e la memoria generata dagli agenti!
✨ Nessuna perdita di accuratezza: Mantieni la stessa qualità di ricerca delle soluzioni più pesanti utilizzando il 97% in meno di spazio di archiviazione.
Installazione
📦 Prerequisiti: Installa uv
Installa uv prima se non lo hai. Tipicamente, puoi installarlo con:
curl -LsSf https://astral.sh/uv/install.sh | sh
🚀 Installazione Rapida
Clona il repository per accedere a tutti gli esempi e provare fantastiche applicazioni,
git clone https://github.com/yichuan-w/LEANN.git leann
cd leann
e installa LEANN da PyPI per eseguirli immediatamente:
uv venv
source .venv/bin/activate
uv pip install leann
# Solo CPU (Linux): usa l'extra `cpu` (es. `leann[cpu]`)
🔧 Build da Sorgente (Consigliato per lo sviluppo)
git clone https://github.com/yichuan-w/LEANN.git leann
cd leann
git submodule update --init --recursive
macOS:
Nota: DiskANN richiede MacOS 13.3 o successivo.
brew install libomp boost protobuf zeromq pkgconf
uv sync --extra diskann
Linux (Ubuntu/Debian):
Nota: Su Ubuntu 20.04, potrebbe essere necessario costruire un Abseil più recente e fissare Protobuf (es. v3.20.x) per la costruzione di DiskANN. Vedi Issue #30 per una nota passo-passo.
Puoi installare manualmente Intel oneAPI MKL invece di libmkl-full-dev per DiskANN. Puoi anche usare libopenblas-dev per costruire solo HNSW, rimuovendo --extra diskann nel comando seguente.
sudo apt-get update && sudo apt-get install -y \
libomp-dev libboost-all-dev protobuf-compiler libzmq3-dev \
pkg-config libabsl-dev libaio-dev libprotobuf-dev \
libmkl-full-dev
uv sync --extra diskann
Linux (Arch Linux):
sudo pacman -Syu && sudo pacman -S --needed base-devel cmake pkgconf git gcc \
boost boost-libs protobuf abseil-cpp libaio zeromq
# Per MKL in DiskANN
sudo pacman -S --needed base-devel git
git clone https://aur.archlinux.org/paru-bin.git
cd paru-bin && makepkg -si
paru -S intel-oneapi-mkl intel-oneapi-compiler
source /opt/intel/oneapi/setvars.sh
uv sync --extra diskann
Linux (RHEL / CentOS Stream / Oracle / Rocky / AlmaLinux):
Vedi Issue #50 per maggiori dettagli.
sudo dnf groupinstall -y "Development Tools"
sudo dnf install -y libomp-devel boost-devel protobuf-compiler protobuf-devel \
abseil-cpp-devel libaio-devel zeromq-devel pkgconf-pkg-config
# Per MKL in DiskANN
sudo dnf install -y intel-oneapi-mkl intel-oneapi-mkl-devel \
intel-oneapi-openmp || sudo dnf install -y intel-oneapi-compiler
source /opt/intel/oneapi/setvars.sh
uv sync --extra diskann
Windows:
Richiede Visual Studio 2022 Build Tools con il workload C++ desktop development, e vcpkg.
# Installa toolchain (se non già presente)
choco install cmake swig pkgconfiglite nuget.commandline -y
# Installa dipendenze C++ tramite vcpkg
vcpkg install zeromq:x64-windows openblas:x64-windows lapack:x64-windows `
boost-program-options:x64-windows protobuf:x64-windows
# Imposta variabili d'ambiente (adatta VCPKG_ROOT al tuo percorso vcpkg)
$env:CMAKE_PREFIX_PATH = "$env:VCPKG_ROOT\installed\x64-windows"
$env:PKG_CONFIG_PATH = "$env:VCPKG_ROOT\installed\x64-windows\lib\pkgconfig"
$env:PKG_CONFIG_EXECUTABLE = "C:\ProgramData\chocolatey\bin\pkg-config.exe"
$env:OPENBLAS_LIB = "$env:VCPKG_ROOT\installed\x64-windows\lib\openblas.lib"
$env:PATH += ";$env:VCPKG_ROOT\installed\x64-windows\bin"
$env:PATH += ";$env:VCPKG_ROOT\installed\x64-windows\tools\protobuf"
uv sync --extra diskann
Avvio Rapido
La nostra API dichiarativa rende il RAG facile come scrivere un file di configurazione.
Dai un'occhiata a demo.ipynb o
from leann import LeannBuilder, LeannSearcher, LeannChat
from pathlib import Path
INDEX_PATH = str(Path("./").resolve() / "demo.leann")
# Costruisci un indice
builder = LeannBuilder(backend_name="hnsw")
builder.add_text("LEANN risparmia il 97% di spazio rispetto ai database vettoriali tradizionali.")
builder.add_text("Tung Tung Tung Sahur ha chiamato — hanno bisogno del loro ibrido banana-coccodrillo indietro")
builder.build_index(INDEX_PATH)
# Cerca
searcher = LeannSearcher(INDEX_PATH)
results = searcher.search("creature fantastiche generate dall'AI", top_k=1)
# Chat con i tuoi dati
chat = LeannChat(INDEX_PATH, llm_config={"type": "hf", "model": "Qwen/Qwen3-0.6B"})
response = chat.ask("Quanto spazio di archiviazione risparmia LEANN?", top_k=1)
RAG su Tutto!
LEANN supporta il RAG su varie fonti di dati inclusi documenti (.pdf, .txt, .md), Apple Mail, Cronologia di Ricerca Google, WeChat, conversazioni ChatGPT, conversazioni Claude, conversazioni iMessage, e dati live da qualsiasi piattaforma tramite server MCP (Model Context Protocol) - inclusi Slack, Twitter, e altro.
Configurazione del Modello di Generazione
Backend LLM
LEANN supporta molti provider LLM per la generazione di testo (HuggingFace, Ollama, Anthropic e qualsiasi API compatibile con OpenAI).
🔑 Configurazione API OpenAI (Default)
Imposta la tua chiave API OpenAI come variabile d'ambiente:
export OPENAI_API_KEY="la-tua-api-key-qui"
Assicurati di usare il flag --llm openai quando usi la CLI. Puoi anche specificare il nome del modello con il flag --llm-model <nome-modello>.
🛠️ Provider LLM & Embedding Supportati (tramite Compatibilità OpenAI)
Grazie all'ampia adozione del formato API OpenAI, LEANN è compatibile out-of-the-box con una vasta gamma di provider LLM e di embedding. Basta impostare le variabili d'ambiente OPENAI_BASE_URL e OPENAI_API_KEY per connettersi al servizio preferito.
export OPENAI_API_KEY="xxx"
export OPENAI_BASE_URL="http://localhost:1234/v1" # url base del provider
Per usare un endpoint compatibile con OpenAI con l'interfaccia CLI:
Se lo stai usando per la generazione di testo, assicurati di usare il flag --llm openai e specifica il nome del modello con il flag --llm-model <nome-modello>.
Se lo stai usando per l'embedding, imposta il flag --embedding-mode openai e specifica il nome del modello con --embedding-model <MODELLO>.
Di seguito un elenco di URL base per i provider comuni per iniziare.
🖥️ Motori di Inferenza Locali (Consigliato per la massima privacy)
| Provider | URL Base Esempio |
|---|---|
| Ollama | http://localhost:11434/v1 |
| LM Studio | http://localhost:1234/v1 |
| vLLM | http://localhost:8000/v1 |
| llama.cpp | http://localhost:8080/v1 |
| SGLang | http://localhost:30000/v1 |
| LiteLLM | http://localhost:4000 |
☁️ Provider Cloud
🚨 Una Nota sulla Privacy: Prima di scegliere un provider cloud, esamina attentamente le loro politiche sulla privacy e sulla conservazione dei dati. A seconda dei loro termini, i tuoi dati potrebbero essere utilizzati per i loro scopi, inclusi, ma non limitati a, revisioni umane e addestramento del modello, il che può portare a gravi conseguenze se non gestito correttamente.
| Provider | URL Base |
|---|---|
| OpenAI | https://api.openai.com/v1 |
| OpenRouter | https://openrouter.ai/api/v1 |
| Gemini | https://generativelanguage.googleapis.com/v1beta/openai/ |
| x.AI (Grok) | https://api.x.ai/v1 |
| Groq AI | https://api.groq.com/openai/v1 |
| DeepSeek | https://api.deepseek.com/v1 |
| SiliconFlow | https://api.siliconflow.cn/v1 |
| Zhipu (BigModel) | https://open.bigmodel.cn/api/paas/v4/ |
| Mistral AI | https://api.mistral.ai/v1 |
| Anthropic | https://api.anthropic.com/v1 |
| Jina AI (Embeddings) | https://api.jina.ai/v1 |
💡 Suggerimento: Provider di Embedding Separato
Per utilizzare un provider diverso per gli embedding (es. Jina AI) mentre ne usi un altro per LLM, usa `--embedding-a...
Attività commit · ultime 26 settimane
stimaApprofondimenti AI
Chiedi al repo
AI · contesto README + issueFai una domanda sul progetto. L'AI legge README e issue recenti.
Hai bisogno di un server per far girare yichuan-w/LEANN?
Abbiamo testato decine di provider e Hostinger VPS è il miglior rapporto qualità/prezzo per self-hostare le repo che trovi qui. Setup in 1 click, pannello semplice e supporto 24/7.
Questo progetto esiste grazie a voi
RepoRadar AI è gratis e senza pubblicità. Le donazioni coprono server, API e modelli AI.
Ogni analisi tradotta che leggi costa qualche centesimo di chiamate al modello. Se RepoRadar ti ha fatto risparmiare tempo, considera una piccola donazione cripto — anche pochi euro aiutano a mantenere il servizio libero per tutti.
0x86ECDF546d8dFc0739d44c066A6110F11cdB7773bc1qqe0wcmhnt78enk8ql0lxvey4z8hquxsxjtyz8rEtTK61Lz7kfdDM8543TMMiAUUTbFVpzX5tvPEcBtZ3ajGrazie di cuore — ogni contributo conta.