APPLICATION LLM de résumé de texte
- Licence : (MIT), Copyright (C) 2024, Auteur Phil Chen
- Ceci est un exemple d'application, l'auteur de ce référentiel n'est pas responsable des dommages ou pertes résultant de votre utilisation ou de votre incapacité à utiliser le code.
Description
Ce dépôt est un exemple d'application montrant un résumé de texte tirant parti du modèle Minstral Large disponible sur AWS Bedrock. Pour l'interface utilisateur frontale, Streamlit est utilisé.
Conditions préalables à la configuration locale de macOS
- Compte Amazon Web Services
- Activez l'accès à Amazon Bedrock (en particulier Mistral-Large), voir : Gérer l'accès aux modèles de fondation Amazon Bedrock
- AWS CLI installée
- Utilisateur AWS CLI IAM avec accès complet à Amazon Bedrock
- Vérifié sur Python 3.10, 3.11, 3.12
- Anaconda ou Miniconda installé
- La région par défaut d'AWS est définie sur us-east-1. Vous pouvez modifier la région dans le fichier
text_summarization_llm_app.py
sous region_name='us-east-1'
Conditions préalables à la configuration de l'instance EC2 Ubuntu Linux
- Compte Amazon Web Services
- Activez l'accès à Amazon Bedrock (en particulier Mistral-Large), voir : Gérer l'accès aux modèles de fondation Amazon Bedrock
- Rôle d'instance EC2 avec la politique AmazonBedrockFullAccess attachée (notez que vous pouvez rendre cela plus sécurisé en créant une politique personnalisée)
- Vérifié sur Python 3.10, 3.11, 3.12
- Vérifié sur l'instance EC2 Ubuntu 22.04 et Ubuntu 24.04
- Env virtuel
- La région par défaut d'AWS est définie sur us-east-1. Vous pouvez modifier la région dans le fichier
text_summarization_llm_app.py
sous region_name='us-east-1'
Coût des ressources AWS
Comme pour la plupart des services AWS, vous devrez payer des frais d'utilisation.
- Tarif :
- https://aws.amazon.com/bedrock/pricing/
- https://aws.amazon.com/ec2/pricing/on-demand/
Configuration locale d'un ordinateur portable macOS
conda create -n "text-summarization-llm-app" python=3.11.0
git clone [email protected]:nethacker/text-summarization-llm-app.git
cd text-summarization-llm-app
pip install -r requirements.txt
Exécutez la configuration locale de l'ordinateur portable macOS
Pour exécuter une synthèse de texte en utilisant AWS Bedrock (Mistral-Large)
streamlit run text_summarization_llm_app.py
Vous pouvez accéder à l'application sur http://localhost:8501/
Étapes de configuration de l'instance Linux EC2 Ubuntu
(en supposant que vous ayez un utilisateur Ubuntu avec /home/ubuntu)
Installer quelques dépendances
sudo apt -y update
sudo apt -y install build-essential openssl
sudo apt -y install libpq-dev libssl-dev libffi-dev zlib1g-dev
sudo apt -y install python3-pip python3-dev
sudo apt -y install nginx
sudo apt -y install virtualenvwrapper
Cloner le référentiel GIT
cd /home/ubuntu
git clone https://github.com/nethacker/text-summarization-llm-app.git
Configurer l'environnement Python
virtualenv text-summarization-llm-app_env
source text-summarization-llm-app_env/bin/activate
Installer les dépendances du package d'application LLM de synthèse de texte
cd /home/ubuntu/text-summarization-llm-app
pip install -r requirements.txt
Configurer systemd pour démoniser l'application LLM de résumé de texte (Port 8080)
sudo cp systemd/text-summarization-llm-app.service /etc/systemd/system/
sudo systemctl start text-summarization-llm-app
sudo systemctl enable text-summarization-llm-app.service
Installez NGINX pour faciliter la mise à l'échelle et la gestion des connexions (Port 80)
sudo cp nginx/nginx_text-summarization-llm-app.conf /etc/nginx/sites-available/nginx_text-summarization-llm-app.conf
sudo rm /etc/nginx/sites-enabled/default
sudo ln -s /etc/nginx/sites-available/nginx_text-summarization-llm-app.conf /etc/nginx/sites-enabled
sudo systemctl restart nginx
Vous pouvez accéder à l'application à http://{yourhost}
.
Remarques
- Assurez-vous d'ouvrir le port 80 dans votre groupe de sécurité EC2 associé à l'instance.
- Pour HTTPS (TLS), vous pouvez utiliser AWS ALB ou AWS CloudFront
- Cette application ne prend pas en compte les contrôles de sécurité, c'est votre responsabilité.
- Veuillez lire la FAQ d'Amazon Bedrock pour les questions générales sur les ressources AWS LLM utilisées.