Textzusammenfassung LLM APP
- Lizenz: (MIT), Copyright (C) 2024, Autor Phil Chen
- Dies ist eine Beispielanwendung. Der Autor dieses Repositorys haftet nicht für Schäden oder Verluste, die sich aus Ihrer Nutzung oder Unmöglichkeit der Nutzung des Codes ergeben.
Beschreibung
Dieses Repo ist eine Beispiel-App, die eine Textzusammenfassung mithilfe des Minstral Large-Modells zeigt, das von AWS Bedrock erhältlich ist. Für die Frontend-Benutzeroberfläche wird Streamlit verwendet.
Voraussetzungen für die lokale Einrichtung von macOS
- Amazon Web Services-Konto
- Aktivieren Sie den Amazon Bedrock-Zugriff (insbesondere Mistral-Large), siehe: Zugriff auf Amazon Bedrock-Fundamentmodelle verwalten
- AWS CLI installiert
- AWS CLI IAM-Benutzer mit vollständigem Amazon Bedrock-Zugriff
- Verifiziert auf Python 3.10, 3.11, 3.12
- Anaconda oder Miniconda installiert
- Die AWS-Standardregion ist auf us-east-1 eingestellt. Sie können die Region in der Datei
text_summarization_llm_app.py
unter region_name='us-east-1'
ändern.
Voraussetzungen für die Einrichtung der EC2-Ubuntu-Linux-Instanz
- Amazon Web Services-Konto
- Aktivieren Sie den Amazon Bedrock-Zugriff (insbesondere Mistral-Large), siehe: Zugriff auf Amazon Bedrock-Fundamentmodelle verwalten
- EC2-Instanzrolle mit angehängter AmazonBedrockFullAccess-Richtlinie (beachten Sie, dass Sie dies sicherer machen können, indem Sie eine benutzerdefinierte Richtlinie erstellen)
- Verifiziert auf Python 3.10, 3.11, 3.12
- Verifiziert auf EC2-Instanz Ubuntu 22.04 und Ubuntu 24.04
- Virtuelle Umgebung
- Die AWS-Standardregion ist auf us-east-1 eingestellt. Sie können die Region in der Datei
text_summarization_llm_app.py
unter region_name='us-east-1'
ändern.
AWS-Ressourcenkosten
Wie bei den meisten AWS-Diensten fallen für die Nutzung Kosten an.
- Preise:
- https://aws.amazon.com/bedrock/pricing/
- https://aws.amazon.com/ec2/pricing/on-demand/
Lokales Setup für macOS-Laptops
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
Führen Sie das lokale Setup für den macOS-Laptop aus
So führen Sie eine Textzusammenfassung mithilfe von AWS Bedrock (Mistral-Large) durch
streamlit run text_summarization_llm_app.py
Sie erreichen die App unter http://localhost:8501/
Schritte zur Einrichtung der EC2-Ubuntu-Linux-Instanz
(setzt voraus, dass Sie einen Ubuntu-Benutzer mit /home/ubuntu haben)
Installieren Sie einige Abhängigkeiten
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
Klonen Sie das GIT-Repository
cd /home/ubuntu
git clone https://github.com/nethacker/text-summarization-llm-app.git
Richten Sie die Python-Umgebung ein
virtualenv text-summarization-llm-app_env
source text-summarization-llm-app_env/bin/activate
Installieren Sie die Abhängigkeiten des Text Summarization LLM-Anwendungspakets
cd /home/ubuntu/text-summarization-llm-app
pip install -r requirements.txt
Richten Sie systemd ein, um die LLM-Anwendung „Text Summarization“ zu dämonisieren (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
Installieren Sie NGINX, um die Skalierung und Verwaltung von Verbindungen zu erleichtern (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
Sie können die App unter http://{yourhost}
erreichen.
Notizen
- Stellen Sie sicher, dass Sie Port 80 in Ihrer EC2-Sicherheitsgruppe öffnen, die der Instanz zugeordnet ist.
- Für HTTPS (TLS) können Sie AWS ALB oder AWS CloudFront verwenden
- Diese Anwendung berücksichtigt keine Sicherheitskontrollen, das liegt in Ihrer Verantwortung.
- Bitte lesen Sie die häufig gestellten Fragen zu Amazon Bedrock für allgemeine Fragen zu den verwendeten AWS LLM-Ressourcen.