APLICACIÓN LLM de resumen de texto
- Licencia: (MIT), Copyright (C) 2024, Autor Phil Chen
- Esta es una aplicación de ejemplo. El autor de este repositorio no es responsable de los daños o pérdidas que surjan de su uso o imposibilidad de usar el código.
Descripción
Este repositorio es una aplicación de ejemplo que muestra un resumen de texto que aprovecha el modelo Minstral Large disponible en AWS Bedrock. Para la interfaz de usuario se utiliza Streamlit.
Requisitos previos para la configuración local de macOS
- Cuenta de servicios web de Amazon
- Habilite el acceso a Amazon Bedrock (específicamente Mistral-Large) consulte: Administrar el acceso a los modelos de base de Amazon Bedrock
- CLI de AWS instalado
- Usuario de AWS CLI IAM con acceso completo a Amazon Bedrock
- Verificado en Python 3.10, 3.11, 3.12
- Anaconda o Miniconda instalada
- La región predeterminada de AWS está configurada en us-east-1. Puede cambiar la región en el archivo
text_summarization_llm_app.py
en region_name='us-east-1'
Requisitos previos para la configuración de la instancia EC2 Ubuntu Linux
- Cuenta de servicios web de Amazon
- Habilite el acceso a Amazon Bedrock (específicamente Mistral-Large) consulte: Administrar el acceso a los modelos de base de Amazon Bedrock
- Rol de instancia EC2 con política AmazonBedrockFullAccess adjunta (tenga en cuenta que puede hacer esto más seguro creando una política personalizada)
- Verificado en Python 3.10, 3.11, 3.12
- Verificado en la instancia EC2 Ubuntu 22.04 y Ubuntu 24.04
- entorno virtual
- La región predeterminada de AWS está configurada en us-east-1. Puede cambiar la región en el archivo
text_summarization_llm_app.py
en region_name='us-east-1'
Costo de recursos de AWS
Como ocurre con la mayoría de los servicios de AWS, incurrirá en costos de uso.
- Precios:
- https://aws.amazon.com/bedrock/pricing/
- https://aws.amazon.com/ec2/pricing/on-demand/
Configuración local del portátil 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
Ejecute la configuración local de la computadora portátil macOS
Para ejecutar resúmenes de texto aprovechando AWS Bedrock (Mistral-Large)
streamlit run text_summarization_llm_app.py
Puede acceder a la aplicación en http://localhost:8501/
Pasos de configuración de la instancia EC2 Ubuntu Linux
(se supone que tienes un usuario de ubuntu con /home/ubuntu)
Instalar algunas dependencias
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
Clonar el repositorio GIT
cd /home/ubuntu
git clone https://github.com/nethacker/text-summarization-llm-app.git
Configurar el entorno Python
virtualenv text-summarization-llm-app_env
source text-summarization-llm-app_env/bin/activate
Instale las dependencias del paquete de la aplicación Text Summarization LLM
cd /home/ubuntu/text-summarization-llm-app
pip install -r requirements.txt
Configure systemd para demonizar la aplicación LLM de resumen de texto (puerto 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
Instale NGINX para ayudar a escalar y manejar conexiones (Puerto 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
Puede acceder a la aplicación en http://{yourhost}
.
Notas
- Asegúrese de abrir el puerto 80 en su grupo de seguridad EC2 asociado a la instancia.
- Para HTTPS (TLS) puede utilizar AWS ALB o AWS CloudFront
- Esta aplicación no toma en consideración controles de seguridad, esa es tu responsabilidad.
- Lea las preguntas frecuentes de Amazon Bedrock si tiene preguntas generales sobre los recursos de AWS LLM utilizados.