Sunt bucuros să anunț că proiectul meu de implementare automată a LibreChat pe AWS EC2 a fost actualizat pentru a rezolva problemele legate de schimbările recente în modul de instalare a LibreChat, suportând acum versiunea v0.7.6. Această actualizare include, de asemenea, posibilitatea de a alege între instanțe On-Demand și Spot, precum și îmbunătățiri pentru a simplifica utilizarea, chiar și pentru începători.

Ce este nou în această actualizare?

Suport pentru versiunea v0.7.6 a LibreChat

Proiectul clonează direct tag-ul v0.7.6 al LibreChat, asigurând că toate implementările folosesc o versiune validată și testată. Acest lucru evită surprizele legate de schimbări neașteptate în depozitul principal.

Cod actualizat în scriptul 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/

Gestionarea instanțelor On-Demand și Spot

Am adăugat o variabilă spot_enabled în Terraform care permite alegerea dinamică dacă implementarea utilizează instanțe Spot sau On-Demand. În mod implicit, modul On-Demand este activat pentru a oferi o experiență mai accesibilă pentru începători, evitând necesitatea de a configura prețuri spot. Acest lucru asigură că proiectul este imediat funcțional pentru toți.

Fragment actualizat din 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
    }
  }
}

Fragment din variables.tf :

variable "spot_enabled" {
  description = "Active ou désactive l'utilisation du marché Spot"
  type        = bool
  default     = false
}

Actualizare a versiunii Terraform

Versiunea Terraform utilizată în proiect a fost actualizată de la 1.5.7 la 1.10.3. Acest lucru asigură compatibilitatea cu cele mai recente funcționalități și îmbunătățiri ale Terraform.

# Version de l'image Docker Terraform
TERRAFORM_VERSION: hashicorp/terraform:1.10.3

Corecții pentru configurarea modelelor Mistral

Configurarea Mistral din librechat.yaml a fost actualizată pentru a suporta schimbările de format din cea mai recentă versiune. Cheia API este încă preluată din AWS Systems Manager (SSM), la fel ca pentru celelalte modele, iar modelele implicite includ acum mistral-large-latest.

Cod actualizat :

# 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

Adăugarea fișierelor README multilingve

Pentru a face proiectul accesibil unui număr mai mare de utilizatori din întreaga lume, am folosit scriptul meu de traducere a fișierelor Markdown bazat pe AI, alimentat de modelul GPT-4o, pentru a genera fișiere README în mai multe limbi. Limbile suportate includ engleza, germana, spaniola, japoneza, coreeana și chineza.

Fișiere adăugate :

  • 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

Actualizare a configurației Nginx

Configurația Nginx pentru SSL, furnizată implicit, era depreciată în această versiune. Am corectat acest lucru adaptând directivele și adăugând suport pentru certificatele SSL cu comenzi sed pentru a asigura compatibilitatea.

Cod actualizat :

# 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

Îmbunătățiri Terraform

  • Schimbarea tipului de instanță implicit de la t3a.micro la t3a.small pentru o performanță mai bună.
  • Actualizarea prețurilor spot în variables.tf pentru a reflecta costurile actuale.

Fragment actualizat din variables.tf :

variable "spot_max_price" {
  default = {
    "t3a.large"  = "0.0376"
    "t3a.small"  = "0.0095"
    "t3a.medium" = "0.01940"
    "t3a.micro"  = "0.006"
  }
}

De ce este importantă această actualizare

Prin fixarea versiunii LibreChat, corectarea problemelor legate de configurațiile Nginx și Mistral, și oferirea posibilității de a alege între instanțe On-Demand și Spot, această actualizare consolidează fiabilitatea și flexibilitatea proiectului. Cu modul On-Demand implicit, chiar și începătorii pot implementa LibreChat fără cerințe complexe.

Recapitulare

  • Suport pentru versiunea v0.7.6 a LibreChat : Clonarea corectă a tag-ului pentru a evita problemele legate de schimbări necontrolate.
  • Gestionarea instanțelor : Alegere între On-Demand și Spot, cu On-Demand implicit pentru a simplifica experiența utilizatorului.
  • Versiunea Terraform : Actualizare la versiunea 1.10.3 pentru a beneficia de cele mai recente îmbunătățiri.
  • Mistral AI : Gestionarea automată a cheilor API și a modelelor, adaptată noului format.
  • README multilingve : Documentație accesibilă în mai multe limbi.
  • Nginx : Configurație SSL corectată și adaptată noilor directive.
  • Terraform : Ajustări pentru performanțe îmbunătățite și costuri precise.

Descoperiți proiectul complet

Puteți consulta și utiliza acest proiect pe depozitul GitLab.

Nu ezitați să împărtășiți feedback-ul vostru sau să contribuiți la proiect !

Acest document a fost tradus din versiunea fr în limba ro folosind modelul o1-preview. Pentru mai multe informații despre procesul de traducere, consultați https://gitlab.com/jls42/ai-powered-markdown-translator