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:
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?
Presety
Funkcja "presets" w LibreChat to potężne narzędzie, które pozwala użytkownikom zapisywać i wczytywać predefiniowane ustawienia dla swoich konwersacji. Użytkownicy mogą importować i eksportować te presety jako pliki JSON, ustawiać domyślny preset oraz udostępniać je innym na Discordzie.
Zestaw narzędzi
Narzędzia programistyczne i narzędzia pomocnicze do konfiguracji LibreChat.