Suchen

infrastructureblogia

Aktualisierung: LibreChat Version v0.7.6 mit automatischer Bereitstellung auf AWS EC2

Aktualisierung: LibreChat Version v0.7.6 mit automatischer Bereitstellung auf AWS EC2

Ich freue mich, bekannt zu geben, dass mein Projekt zur automatisierten Bereitstellung von LibreChat auf AWS EC2 aktualisiert wurde, um Probleme im Zusammenhang mit den jüngsten Änderungen bei der Art und Weise der Installation von LibreChat zu beheben und nun die Version v0.7.6 zu unterstützen. Dieses Update enthält außerdem die Möglichkeit, zwischen On-Demand- und Spot-Instances zu wählen, sowie Verbesserungen zur Vereinfachung der Nutzung, auch für Einsteiger.

Was ist neu in diesem Update?

Unterstützung von LibreChat Version v0.7.6

Das Projekt klont direkt den Tag v0.7.6 von LibreChat, wodurch sichergestellt wird, dass alle Deployments eine validierte und getestete Version verwenden. Das vermeidet Überraschungen durch unerwartete Änderungen im Haupt-Repository.

Aktualisierter Code im User-Data-Skript :

# 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/

Verwaltung von On-Demand- und Spot-Instances

Ich habe in Terraform eine Variable spot_enabled hinzugefügt, die es ermöglicht, dynamisch zwischen Spot- und On-Demand-Instances zu wählen. Standardmäßig ist der On-Demand-Modus aktiviert, um Anfängern eine zugänglichere Erfahrung zu bieten, ohne dass sie Spot-Preise konfigurieren müssen. Dadurch ist das Projekt für alle sofort einsatzbereit.

Aktualisierter Auszug aus 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
    }
  }
}

Auszug aus variables.tf :

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

Aktualisierung der Terraform-Version

Die in dem Projekt verwendete Terraform-Version wurde von 1.5.7 auf 1.10.3 aktualisiert. Dies stellt die Kompatibilität mit den neuesten Funktionen und Verbesserungen von Terraform sicher.

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

Fehlerbehebungen für die Konfiguration der Mistral-Modelle

Die Mistral-Konfiguration in librechat.yaml wurde aktualisiert, um die Formatänderungen in der neuesten Version zu unterstützen. Der API-Schlüssel wird weiterhin aus dem AWS Systems Manager (SSM) abgerufen, wie bei den anderen Modellen, und die Standardmodelle beinhalten jetzt mistral-large-latest.

Aktualisierter Code :

# 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

Hinzufügen mehrsprachiger README-Dateien

Um das Projekt für mehr Nutzer weltweit zugänglich zu machen, habe ich mein KI-gestütztes Skript zum Übersetzen von Markdown-Dateien, betrieben mit dem Modell GPT-4o, verwendet, um README-Dateien in mehreren Sprachen zu erzeugen. Unterstützte Sprachen sind Englisch, Deutsch, Spanisch, Japanisch, Koreanisch und Chinesisch.

Hinzugefügte Dateien :

  • 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

Aktualisierung der Nginx-Konfiguration

Die standardmäßig bereitgestellte Nginx-Konfiguration für SSL war in dieser Version veraltet. Ich habe dies behoben, indem ich die Direktiven angepasst und die Unterstützung für SSL-Zertifikate mit den Befehlen sed hinzugefügt habe, um die Kompatibilität sicherzustellen.

Aktualisierter Code :

# 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

Verbesserungen an Terraform

  • Änderung des Standard-Instance-Typs von t3a.micro auf t3a.small für bessere Leistung.
  • Aktualisierung der Spot-Preise in variables.tf, um die aktuellen Kosten widerzuspiegeln.

Aktualisierter Auszug aus variables.tf :

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

Warum dieses Update wichtig ist

Indem die LibreChat-Version festgelegt, Probleme mit Nginx- und Mistral-Konfigurationen behoben und die Möglichkeit geboten wird, zwischen On-Demand- und Spot-Instances zu wählen, erhöht dieses Update die Zuverlässigkeit und Flexibilität des Projekts. Mit dem standardmäßigen On-Demand-Modus können selbst Einsteiger LibreChat ohne komplexe Voraussetzungen bereitstellen.

Zusammenfassung

  • Unterstützung von LibreChat Version v0.7.6 : Klonen des passenden Tags, um Probleme durch unkontrollierte Änderungen zu vermeiden.
  • Verwaltung der Instances : Wahl zwischen On-Demand und Spot, mit On-Demand als Standard, um die Benutzererfahrung zu vereinfachen.
  • Terraform-Version : Aktualisierung auf Version 1.10.3, um von den neuesten Verbesserungen zu profitieren.
  • Mistral AI : Automatische Verwaltung der API-Schlüssel und Modelle, angepasst an das neue Format.
  • Mehrsprachige READMEs : Dokumentation in mehreren Sprachen verfügbar.
  • Nginx : SSL-Konfiguration korrigiert und an die neuen Direktiven angepasst.
  • Terraform : Anpassungen für verbesserte Leistung und genaue Kostenangaben.

Entdecken Sie das komplette Projekt

Sie können dieses Projekt im GitLab-Repository einsehen und verwenden.

Zögern Sie nicht, Ihr Feedback zu teilen oder zum Projekt beizutragen!

Dieses Dokument wurde aus der Version fr in die Sprache en mit dem Modell gpt-5-mini übersetzt. Für weitere Informationen zum Übersetzungsprozess konsultieren Sie https://gitlab.com/jls42/ai-powered-markdown-translator