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

MongoDB

Por que o LibreChat usa MongoDB

O MongoDB, um banco de dados NoSQL popular, foi escolhido como o banco de dados principal para o LibreChat devido à sua flexibilidade, escalabilidade e capacidade de lidar com estruturas de dados diversas de forma eficiente. Aqui estão alguns motivos principais pelos quais o MongoDB é uma excelente escolha para o LibreChat:

MongoDB Compass visualizando o banco de dados do LibreChat

1. Modelo de Dados Flexível

O modelo de dados baseado em documentos do MongoDB permite armazenar e recuperar dados de maneira flexível e dinâmica. Ao contrário dos bancos de dados relacionais tradicionais, o MongoDB não requer um esquema fixo, tornando mais fácil a adaptação a requisitos de dados em constante mudança. Essa flexibilidade é essencial para o LibreChat, pois ele precisa armazenar vários tipos de dados, como históricos de conversas, perfis de usuário, predefinições, chaves de API e muito mais, sem ser limitado por uma estrutura de tabela rígida.

2. Armazenamento Eficiente de Históricos de Conversa

Um dos principais casos de uso do LibreChat é armazenar e recuperar históricos de conversas. A capacidade do MongoDB de armazenar estruturas de dados aninhadas como documentos semelhantes a JSON o torna uma excelente escolha para armazenar históricos de conversas, que podem incluir estruturas de dados complexas como mensagens, carimbos de data/hora e metadados.

3. Armazenamento Seguro de Dados Sensíveis

O LibreChat lida com dados sensíveis, como chaves de API e senhas de usuários criptografadas. O suporte nativo do MongoDB para criptografia de dados em repouso e em trânsito garante que essas informações sensíveis permaneçam seguras e protegidas contra acesso não autorizado.

4. Escalabilidade Horizontal

À medida que o LibreChat cresce e atrai mais usuários, seus requisitos de armazenamento de dados aumentarão. A escalabilidade horizontal do MongoDB permite a expansão adicionando mais servidores a um cluster, proporcionando a capacidade de lidar com maiores volumes de dados e cargas de tráfego mais altas sem comprometer o desempenho.

5. Acessibilidade entre Dispositivos

O LibreChat visa proporcionar uma experiência integrada em vários dispositivos, permitindo que os usuários acessem seus dados e históricos de conversas a partir de diferentes aparelhos. As capacidades de replicação e sharding do MongoDB garantem que os dados estejam consistentemente disponíveis e acessíveis, permitindo que os usuários retomem suas conversas de onde pararam, independentemente do dispositivo que estejam usando.

6. Produtividade do Desenvolvedor

A linguagem de consulta intuitiva do MongoDB e seu rico ecossistema de ferramentas e bibliotecas contribuem para ciclos de desenvolvimento mais rápidos e maior produtividade do desenvolvedor. Isso se alinha bem com o objetivo do LibreChat de ser um projeto de código aberto, promovendo a colaboração e as contribuições da comunidade de desenvolvedores.

Ao aproveitar os pontos fortes do MongoDB, o LibreChat pode gerenciar e armazenar de forma eficiente diversas estruturas de dados, garantir a segurança e a disponibilidade dos dados e proporcionar uma experiência perfeita entre dispositivos para seus usuários. A flexibilidade, a escalabilidade e os recursos amigáveis ao desenvolvedor do MongoDB tornam-no uma escolha ideal para impulsionar as funcionalidades principais do LibreChat.

Nota

Compatibilidade de CPU

Nota: Se você estiver executando o LibreChat em um processador que não possui suporte a SSE4.2, AVX ou outros recursos de CPU necessários, você precisará usar uma versão mais antiga, porém compatível, do MongoDB com a instalação Docker. Especificamente, você deve usar a imagem mongo:4.4.18, que é compatível com processadores que não possuem esses recursos.

Para usar esta versão mais antiga do MongoDB com a instalação do LibreChat via Docker, você precisará utilizar o arquivo docker-compose.override.yml. Este arquivo de substituição permite que você especifique a versão do MongoDB que deseja usar, sobrescrevendo a versão padrão incluída no arquivo docker-compose.yml principal.

Para mais informações sobre como usar o arquivo docker-compose.override.yml e configurar uma versão mais antiga do MongoDB para sua instalação Docker, consulte nosso Guia de Configuração de Override do Docker.

Como está este guia?