Skip to main content
LibreChat is joining ClickHouse to power the open-source Agentic Data Stack 🎉 Learn more
LibreChat

MongoDB

Perché LibreChat utilizza MongoDB

MongoDB, un popolare database NoSQL, è stato scelto come database principale per LibreChat grazie alla sua flessibilità, scalabilità e capacità di gestire strutture dati eterogenee in modo efficiente. Ecco alcuni motivi chiave per cui MongoDB è una scelta eccellente per LibreChat:

MongoDB Compass mentre visualizza il database di LibreChat

1. Modello dati flessibile

Il modello di dati basato su documenti di MongoDB consente di archiviare e recuperare dati in modo flessibile e dinamico. A differenza dei database relazionali tradizionali, MongoDB non richiede uno schema fisso, rendendo più semplice l'adattamento ai mutevoli requisiti dei dati. Questa flessibilità è essenziale per LibreChat, poiché deve archiviare vari tipi di dati, come cronologie delle conversazioni, profili utente, preset, chiavi API e altro ancora, senza essere vincolato da una struttura a tabelle rigida.

2. Archiviazione efficiente delle cronologie delle conversazioni

Uno dei principali casi d'uso di LibreChat è l'archiviazione e il recupero delle cronologie delle conversazioni. La capacità di MongoDB di archiviare strutture dati nidificate come documenti simili a JSON lo rende una scelta eccellente per archiviare le cronologie delle conversazioni, che possono includere strutture dati complesse come messaggi, timestamp e metadati.

3. Archiviazione sicura dei dati sensibili

LibreChat gestisce dati sensibili, come le API key e le password utente crittografate. Il supporto integrato di MongoDB per la crittografia dei dati at-rest e in transito garantisce che queste informazioni sensibili rimangano sicure e protette da accessi non autorizzati.

4. Scalabilità orizzontale

Man mano che LibreChat cresce e attira più utenti, i suoi requisiti di archiviazione dati aumenteranno. La scalabilità orizzontale di MongoDB consente di espandersi aggiungendo più server a un cluster, offrendo la capacità di gestire quantità maggiori di dati e carichi di traffico più elevati senza compromettere le prestazioni.

5. Accessibilità cross-device

LibreChat mira a fornire un'esperienza fluida su più dispositivi, consentendo agli utenti di accedere ai propri dati e alla cronologia delle conversazioni da dispositivi diversi. Le funzionalità di replica e sharding di MongoDB garantiscono che i dati siano costantemente disponibili e accessibili, consentendo agli utenti di riprendere le conversazioni da dove le avevano interrotte, indipendentemente dal dispositivo utilizzato.

6. Produttività dello sviluppatore

Il linguaggio di query intuitivo di MongoDB e il ricco ecosistema di strumenti e librerie contribuiscono a cicli di sviluppo più rapidi e a una maggiore produttività degli sviluppatori. Ciò si allinea perfettamente con l'obiettivo di LibreChat di essere un progetto open-source, favorendo la collaborazione e i contributi da parte della comunità di sviluppatori.

Sfruttando i punti di forza di MongoDB, LibreChat è in grado di gestire e archiviare in modo efficiente diverse strutture dati, garantire la sicurezza e la disponibilità dei dati e offrire un'esperienza cross-device fluida per i propri utenti. La flessibilità, la scalabilità e le funzionalità orientate agli sviluppatori di MongoDB lo rendono una scelta ideale per alimentare le funzionalità principali di LibreChat.

Note

Compatibilità CPU

Nota: Se stai eseguendo LibreChat su un processore che non dispone di supporto SSE4.2, AVX o altre funzionalità CPU richieste, dovrai utilizzare una versione di MongoDB più vecchia ma compatibile con l'installazione Docker. Nello specifico, dovresti utilizzare l'immagine mongo:4.4.18, che è compatibile con i processori privi di queste funzionalità.

Per utilizzare questa versione precedente di MongoDB con l'installazione Docker di LibreChat, dovrai utilizzare il file docker-compose.override.yml. Questo file di override ti consente di specificare la versione di MongoDB che desideri utilizzare, sovrascrivendo la versione predefinita inclusa nel file docker-compose.yml principale.

Per ulteriori informazioni sull'utilizzo del file docker-compose.override.yml e sulla configurazione di una versione precedente di MongoDB per la tua installazione Docker, consulta la nostra Guida alla configurazione dell'override di Docker.

Com’è questa guida?