Sono felice di annunciare che il mio progetto di distribuzione automatizzata di LibreChat su AWS EC2 è stato aggiornato per correggere problemi legati ai recenti cambiamenti nel modo di installare LibreChat, supportando ora la versione v0.7.6. Questo aggiornamento include inoltre la possibilità di scegliere tra istanze On-Demand e Spot, oltre a miglioramenti per semplificare l’uso, anche per i principianti.
Cosa c’è di nuovo in questo aggiornamento ?
Supporto della versione v0.7.6 di LibreChat
Il progetto clona direttamente il tag v0.7.6 di LibreChat, assicurando che tutti i deployment utilizzino una versione convalidata e testata. Questo evita sorprese dovute a cambiamenti inattesi nel repository principale.
Codice aggiornato nello script User-Data :
# Clone le dépôt LibreChat avec uniquement le tag v0.7.6git clone --branch v0.7.6 --depth 1 https://github.com/danny-avila/LibreChat.gitcd LibreChat/Gestione delle istanze On-Demand e Spot
Ho aggiunto una variabile spot_enabled in Terraform che consente di scegliere dinamicamente se il deployment utilizza istanze Spot o On-Demand. Per impostazione predefinita è abilitata la modalità On-Demand per offrire un’esperienza più accessibile ai principianti, evitando la necessità di configurare i prezzi spot. Questo garantisce che il progetto sia immediatamente funzionante per tutti.
Estratto aggiornato di ec2.tf :
# Bloc dynamique pour conditionner les options du marché Spotdynamic "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 } }}Estratto di variables.tf :
variable "spot_enabled" { description = "Active ou désactive l'utilisation du marché Spot" type = bool default = false}Aggiornamento della versione di Terraform
La versione di Terraform usata nel progetto è stata aggiornata da 1.5.7 a 1.10.3. Ciò garantisce compatibilità con le ultime funzionalità e miglioramenti di Terraform.
# Version de l'image Docker TerraformTERRAFORM_VERSION: hashicorp/terraform:1.10.3Correzioni per la configurazione dei modelli Mistral
La configurazione di Mistral in librechat.yaml è stata aggiornata per supportare i cambiamenti di formato nell’ultima versione. La chiave API viene ancora recuperata da AWS Systems Manager (SSM), come per gli altri modelli, e i modelli predefiniti ora includono mistral-large-latest.
Codice aggiornato :
# Remplace la ligne contenant apiKey: '${MISTRAL_API_KEY}' par la clé réelle dans librechat.yamlsed -i "s|apiKey: '\${MISTRAL_API_KEY}'|apiKey: '${MISTRAL_API_KEY}'|" librechat.yaml
# Modèles par défaut pour Mistralsed -i '/- name:.*Mistral/,/default:/ s|default:.*|default: [\'mistral-tiny\', \'mistral-small\', \'mistral-medium\', \'mistral-large-latest\']|' librechat.yamlAggiunta di file README multilingue
Per rendere il progetto accessibile a un maggior numero di utenti in tutto il mondo, ho utilizzato il mio script di traduzione di file Markdown basato su IA, alimentato dal modello GPT-4o, per generare file README in più lingue. Le lingue supportate includono inglese, tedesco, spagnolo, giapponese, coreano e cinese.
File aggiunti :
README-de-gpt-4o.mdREADME-en-gpt-4o.mdREADME-es-gpt-4o.mdREADME-ja-gpt-4o.mdREADME-ko-gpt-4o.mdREADME-zh-gpt-4o.md
Aggiornamento della configurazione Nginx
La configurazione Nginx per SSL, fornita di default, era deprecata in questa versione. Ho corretto il problema adattando le direttive e aggiungendo il supporto per i certificati SSL con i comandi sed per garantire la compatibilità.
Codice aggiornato :
# Monter les certificats SSL dans le fichier deploy-compose.ymlsed -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 Nginxsed -i '/listen 443 ssl;/!s/listen 443 ssl;/listen 443 ssl http2;/' client/nginx.confsed -i '/listen \[::\]:443 ssl;/!s/listen \[::\]:443 ssl;/listen [::]:443 ssl http2;/' client/nginx.conf
# Corriger les erreurs de commentaire sur les URLssed -i 's|https://docs.nginx.com/nginx/admin-guide/web-server/compression/|# https://docs.nginx.com/nginx/admin-guide/web-server/compression/|' client/nginx.confsed -i 's|https://docs.nginx.com/nginx/admin-guide/web-server/compression/|# &|' client/nginx.confMiglioramenti a Terraform
- Cambio del tipo di istanza predefinito da
t3a.microat3a.smallper migliori prestazioni. - Aggiornamento dei prezzi spot in
variables.tfper riflettere i costi attuali.
Estratto aggiornato di variables.tf :
variable "spot_max_price" { default = { "t3a.large" = "0.0376" "t3a.small" = "0.0095" "t3a.medium" = "0.01940" "t3a.micro" = "0.006" }}Perché questo aggiornamento è importante
Bloccando la versione di LibreChat, correggendo i problemi legati alle configurazioni di Nginx e Mistral e offrendo la possibilità di scegliere tra istanze On-Demand e Spot, questo aggiornamento aumenta l’affidabilità e la flessibilità del progetto. Con la modalità On-Demand impostata di default, anche i principianti possono distribuire LibreChat senza prerequisiti complessi.
Riepilogo
- Supporto della versione v0.7.6 di LibreChat : clonazione del tag corretto per evitare problemi legati a cambiamenti non controllati.
- Gestione delle istanze : scelta tra On-Demand e Spot, con On-Demand impostato di default per semplificare l’esperienza utente.
- Versione di Terraform : aggiornamento alla versione 1.10.3 per usufruire delle ultime migliorie.
- Mistral AI : gestione automatica delle chiavi API e dei modelli, adattata al nuovo formato.
- README multilingue : documentazione accessibile in più lingue.
- Nginx : configurazione SSL corretta e adattata alle nuove direttive.
- Terraform : aggiustamenti per migliori prestazioni e costi accurati.
Scopri il progetto completo
Puoi consultare e utilizzare questo progetto sul repository GitLab.
Non esitare a condividere i tuoi feedback o a contribuire al progetto!
Questo documento è stato tradotto dalla versione fr alla lingua it utilizzando il modello gpt-5-mini. Per ulteriori informazioni sul processo di traduzione, consultate https://gitlab.com/jls42/ai-powered-markdown-translator