我很高兴地宣布,我的在AWS EC2上自动部署LibreChat的项目已更新,解决了最近LibreChat安装方式变化带来的问题,同时现在支持v0.7.6版本。此更新还包括在按需实例和竞价实例之间进行选择的功能,以及旨在简化使用、即使是初学者也能轻松上手的改进。
此次更新有哪些新内容?
支持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/
管理按需和竞价实例
我在Terraform中添加了一个名为spot_enabled
的变量,可以动态选择部署使用竞价实例还是按需实例。默认情况下,启用按需模式,为初学者提供更友好的体验,避免了配置竞价价格的必要。这确保了项目对所有人立即可用。
更新的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
。这确保了与Terraform最新功能和改进的兼容性。
# 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文件
为了让全球更多的用户能够访问该项目,我使用了基于AI的Markdown文件翻译脚本,由GPT-4o模型提供支持,生成了多种语言的README文件。支持的语言包括英语、德语、西班牙语、日语、韩语和中文。
添加的文件:
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
更新Nginx配置
默认提供的用于SSL的Nginx配置在该版本中已被弃用。我通过调整指令并使用sed
命令添加SSL证书支持来修正了这一点,以确保兼容性。
更新的代码:
# 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配置相关的问题,并提供在按需和竞价实例之间选择的功能,此更新增强了项目的可靠性和灵活性。默认的按需模式,即使是初学者也可以在没有复杂前提条件的情况下部署LibreChat。
总结
- 支持LibreChat v0.7.6版本:克隆正确的标签,避免未控制更改带来的问题。
- 实例管理:在按需和竞价之间选择,默认使用按需,简化用户体验。
- Terraform版本:更新到1.10.3版本,享受最新改进。
- Mistral AI:自动管理API密钥和模型,适应新格式。
- 多语言README:提供多种语言的文档。
- Nginx:SSL配置已修正并适应新指令。
- Terraform:针对更好的性能和准确的成本进行了调整。
了解完整项目
您可以在GitLab仓库查看和使用此项目。
欢迎分享您的反馈或为该项目做出贡献!
本文件已使用模型o1-preview从fr版本翻译为zh语言。有关翻译过程的更多信息,请参阅 https://gitlab.com/jls42/ai-powered-markdown-translator