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

MongoDB

Dlaczego LibreChat używa MongoDB

MongoDB, popularna baza danych NoSQL, została wybrana jako główna baza danych dla LibreChat ze względu na swoją elastyczność, skalowalność oraz zdolność do wydajnego obsługiwania różnorodnych struktur danych. Oto kilka kluczowych powodów, dla których MongoDB doskonale pasuje do LibreChat:

MongoDB Compass przeglądający bazę danych LibreChat

1. Elastyczny model danych

Oparty na dokumentach model danych MongoDB pozwala na przechowywanie i pobieranie danych w elastyczny i dynamiczny sposób. W przeciwieństwie do tradycyjnych relacyjnych baz danych, MongoDB nie wymaga stałego schematu, co ułatwia dostosowanie się do zmieniających się wymagań dotyczących danych. Ta elastyczność jest kluczowa dla LibreChat, ponieważ musi on przechowywać różne typy danych, takie jak historie konwersacji, profile użytkowników, presety, klucze API i inne, bez ograniczeń wynikających ze sztywnej struktury tabel.

2. Wydajne przechowywanie historii konwersacji

Jednym z głównych zastosowań LibreChat jest przechowywanie i pobieranie historii konwersacji. Zdolność MongoDB do przechowywania zagnieżdżonych struktur danych jako dokumentów w formacie JSON sprawia, że jest to doskonały wybór do przechowywania historii konwersacji, które mogą zawierać złożone struktury danych, takie jak wiadomości, znaczniki czasu i metadane.

3. Bezpieczne przechowywanie danych wrażliwych

LibreChat obsługuje wrażliwe dane, takie jak klucze API i zaszyfrowane hasła użytkowników. Wbudowana w MongoDB obsługa szyfrowania danych w spoczynku (at rest) oraz podczas przesyłania (in transit) zapewnia, że te wrażliwe informacje pozostają bezpieczne i chronione przed nieautoryzowanym dostępem.

4. Skalowalność pozioma

W miarę jak LibreChat się rozwija i przyciąga coraz więcej użytkowników, jego wymagania dotyczące przechowywania danych będą rosły. Horyzontalna skalowalność MongoDB pozwala na skalowanie poprzez dodawanie kolejnych serwerów do klastra, co zapewnia możliwość obsługi większych ilości danych oraz wyższego natężenia ruchu bez pogorszenia wydajności.

5. Dostępność między urządzeniami

LibreChat ma na celu zapewnienie płynnego działania na wielu urządzeniach, umożliwiając użytkownikom dostęp do ich danych i historii konwersacji z różnych urządzeń. Możliwości replikacji i shardingu MongoDB zapewniają, że dane są stale dostępne, co pozwala użytkownikom na kontynuowanie rozmów w miejscu, w którym je przerwali, niezależnie od używanego urządzenia.

6. Produktywność programisty

Intuicyjny język zapytań MongoDB oraz bogaty ekosystem narzędzi i bibliotek przyczyniają się do szybszych cykli programistycznych i zwiększonej produktywności programistów. Jest to zgodne z celem LibreChat, jakim jest bycie projektem typu open-source, wspierającym współpracę i wkład społeczności programistycznej.

Wykorzystując mocne strony MongoDB, LibreChat może efektywnie zarządzać i przechowywać różnorodne struktury danych, zapewniać bezpieczeństwo i dostępność danych oraz oferować użytkownikom płynne działanie na wielu urządzeniach. Elastyczność, skalowalność i przyjazne dla programistów funkcje MongoDB sprawiają, że jest to idealny wybór do obsługi podstawowych funkcjonalności LibreChat.

Uwaga

Zgodność z CPU

Uwaga: Jeśli uruchamiasz LibreChat na procesorze, który nie posiada obsługi SSE4.2, AVX lub innych wymaganych funkcji procesora, będziesz musiał użyć starszej, ale kompatybilnej wersji MongoDB w instalacji Docker. W szczególności należy użyć obrazu mongo:4.4.18, który jest kompatybilny z procesorami nieposiadającymi tych funkcji.

Aby użyć tej starszej wersji MongoDB z instalacją LibreChat Docker, musisz skorzystać z pliku docker-compose.override.yml. Ten plik nadpisujący pozwala określić wersję MongoDB, której chcesz użyć, zastępując domyślną wersję zawartą w głównym pliku docker-compose.yml.

Aby uzyskać więcej informacji na temat korzystania z pliku docker-compose.override.yml oraz konfigurowania starszej wersji MongoDB dla instalacji Docker, zapoznaj się z naszym Przewodnikiem po konfiguracji Docker Override.

Jaka jest ta instrukcja?