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 Installation von LibreChat zu beheben und nun die Version v0.7.6 unterstützt. Dieses Update beinhaltet auch die Möglichkeit, zwischen On-Demand- und Spot-Instanzen zu wählen, sowie Verbesserungen, um die Nutzung auch für Anfänger zu vereinfachen.
Was ist neu in diesem Update?
Unterstützung der Version v0.7.6 von LibreChat
Das Projekt klont direkt den Tag v0.7.6
von LibreChat, wodurch sichergestellt wird, dass alle Bereitstellungen eine validierte und getestete Version verwenden. Dies vermeidet Überraschungen aufgrund unerwarteter Änderungen im Hauptrepository.
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-Instanzen
Ich habe eine Variable spot_enabled
in Terraform hinzugefügt, die es ermöglicht, dynamisch zu wählen, ob die Bereitstellung Spot- oder On-Demand-Instanzen verwendet. Standardmäßig ist der On-Demand-Modus aktiviert, um Anfängern eine zugänglichere Erfahrung zu bieten und die Notwendigkeit zu vermeiden, Spot-Preise zu konfigurieren. Dies stellt sicher, dass das Projekt für alle sofort funktionsfähig ist.
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 im Projekt verwendete Terraform-Version wurde von 1.5.7
auf 1.10.3
aktualisiert. Dies gewährleistet die Kompatibilität mit den neuesten Funktionen und Verbesserungen von Terraform.
# Version de l'image Docker Terraform
TERRAFORM_VERSION: hashicorp/terraform:1.10.3
Korrekturen für die Konfiguration der Mistral-Modelle
Die Konfiguration von Mistral in librechat.yaml
wurde aktualisiert, um die Formatänderungen in der neuesten Version zu unterstützen. Der API-Schlüssel wird weiterhin aus AWS Systems Manager (SSM) abgerufen, genau wie bei den anderen Modellen, und die Standardmodelle umfassen 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 von mehrsprachigen README-Dateien
Um das Projekt für eine größere Anzahl von Nutzern weltweit zugänglich zu machen, habe ich mein KI-gestütztes Markdown-Übersetzungsskript, betrieben durch das GPT-4o-Modell, verwendet, um README-Dateien in mehreren Sprachen zu generieren. Die unterstützten Sprachen umfassen 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 Nginx-Konfiguration für SSL, die standardmäßig bereitgestellt wird, war in dieser Version veraltet. Ich habe dies behoben, indem ich die Direktiven angepasst und die Unterstützung von SSL-Zertifikaten mit sed
-Befehlen hinzugefügt habe, um die Kompatibilität zu gewährleisten.
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
Terraform-Verbesserungen
- Wechsel des Standard-Instance-Typs von
t3a.micro
zut3a.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
Durch die Festlegung der LibreChat-Version, die Behebung von Problemen mit den Nginx- und Mistral-Konfigurationen und die Möglichkeit, zwischen On-Demand- und Spot-Instanzen zu wählen, erhöht dieses Update die Zuverlässigkeit und Flexibilität des Projekts. Mit dem standardmäßigen On-Demand-Modus können sogar Anfänger LibreChat ohne komplexe Voraussetzungen bereitstellen.
Zusammenfassung
- Unterstützung der Version v0.7.6 von LibreChat: Klonen des richtigen Tags, um Probleme durch unkontrollierte Änderungen zu vermeiden.
- Instanzverwaltung: 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 die neuesten Verbesserungen zu nutzen.
- Mistral AI: Automatische Verwaltung von API-Schlüsseln und Modellen, 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 Kosten.
Entdecken Sie das gesamte Projekt
Sie können dieses Projekt im GitLab-Repository einsehen und nutzen.
Zögern Sie nicht, Feedback zu geben oder zum Projekt beizutragen!
Dieses Dokument wurde von der Version fr in die Sprache de mithilfe des Modells o1-preview übersetzt. Für mehr Informationen über den Übersetzungsprozess besuchen Sie https://gitlab.com/jls42/ai-powered-markdown-translator