AWS EC2에 대한 LibreChat 자동 배포 프로젝트를 최근 설치 방식의 변경으로 인한 문제를 수정하고 v0.7.6 버전을 지원하도록 업데이트하게 되어 기쁩니다. 이 업데이트에는 On-Demand와 Spot 인스턴스 중 선택할 수 있는 기능과 초보자도 사용하기 쉬운 여러 개선사항이 포함되어 있습니다.
이번 업데이트의 주요 내용
LibreChat v0.7.6 지원
프로젝트는 LibreChat의 태그 v0.7.6를 직접 클론하여 모든 배포가 검증된 버전을 사용하도록 보장합니다. 이는 메인 저장소의 예기치 않은 변경으로 인한 문제를 방지합니다.
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/
On-Demand 및 Spot 인스턴스 관리
Terraform에 동적으로 배포가 Spot 인스턴스를 사용할지 On-Demand를 사용할지 선택할 수 있는 변수 spot_enabled를 추가했습니다. 기본값은 초보자에게 더 접근성이 좋도록 On-Demand 모드로 설정되어 있어 spot 가격을 별도로 설정할 필요가 없습니다. 이를 통해 모든 사용자가 프로젝트를 즉시 실행할 수 있도록 합니다.
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
}
}
}
variables.tf의 발췌 :
variable "spot_enabled" {
description = "Active ou désactive l'utilisation du marché Spot"
type = bool
default = false
}
Terraform 버전 업데이트
프로젝트에서 사용하는 Terraform 버전을 1.5.7에서 1.10.3로 업데이트했습니다. 이는 최신 기능과 개선사항과의 호환성을 보장합니다.
# Version de l'image Docker Terraform
TERRAFORM_VERSION: hashicorp/terraform:1.10.3
Mistral 모델 구성 수정
librechat.yaml의 Mistral 구성은 최신 버전의 포맷 변경을 지원하도록 업데이트되었습니다. API 키는 다른 모델과 마찬가지로 여전히 AWS Systems Manager(SSM)에서 가져오며, 기본 모델에는 이제 mistral-large-latest이 포함됩니다.
업데이트된 코드 :
# 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
다국어 README 파일 추가
전 세계 더 많은 사용자가 프로젝트를 이용할 수 있도록, 저는 GPT-4o 모델로 구동되는 AI 기반 마크다운 파일 번역 스크립트를 사용하여 여러 언어의 README 파일을 생성했습니다. 지원되는 언어에는 영어, 독일어, 스페인어, 일본어, 한국어 및 중국어가 포함됩니다.
추가된 파일들 :
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
Nginx 구성 업데이트
기본으로 제공되는 SSL용 Nginx 구성은 이번 버전에서 더 이상 권장되지 않는 설정이 있었습니다. 지시문을 조정하고 SSL 인증서 지원을 위해 sed 명령을 추가하여 호환성을 보장하도록 수정했습니다.
업데이트된 코드 :
# 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 개선사항
- 더 나은 성능을 위해 기본 인스턴스 유형을
t3a.micro에서t3a.small로 변경했습니다. - 최신 비용을 반영하기 위해
variables.tf의 스팟 가격을 업데이트했습니다.
variables.tf의 업데이트된 발췌 :
variable "spot_max_price" {
default = {
"t3a.large" = "0.0376"
"t3a.small" = "0.0095"
"t3a.medium" = "0.01940"
"t3a.micro" = "0.006"
}
}
왜 이 업데이트가 중요한가
LibreChat 버전을 고정하고 Nginx 및 Mistral 관련 설정 문제를 수정하며 On-Demand와 Spot 인스턴스 선택 기능을 제공함으로써 이 업데이트는 프로젝트의 신뢰성과 유연성을 강화합니다. 기본값이 On-Demand로 설정되어 있어 초보자라도 복잡한 사전 설정 없이 LibreChat을 배포할 수 있습니다.
요약
- LibreChat v0.7.6 지원 : 통제되지 않은 변경으로 인한 문제를 피하기 위해 올바른 태그를 클론합니다.
- 인스턴스 관리 : On-Demand와 Spot 중 선택 가능하며, 사용자 경험을 단순화하기 위해 기본은 On-Demand입니다.
- Terraform 버전 : 최신 개선사항을 활용하기 위해 버전 1.10.3으로 업데이트되었습니다.
- Mistral AI : 새로운 포맷에 맞춘 API 키 및 모델 관리 자동화.
- 다국어 README : 여러 언어로 문서를 제공하여 접근성 향상.
- Nginx : 새로운 지시문에 맞춰 SSL 구성을 수정했습니다.
- Terraform : 성능 향상 및 정확한 비용 반영을 위한 조정.
전체 프로젝트 보기
이 프로젝트는 GitLab 저장소에서 확인하고 사용할 수 있습니다.
의견이나 기여는 언제든 환영합니다!
이 문서는 gpt-5-mini 모델을 사용하여 프랑스어 버전(fr)에서 한국어(ko)로 번역되었습니다. 번역 프로세스에 대한 자세한 정보는 https://gitlab.com/jls42/ai-powered-markdown-translator 를 참조하십시오.