Jag är glad att tillkännage att mitt projekt för automatiserad distribution av LibreChat på AWS EC2 har uppdaterats för att åtgärda problem relaterade till de senaste ändringarna i hur LibreChat installeras, samtidigt som det nu stöder version v0.7.6. Denna uppdatering inkluderar också möjligheten att välja mellan On-Demand- och Spot-instanser, samt förbättringar som förenklar användningen även för nybörjare.
Vad är nytt i den här uppdateringen?
Stöd för LibreChat version v0.7.6
Projektet klonar direkt taggen v0.7.6 av LibreChat, vilket säkerställer att alla distributioner använder en validerad och testad version. Detta undviker överraskningar orsakade av oväntade ändringar i huvudarkivet.
Uppdaterad kod i User-Data-skriptet:
# 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/
Hantering av On-Demand- och Spot-instanser
Jag har lagt till en variabel spot_enabled i Terraform som gör det möjligt att dynamiskt välja om distributionen använder Spot- eller On-Demand-instanser. Som standard är On-Demand-läget aktiverat för att erbjuda en mer tillgänglig upplevelse för nybörjare, vilket undviker behovet av att konfigurera spot-priser. Detta garanterar att projektet fungerar omedelbart för alla.
Uppdaterat utdrag av 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
}
}
}
Utdrag från variables.tf :
variable "spot_enabled" {
description = "Active ou désactive l'utilisation du marché Spot"
type = bool
default = false
}
Uppdatering av Terraform-versionen
Den Terraform-version som används i projektet har uppdaterats från 1.5.7 till 1.10.3. Detta säkerställer kompatibilitet med de senaste funktionerna och förbättringarna i Terraform.
# Version de l'image Docker Terraform
TERRAFORM_VERSION: hashicorp/terraform:1.10.3
Rättelser för Mistral-modellkonfigurationen
Mistral-konfigurationen i librechat.yaml har uppdaterats för att stödja formatändringarna i den senaste versionen. API-nyckeln hämtas fortfarande från AWS Systems Manager (SSM), precis som för de andra modellerna, och standardmodellerna inkluderar nu mistral-large-latest.
Uppdaterad kod:
# 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
Lägga till flerspråkiga README-filer
För att göra projektet tillgängligt för fler användare världen över har jag använt mitt AI-baserade skript för översättning av Markdown-filer, drivet av modellen GPT-4o, för att generera README-filer på flera språk. De stödjade språken inkluderar engelska, tyska, spanska, japanska, koreanska och kinesiska.
Tillagda filer:
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
Uppdatering av Nginx-konfigurationen
Nginx-konfigurationen för SSL, som levererades som standard, var föråldrad i denna version. Jag åtgärdade detta genom att anpassa direktiven och lägga till stöd för SSL-certifikat med kommandon sed för att säkerställa kompatibilitet.
Uppdaterad kod:
# 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
Förbättringar i Terraform
- Ändring av standardinstanstyp från
t3a.microtillt3a.smallför bättre prestanda. - Uppdatering av spot-priserna i
variables.tfför att återspegla aktuella kostnader.
Uppdaterat utdrag av variables.tf :
variable "spot_max_price" {
default = {
"t3a.large" = "0.0376"
"t3a.small" = "0.0095"
"t3a.medium" = "0.01940"
"t3a.micro" = "0.006"
}
}
Varför denna uppdatering är viktig
Genom att låsa LibreChat-versionen, åtgärda problem relaterade till Nginx- och Mistral-konfigurationer, och erbjuda möjlighet att välja mellan On-Demand och Spot, stärker denna uppdatering projektets tillförlitlighet och flexibilitet. Med On-Demand som standard kan även nybörjare distribuera LibreChat utan komplexa förutsättningar.
Sammanfattning
- Stöd för LibreChat version v0.7.6: Klon av rätt tagg för att undvika problem orsakade av okontrollerade ändringar.
- Hantering av instanser: Val mellan On-Demand och Spot, med On-Demand som standard för att förenkla användarupplevelsen.
- Terraform-version: Uppdatering till version 1.10.3 för att dra nytta av de senaste förbättringarna.
- Mistral AI: Automatisk hantering av API-nycklar och modeller, anpassat till det nya formatet.
- Flerspråkiga README-filer: Dokumentation tillgänglig på flera språk.
- Nginx: SSL-konfiguration korrigerad och anpassad till nya direktiv.
- Terraform: Justeringar för förbättrad prestanda och korrekta kostnader.
Utforska hela projektet
Du kan granska och använda det här projektet i GitLab-förvaret.
Tveka inte att dela dina synpunkter eller bidra till projektet!
Detta dokument har översatts från fr-versionen till sv-språket med hjälp av modellen gpt-5-mini. För mer information om översättningsprocessen, se https://gitlab.com/jls42/ai-powered-markdown-translator