Приложение LLM для обобщения текста
- Лицензия: (MIT), Copyright (C) 2024, автор Фил Чен.
- Это пример приложения. Автор этого репозитория не несет ответственности за ущерб или убытки, возникшие в результате использования или невозможности использования вами кода.
Описание
Этот репозиторий представляет собой пример приложения, демонстрирующего суммирование текста с использованием модели Minstral Large, доступной на AWS Bedrock. Для внешнего интерфейса используется Streamlit.
Предварительные требования для локальной установки macOS
- Учетная запись веб-служб Amazon
- Включите доступ к Amazon Bedrock (в частности, Mistral-Large). См. раздел «Управление доступом к моделям фундаментов Amazon Bedrock».
- Интерфейс командной строки AWS установлен
- Пользователь AWS CLI IAM с полным доступом к Amazon Bedrock
- Проверено на Python 3.10, 3.11, 3.12.
- Установлена Анаконда или Миниконда
- Для региона AWS по умолчанию установлено значение us-east-1. Вы можете изменить регион в файле
text_summarization_llm_app.py
в разделе region_name='us-east-1'
Предварительные условия для настройки экземпляра EC2 Ubuntu Linux
- Учетная запись веб-служб Amazon
- Включите доступ к Amazon Bedrock (в частности, Mistral-Large). См. раздел «Управление доступом к моделям фундаментов Amazon Bedrock».
- Роль экземпляра EC2 с прикрепленной политикой AmazonBedrockFullAccess (обратите внимание, что вы можете сделать это более безопасным, создав собственную политику)
- Проверено на Python 3.10, 3.11, 3.12.
- Проверено на экземпляре EC2 Ubuntu 22.04 и Ubuntu 24.04.
- виртуаленв
- Для региона AWS по умолчанию установлено значение us-east-1. Вы можете изменить регион в файле
text_summarization_llm_app.py
в разделе region_name='us-east-1'
Стоимость ресурсов AWS
Как и в случае с большинством сервисов AWS, за использование вам придется платить.
- Цены:
- https://aws.amazon.com/bedrock/pricing/
- https://aws.amazon.com/ec2/pricing/on-demand/
Локальная настройка ноутбука 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
Запустите локальную настройку ноутбука MacOS
Запуск суммирования текста с использованием AWS Bedrock (Mistral-Large)
streamlit run text_summarization_llm_app.py
Вы можете получить доступ к приложению по адресу http://localhost:8501/
Шаги по настройке экземпляра Linux Ubuntu EC2
(предполагается, что у вас есть пользователь Ubuntu с /home/ubuntu)
Установите некоторые зависимости
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
Клонировать репозиторий GIT
cd /home/ubuntu
git clone https://github.com/nethacker/text-summarization-llm-app.git
Настройте среду Python
virtualenv text-summarization-llm-app_env
source text-summarization-llm-app_env/bin/activate
Установите зависимости пакета приложения Text Summarization LLM.
cd /home/ubuntu/text-summarization-llm-app
pip install -r requirements.txt
Настройте systemd для демонизации приложения Text Summarization LLM (порт 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
Установите NGINX, чтобы масштабировать и обрабатывать соединения (порт 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
Вы можете получить доступ к приложению по адресу http://{yourhost}
.
Примечания
- Обязательно откройте порт 80 в вашей группе безопасности EC2, связанной с экземпляром.
- Для HTTPS (TLS) вы можете использовать AWS ALB или AWS CloudFront.
- Это приложение не принимает во внимание меры безопасности, это ваша ответственность.
- Ознакомьтесь с часто задаваемыми вопросами по Amazon Bedrock, чтобы получить ответы на общие вопросы об используемых ресурсах AWS LLM.