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

MongoDB

Tại sao LibreChat sử dụng MongoDB

MongoDB, một cơ sở dữ liệu NoSQL phổ biến, đã được chọn làm cơ sở dữ liệu cốt lõi cho LibreChat nhờ tính linh hoạt, khả năng mở rộng và khả năng xử lý các cấu trúc dữ liệu đa dạng một cách hiệu quả. Dưới đây là một số lý do chính tại sao MongoDB là lựa chọn tuyệt vời cho LibreChat:

MongoDB Compass đang xem cơ sở dữ liệu LibreChat

1. Mô hình dữ liệu linh hoạt

Mô hình dữ liệu dựa trên tài liệu của MongoDB cho phép lưu trữ và truy xuất dữ liệu theo cách linh hoạt và năng động. Không giống như các cơ sở dữ liệu quan hệ truyền thống, MongoDB không yêu cầu một lược đồ cố định, giúp việc thích ứng với các yêu cầu dữ liệu thay đổi trở nên dễ dàng hơn. Sự linh hoạt này là yếu tố thiết yếu đối với LibreChat, vì ứng dụng cần lưu trữ nhiều loại dữ liệu khác nhau, chẳng hạn như lịch sử trò chuyện, hồ sơ người dùng, các thiết lập sẵn, khóa API, và nhiều hơn nữa, mà không bị ràng buộc bởi cấu trúc bảng cứng nhắc.

2. Lưu trữ hiệu quả lịch sử trò chuyện

Một trong những trường hợp sử dụng chính của LibreChat là lưu trữ và truy xuất lịch sử trò chuyện. Khả năng lưu trữ các cấu trúc dữ liệu lồng nhau dưới dạng tài liệu giống như JSON của MongoDB khiến nó trở thành một lựa chọn tuyệt vời để lưu trữ lịch sử trò chuyện, vốn có thể bao gồm các cấu trúc dữ liệu phức tạp như tin nhắn, dấu thời gian và siêu dữ liệu.

3. Lưu trữ an toàn dữ liệu nhạy cảm

LibreChat xử lý dữ liệu nhạy cảm, chẳng hạn như các API key và mật khẩu người dùng đã được mã hóa. Hỗ trợ tích hợp sẵn của MongoDB cho việc mã hóa dữ liệu ở trạng thái nghỉ (at rest) và trong quá trình truyền tải (in transit) đảm bảo rằng thông tin nhạy cảm này luôn được bảo mật và bảo vệ khỏi sự truy cập trái phép.

4. Khả năng mở rộng theo chiều ngang

Khi LibreChat phát triển và thu hút nhiều người dùng hơn, các yêu cầu về lưu trữ dữ liệu của nó sẽ tăng lên. Khả năng mở rộng theo chiều ngang của MongoDB cho phép mở rộng bằng cách thêm nhiều máy chủ hơn vào một cụm, cung cấp khả năng xử lý lượng dữ liệu lớn hơn và lưu lượng truy cập cao hơn mà không làm ảnh hưởng đến hiệu suất.

5. Khả năng truy cập trên nhiều thiết bị

LibreChat hướng tới việc mang lại trải nghiệm liền mạch trên nhiều thiết bị, cho phép người dùng truy cập dữ liệu và lịch sử trò chuyện của họ từ các thiết bị khác nhau. Các khả năng sao chép (replication) và phân mảnh (sharding) của MongoDB đảm bảo rằng dữ liệu luôn nhất quán và có thể truy cập được, giúp người dùng tiếp tục cuộc trò chuyện của mình tại nơi họ đã dừng lại, bất kể họ đang sử dụng thiết bị nào.

6. Năng suất của nhà phát triển

Ngôn ngữ truy vấn trực quan cùng hệ sinh thái các công cụ và thư viện phong phú của MongoDB góp phần đẩy nhanh chu kỳ phát triển và tăng năng suất cho nhà phát triển. Điều này hoàn toàn phù hợp với mục tiêu của LibreChat trong việc trở thành một dự án mã nguồn mở, thúc đẩy sự hợp tác và đóng góp từ cộng đồng nhà phát triển.

Bằng cách tận dụng thế mạnh của MongoDB, LibreChat có thể quản lý và lưu trữ hiệu quả các cấu trúc dữ liệu đa dạng, đảm bảo tính bảo mật và khả dụng của dữ liệu, đồng thời mang lại trải nghiệm liền mạch trên nhiều thiết bị cho người dùng. Tính linh hoạt, khả năng mở rộng và các tính năng thân thiện với nhà phát triển của MongoDB biến nó trở thành lựa chọn lý tưởng để vận hành các chức năng cốt lõi của LibreChat.

Lưu ý

Khả năng tương thích CPU

Lưu ý: Nếu bạn đang chạy LibreChat trên bộ xử lý không hỗ trợ SSE4.2, AVX hoặc các tính năng CPU bắt buộc khác, bạn sẽ cần sử dụng phiên bản MongoDB cũ hơn nhưng tương thích với cài đặt Docker. Cụ thể, bạn nên sử dụng image mongo:4.4.18, phiên bản này tương thích với các bộ xử lý không có các tính năng nêu trên.

Để sử dụng phiên bản MongoDB cũ hơn này với cài đặt LibreChat Docker, bạn sẽ cần sử dụng tệp docker-compose.override.yml. Tệp ghi đè này cho phép bạn chỉ định phiên bản MongoDB mà bạn muốn sử dụng, ghi đè lên phiên bản mặc định có trong tệp docker-compose.yml chính.

Để biết thêm thông tin về cách sử dụng tệp docker-compose.override.yml và cấu hình phiên bản MongoDB cũ hơn cho cài đặt Docker của bạn, vui lòng tham khảo Hướng dẫn Cấu hình Ghi đè Docker của chúng tôi.

Hướng dẫn này thế nào?