Z przyjemnością ogłaszam, że mój projekt automatycznego wdrożenia LibreChat na AWS EC2 został zaktualizowany, aby naprawić problemy związane z niedawnymi zmianami w sposobie instalacji LibreChat, a także obsługuje teraz wersję v0.7.6. Ta aktualizacja zawiera również możliwość wyboru między instancjami On-Demand i Spot oraz ulepszenia ułatwiające użycie, nawet dla początkujących.
Co nowego w tej aktualizacji?
Obsługa wersji v0.7.6 LibreChat
Projekt klonuje bezpośrednio tag v0.7.6 z LibreChat, zapewniając, że wszystkie wdrożenia używają zatwierdzonej i przetestowanej wersji. To zapobiega niespodziankom spowodowanym nieoczekiwanymi zmianami w głównym repozytorium.
Zaktualizowany kod w skrypcie User-Data :
# 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/
Obsługa instancji On-Demand i Spot
Dodałem zmienną spot_enabled w Terraform, która pozwala dynamicznie wybierać, czy wdrożenie ma używać instancji Spot czy On-Demand. Domyślnie włączony jest tryb On-Demand, aby zapewnić bardziej przystępne doświadczenie dla początkujących, unikając konieczności konfigurowania cen spot. Dzięki temu projekt jest od razu użyteczny dla wszystkich.
Zaktualizowany fragment 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 z variables.tf :
variable "spot_enabled" {
description = "Active ou désactive l'utilisation du marché Spot"
type = bool
default = false
}
Aktualizacja wersji Terraform
Wersja Terraform używana w projekcie została zaktualizowana z 1.5.7 do 1.10.3. Zapewnia to kompatybilność z najnowszymi funkcjami i udoskonaleniami Terraform.
# Version de l'image Docker Terraform
TERRAFORM_VERSION: hashicorp/terraform:1.10.3
Poprawki konfiguracji modeli Mistral
Konfiguracja Mistral w librechat.yaml została zaktualizowana, aby obsłużyć zmiany formatu w najnowszej wersji. Klucz API nadal jest pobierany z AWS Systems Manager (SSM), tak jak w przypadku innych modeli, a domyślne modele teraz zawierają mistral-large-latest.
Zaktualizowany 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
Dodanie wielojęzycznych plików README
Aby udostępnić projekt większej liczbie użytkowników na całym świecie, użyłem mojego skryptu tłumaczenia plików Markdown opartego na SI, zasilanego modelem GPT-4o, aby wygenerować pliki README w kilku językach. Obsługiwane języki to angielski, niemiecki, hiszpański, japoński, koreański i chiński.
Dodane pliki :
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
Aktualizacja konfiguracji Nginx
Konfiguracja Nginx dla SSL, dostarczana domyślnie, była przestarzała w tej wersji. Poprawiłem to, dostosowując dyrektywy i dodając obsługę certyfikatów SSL za pomocą poleceń sed, aby zapewnić kompatybilność.
Zaktualizowany 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
Ulepszenia Terraform
- Zmiana domyślnego typu instancji z
t3a.micronat3a.smalldla lepszej wydajności. - Aktualizacja cen spot w
variables.tf, aby odzwierciedlić aktualne koszty.
Zaktualizowany fragment variables.tf :
variable "spot_max_price" {
default = {
"t3a.large" = "0.0376"
"t3a.small" = "0.0095"
"t3a.medium" = "0.01940"
"t3a.micro" = "0.006"
}
}
Dlaczego ta aktualizacja jest ważna
Ustalając wersję LibreChat, naprawiając problemy związane z konfiguracjami Nginx i Mistral oraz oferując możliwość wyboru między instancjami On-Demand i Spot, ta aktualizacja zwiększa niezawodność i elastyczność projektu. Z domyślnym trybem On-Demand nawet początkujący mogą wdrożyć LibreChat bez skomplikowanych wymagań wstępnych.
Podsumowanie
- Obsługa wersji v0.7.6 LibreChat: Klon odpowiedniego taga, aby uniknąć problemów związanych z niekontrolowanymi zmianami.
- Obsługa instancji: Wybór między On-Demand a Spot, z domyślnym On-Demand w celu uproszczenia doświadczenia użytkownika.
- Wersja Terraform: Aktualizacja do wersji 1.10.3, aby skorzystać z najnowszych ulepszeń.
- Mistral AI: Automatyczne zarządzanie kluczami API i modelami, dostosowane do nowego formatu.
- README wielojęzyczne: Dokumentacja dostępna w kilku językach.
- Nginx: Konfiguracja SSL naprawiona i dostosowana do nowych dyrektyw.
- Terraform: Dostosowania dla lepszej wydajności i dokładniejszych kosztów.
Poznaj projekt
Możesz zobaczyć i użyć tego projektu w repozytorium GitLab.
Nie wahaj się podzielić opinią lub przyczynić się do projektu!
Ten dokument został przetłumaczony z wersji fr na język pl przy użyciu modelu gpt-5-mini. Aby uzyskać więcej informacji na temat procesu tłumaczenia, zobacz https://gitlab.com/jls42/ai-powered-markdown-translator