Ik ben verheugd aan te kondigen dat mijn project voor geautomatiseerde implementatie 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 het ondersteunt nu versie v0.7.6. Deze update omvat 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 van versie v0.7.6 van LibreChat
Het project kloont rechtstreeks de tag v0.7.6
van LibreChat, zodat alle deployments een gevalideerde en geteste versie gebruiken. Dit vermijdt 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 die het mogelijk maakt dynamisch te kiezen of de deployment Spot- of On-Demand-instances gebruikt. Standaard is de On-Demand-modus geactiveerd om een toegankelijkere ervaring te bieden voor beginners, zodat ze geen Spot-prijzen hoeven te configureren. Dit zorgt ervoor dat het project direct functioneel is voor iedereen.
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
}
Update van Terraform-versie
De versie van Terraform die in het project wordt gebruikt, is bijgewerkt van 1.5.7
naar 1.10.3
. Dit zorgt voor 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 configuratie van Mistral in librechat.yaml
is bijgewerkt om ondersteuning te bieden voor de wijzigingen in het formaat in de nieuwste versie. De API-sleutel wordt nog steeds opgehaald uit AWS Systems Manager (SSM), net als voor de andere modellen, en de standaardmodellen omvatten 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 een groter aantal gebruikers over de hele wereld, heb ik mijn AI-gestuurde Markdown-vertaalscript gebruikt, aangedreven door het GPT-4o-model, om README-bestanden in meerdere talen te genereren. De ondersteunde talen zijn Engels, Duits, Spaans, Japans, Koreaans en Chinees.
Toegevoegde bestanden:
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
Update van Nginx-configuratie
De standaard geleverde Nginx-configuratie voor SSL was verouderd in deze versie. Ik heb dit gecorrigeerd door de directieven aan te passen en ondersteuning toe te voegen voor SSL-certificaten met sed
-commando’s 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
Terraform-verbeteringen
- Verandering van het standaard instancetype van
t3a.micro
naart3a.small
voor betere prestaties. - Update van Spot-prijzen in
variables.tf
om 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 het vastzetten van de LibreChat-versie, het corrigeren van problemen met Nginx- en Mistral-configuraties, en het bieden van de mogelijkheid om te kiezen tussen On-Demand en Spot-instances, verbetert deze update de betrouwbaarheid en flexibiliteit van het project. Met de standaard On-Demand-modus kunnen zelfs beginners LibreChat implementeren zonder complexe vereisten.
Samenvatting
- Ondersteuning van versie v0.7.6 van LibreChat: Kloon van de juiste tag om problemen te vermijden die verband houden met ongecontroleerde wijzigingen.
- Beheer van instances: Keuze tussen On-Demand en Spot, met standaard On-Demand 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.
- Meertalige README’s: Documentatie beschikbaar in meerdere talen.
- Nginx: SSL-configuratie gecorrigeerd en aangepast aan de nieuwe directieven.
- Terraform: Aanpassingen voor verbeterde prestaties en nauwkeurige kosten.
Ontdek het volledige project
U kunt dit project bekijken en gebruiken op de GitLab-repository.
Aarzel niet om uw feedback te delen of bij te dragen aan het project!
Dit document is vertaald van de versie fr naar de taal nl met behulp van het model o1-preview. Voor meer informatie over het vertaalproces, raadpleeg https://gitlab.com/jls42/ai-powered-markdown-translator