Estou feliz em anunciar que meu projeto de implantação automatizada do LibreChat no AWS EC2 foi atualizado para corrigir problemas relacionados às mudanças recentes na forma de instalar o LibreChat, além de agora suportar a versão v0.7.6. Esta atualização também inclui a possibilidade de escolher entre instâncias On-Demand e Spot, bem como melhorias para simplificar o uso, mesmo para iniciantes.
O que há de novo nesta atualização?
Suporte à versão v0.7.6 do LibreChat
O projeto clona diretamente a tag v0.7.6
do LibreChat, garantindo que todas as implantações utilizem uma versão validada e testada. Isso evita surpresas relacionadas a mudanças inesperadas no repositório principal.
Código atualizado no script User-Data:
# Clone le dépôt LibreChat avec uniquement le tag v0.7.6
git clone --branch v0.7.6 --depth 1 https://github.com/danny-avila/LibreChat.git
cd LibreChat/
Gerenciamento de instâncias On-Demand e Spot
Adicionei uma variável spot_enabled
no Terraform que permite escolher dinamicamente se a implantação usa instâncias Spot ou On-Demand. Por padrão, o modo On-Demand está ativado para oferecer uma experiência mais acessível aos iniciantes, evitando a necessidade de configurar preços spot. Isso garante que o projeto esteja imediatamente funcional para todos.
Trecho atualizado de ec2.tf
:
# Bloc dynamique pour conditionner les options du marché Spot
dynamic "instance_market_options" {
for_each = var.spot_enabled ? [1] : [] # Si spot_enabled est true, le bloc est créé
content {
market_type = "spot"
spot_options {
max_price = var.spot_max_price[var.instance_type]
instance_interruption_behavior = var.spot_request_type == "persistent" ? "stop" : null
spot_instance_type = var.spot_request_type
}
}
}
Trecho de variables.tf
:
variable "spot_enabled" {
description = "Active ou désactive l'utilisation du marché Spot"
type = bool
default = false
}
Atualização da versão do Terraform
A versão do Terraform utilizada no projeto foi atualizada de 1.5.7
para 1.10.3
. Isso garante compatibilidade com os mais recentes recursos e melhorias do Terraform.
# Version de l'image Docker Terraform
TERRAFORM_VERSION: hashicorp/terraform:1.10.3
Correções para a configuração dos modelos Mistral
A configuração do Mistral em librechat.yaml
foi atualizada para suportar as mudanças de formato na última versão. A chave API ainda é recuperada do AWS Systems Manager (SSM), assim como para os outros modelos, e os modelos padrão agora incluem mistral-large-latest
.
Código atualizado:
# Remplace la ligne contenant apiKey: '${MISTRAL_API_KEY}' par la clé réelle dans librechat.yaml
sed -i "s|apiKey: '\${MISTRAL_API_KEY}'|apiKey: '${MISTRAL_API_KEY}'|" librechat.yaml
# Modèles par défaut pour Mistral
sed -i '/- name:.*Mistral/,/default:/ s|default:.*|default: [\'mistral-tiny\', \'mistral-small\', \'mistral-medium\', \'mistral-large-latest\']|' librechat.yaml
Adição de arquivos README multilíngues
Para tornar o projeto acessível a um maior número de usuários ao redor do mundo, utilizei meu script de tradução de arquivos Markdown baseado em IA, alimentado pelo modelo GPT-4o, para gerar arquivos README em vários idiomas. Os idiomas suportados incluem inglês, alemão, espanhol, japonês, coreano e chinês.
Arquivos adicionados:
README-de-gpt-4o.md
README-en-gpt-4o.md
README-es-gpt-4o.md
README-ja-gpt-4o.md
README-ko-gpt-4o.md
README-zh-gpt-4o.md
Atualização da configuração Nginx
A configuração Nginx para SSL, fornecida por padrão, estava obsoleta nesta versão. Corrigi isso adaptando as diretivas e adicionando suporte aos certificados SSL com comandos sed
para garantir compatibilidade.
Código atualizado:
# Monter les certificats SSL dans le fichier deploy-compose.yml
sed -i '/- .\/client\/nginx.conf:\/etc\/nginx\/conf.d\/default.conf/a \ - \/etc\/nginx\/ssl:\/etc\/nginx\/ssl' deploy-compose.yml
# Corrige les directives dans nginx.conf pour la version récente de Nginx
sed -i '/listen 443 ssl;/!s/listen 443 ssl;/listen 443 ssl http2;/' client/nginx.conf
sed -i '/listen \[::\]:443 ssl;/!s/listen \[::\]:443 ssl;/listen [::]:443 ssl http2;/' client/nginx.conf
# Corriger les erreurs de commentaire sur les URLs
sed -i 's|https://docs.nginx.com/nginx/admin-guide/web-server/compression/|# https://docs.nginx.com/nginx/admin-guide/web-server/compression/|' client/nginx.conf
sed -i 's|https://docs.nginx.com/nginx/admin-guide/web-server/compression/|# &|' client/nginx.conf
Melhorias no Terraform
- Mudança do tipo de instância padrão de
t3a.micro
parat3a.small
para melhor performance. - Atualização dos preços spot em
variables.tf
para refletir os custos atuais.
Trecho atualizado de variables.tf
:
variable "spot_max_price" {
default = {
"t3a.large" = "0.0376"
"t3a.small" = "0.0095"
"t3a.medium" = "0.01940"
"t3a.micro" = "0.006"
}
}
Por que esta atualização é importante
Ao fixar a versão do LibreChat, corrigir os problemas relacionados às configurações do Nginx e Mistral, e oferecer a possibilidade de escolher entre instâncias On-Demand e Spot, esta atualização reforça a confiabilidade e a flexibilidade do projeto. Com o modo On-Demand por padrão, até mesmo iniciantes podem implantar o LibreChat sem pré-requisitos complexos.
Resumo
- Suporte à versão v0.7.6 do LibreChat: Clonagem da tag correta para evitar problemas relacionados a mudanças não controladas.
- Gerenciamento de instâncias: Escolha entre On-Demand e Spot, com On-Demand por padrão para simplificar a experiência do usuário.
- Versão do Terraform: Atualização para a versão 1.10.3 para aproveitar as últimas melhorias.
- Mistral AI: Gerenciamento automático de chaves API e modelos, adaptado ao novo formato.
- READMEs multilíngues: Documentação acessível em vários idiomas.
- Nginx: Configuração SSL corrigida e adaptada às novas diretivas.
- Terraform: Ajustes para melhor performance e custos precisos.
Descubra o projeto completo
Você pode consultar e utilizar este projeto no repositório GitLab.
Não hesite em compartilhar seu feedback ou contribuir para o projeto!
Este documento foi traduzido da versão fr para a língua pt utilizando o modelo o1-preview. Para mais informações sobre o processo de tradução, consulte https://gitlab.com/jls42/ai-powered-markdown-translator