Ik ben verheugd aan te kondigen dat mijn project voor geautomatiseerde uitrol van LibreChat op AWS EC2 is bijgewerkt om problemen op te lossen die verband houden met recente wijzigingen in de manier waarop LibreChat wordt geïnstalleerd, en dat het nu versie v0.7.6 ondersteunt. Deze update bevat ook de mogelijkheid om te kiezen tussen On-Demand- en Spot-instances, evenals verbeteringen om het gebruik te vereenvoudigen, zelfs voor beginners.
Wat is er nieuw in deze update?
Ondersteuning voor LibreChat versie v0.7.6
Het project kloont rechtstreeks de tag v0.7.6 van LibreChat, wat ervoor zorgt dat alle uitrols een gevalideerde en geteste versie gebruiken. Dit voorkomt verrassingen door onverwachte wijzigingen in de hoofdrepository.
Bijgewerkte code in het User-Data script :
# 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/
Beheer van On-Demand- en Spot-instances
Ik heb een variabele spot_enabled toegevoegd in Terraform waarmee dynamisch gekozen kan worden of de uitrol Spot- of On-Demand-instances gebruikt. Standaard is de On-Demand-modus ingeschakeld om een toegankelijkere ervaring voor beginners te bieden en de noodzaak om spotprijzen te configureren te vermijden. Dit zorgt ervoor dat het project direct voor iedereen werkt.
Bijgewerkt fragment van 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 van variables.tf :
variable "spot_enabled" {
description = "Active ou désactive l'utilisation du marché Spot"
type = bool
default = false
}
Bijwerking van de Terraform-versie
De in het project gebruikte Terraform-versie is bijgewerkt van 1.5.7 naar 1.10.3. Dit garandeert compatibiliteit met de nieuwste functies en verbeteringen van Terraform.
# Version de l'image Docker Terraform
TERRAFORM_VERSION: hashicorp/terraform:1.10.3
Correcties voor de configuratie van Mistral-modellen
De Mistral-configuratie in librechat.yaml is bijgewerkt om de wijziging in het formaat van de laatste versie te ondersteunen. De API-sleutel wordt nog steeds opgehaald uit AWS Systems Manager (SSM), net als bij de andere modellen, en de standaardmodellen bevatten nu mistral-large-latest.
Bijgewerkte 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
Toevoeging van meertalige README-bestanden
Om het project toegankelijk te maken voor meer gebruikers wereldwijd, heb ik mijn AI-gestuurde script voor het vertalen van Markdown-bestanden, aangedreven door het GPT-4o-model, gebruikt om README-bestanden in meerdere talen te genereren. Ondersteunde talen omvatten Engels, Duits, Spaans, Japans, Koreaans en Chinees.
Toegevoegde bestanden :
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
Bijgewerkte Nginx-configuratie
De standaard meegeleverde Nginx-configuratie voor SSL was in deze versie verouderd. Ik heb dit gecorrigeerd door de richtlijnen aan te passen en ondersteuning voor SSL-certificaten toe te voegen met behulp van de commando’s sed om compatibiliteit te garanderen.
Bijgewerkte 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
Verbeteringen in Terraform
- Wijziging van het standaard instancetype van
t3a.micronaart3a.smallvoor betere prestaties. - Bijwerking van de spotprijzen in
variables.tfom de huidige kosten weer te geven.
Bijgewerkt fragment van variables.tf :
variable "spot_max_price" {
default = {
"t3a.large" = "0.0376"
"t3a.small" = "0.0095"
"t3a.medium" = "0.01940"
"t3a.micro" = "0.006"
}
}
Waarom deze update belangrijk is
Door de versie van LibreChat vast te zetten, de problemen met Nginx- en Mistral-configuraties te verhelpen en de mogelijkheid te bieden om te kiezen tussen On-Demand- en Spot-instances, versterkt deze update de betrouwbaarheid en flexibiliteit van het project. Met standaard On-Demand-modus kunnen zelfs beginners LibreChat uitrollen zonder complexe vereisten.
Samenvatting
- Ondersteuning voor LibreChat versie v0.7.6 : kloont de juiste tag om problemen door niet-gecontroleerde wijzigingen te voorkomen.
- Beheer van instances : keuze tussen On-Demand en Spot, met On-Demand als standaard om de gebruikerservaring te vereenvoudigen.
- Terraform-versie : bijgewerkt naar versie 1.10.3 om te profiteren van de nieuwste verbeteringen.
- Mistral AI : automatisch beheer van API-sleutels en modellen, aangepast aan het nieuwe formaat.
- Multitalige README’s : documentatie toegankelijk in meerdere talen.
- Nginx : SSL-configuratie hersteld en aangepast aan de nieuwe richtlijnen.
- Terraform : aanpassingen voor verbeterde prestaties en nauwkeurige kosten.
Bekijk het volledige project
U kunt dit project bekijken en gebruiken in de GitLab-repository.
Aarzel niet om je feedback te delen of bij te dragen aan het project!
Dit document is vertaald van de Franse versie naar de Nederlandse taal met behulp van het model gpt-5-mini. Voor meer informatie over het vertaalproces, raadpleeg https://gitlab.com/jls42/ai-powered-markdown-translator