Производительность сотрудников Пример GenAI Assistant — это инновационный образец кода, предназначенный для повышения эффективности и результативности написания задач за счет интеграции технологий искусственного интеллекта. Этот пример помощника, специально разработанный для пользователей AWS, использует Amazon Bedrock и генеративные модели искусственного интеллекта для автоматизации создания исходных шаблонов, которые также можно настроить в соответствии с вашими потребностями. Пользователи могут вводить как текст, так и изображения, пользуясь мультимодальными возможностями новейшего искусственного интеллекта, такого как семейство Claude 3, которое поддерживает динамическое взаимодействие с несколькими типами данных.
Пример GenAI Assistant для повышения производительности сотрудников построен на надежных бессерверных технологиях AWS, таких как Lambda, API Gateway, DynamoDB и S3, которые обеспечивают масштабируемость, высокую доступность и безопасность через Cognito. Эти технологии обеспечивают основу, которая позволяет примеру помощника GenAI Assistant по повышению производительности сотрудников реагировать по требованию на потребности пользователей, сохраняя при этом строгие стандарты безопасности. В основе его генеративных способностей лежат мощные модели искусственного интеллекта, доступные в Amazon Bedrock, которые помогают быстро доставлять адаптированный и высококачественный контент.
Пример GenAI Assistant для повышения продуктивности сотрудников демонстрирует его функциональные возможности с помощью серии интерактивных GIF-файлов, что упрощает пользователям понимание и использование его функций:
Предоставляя оптимизированный интерфейс и комплексные инструменты, пример GenAI Assistant для повышения продуктивности сотрудников не только упрощает создание сложных документов, но также повышает производительность и творческий потенциал пользователей. Этот репозиторий GitHub служит руководством по развертыванию этого решения в учетных записях пользователей AWS, гарантируя, что каждый сможет настроить и начать использовать расширенные возможности этого помощника по написанию статей на базе искусственного интеллекта.
Архитектурные шаблоны и повторно используемые компоненты
В дополнение к интерактивным функциям пример GenAI Assistant для повышения продуктивности сотрудников предоставляет надежный архитектурный шаблон для создания решений генеративного искусственного интеллекта на AWS. Используя Amazon Bedrock и бессерверные сервисы AWS, такие как Lambda, API Gateway и DynamoDB, этот пример демонстрирует масштабируемый и безопасный подход к развертыванию приложений генеративного ИИ. Этот архитектурный шаблон можно использовать в качестве основы для создания различных решений генеративного искусственного интеллекта, адаптированных к различным сценариям использования. Кроме того, решение включает в себя многократно используемый пользовательский интерфейс на основе компонентов, построенный на платформе React, что позволяет разработчикам легко расширять и настраивать интерфейс в соответствии со своими конкретными потребностями. В примере также демонстрируется реализация поддержки потоковой передачи с использованием WebSockets, позволяющая отвечать в режиме реального времени как при взаимодействии в чате, так и при одноразовых запросах, улучшая взаимодействие с пользователем и оперативность помощника по генеративному искусственному интеллекту.
improve-employee-productivity-using-genai/
│
├── backend/ - Contains all backend related files.
│ ├── artifacts/ - Artifacts such as screenshots
│ ├── src/ - Source code for Lambda functions.
│ ├── utils/ - Utility scripts such as helper to create Cognito users
│ ├── layer/ - Code for Lambda layers.
│ └── template.yaml - Main SAM template for Infrastructure as Code (IaC) deployment.
│
└── frontend/ - Houses the frontend React application.
│ ├── src/ - Main folder for React code.
│ └── App.js - Entry point for the React application.
│ └── .env - Environment variables created on deployment (auto-generated).
│
├── deploy.sh - Single bash script for deploying both backend and frontend.
└── default_templates.json - Default templates that gets uploaded to DynamoDB at deployment for bootstrap.
Прежде чем приступить к развертыванию и разработке примера GenAI Assistant для повышения производительности сотрудников, убедитесь, что у вас настроены следующие предварительные условия:
pip
Прежде чем приступить к развертыванию или разработке примера GenAI Assistant по повышению производительности сотрудников, убедитесь, что они установлены и правильно настроены.
️ Важно ! Прежде чем приступить к развертыванию, убедитесь, что вы выполнили все предварительные условия.
Пример использования GenAI Assistant для повышения производительности сотрудников включает в себя выполнение сценария bash, который управляет настройкой как серверной, так и внешней части. Ниже приведены подробные шаги, которые выполняет скрипт:
Чтобы развернуть пример GenAI Assistant для повышения производительности сотрудников, используйте следующие команды в своем терминале, включая регион AWS в качестве обязательного аргумента:
./deploy.sh --region=your-aws-region --email=your-email
./deploy.sh --backend --region=your-aws-region --email=your-email
./deploy.sh --frontend --region=your-aws-region --email=your-email
./deploy.sh --delete --region=your-aws-region --email=your-email
./deploy.sh --container --region=your-aws-region --email=your-email
Замените your-aws-region
на соответствующий регион AWS (например, us-east-1
).
Обязательно запустите эти команды из корня каталога проекта и замените your-aws-region
фактическим регионом AWS, который вы собираетесь использовать.
После завершения развертывания перейдите к инструкциям ниже, посвященным действиям после развертывания.
Подробную информацию о том, что делает скрипт, смотрите ниже:
--delete
, скрипт запрашивает подтверждение удаления указанного стека AWS.--backend
) :sam build --template "$SAM_TEMPLATE" --parallel --cached
--container
./deploy.sh
запускает SAM, например: sam build --template "$SAM_TEMPLATE" --parallel --cached --use-container
--frontend
) :.env
в каталоге внешнего интерфейса с этими выходными данными.aws-exports.json
для конфигурации AWS.AWS CloudShell позволяет вам иметь бесплатную и мгновенную среду Linux, доступную из консоли AWS. Чтобы установить решение с помощью AWS CloudShell, выполните следующие действия по порядку.
Установка зависимостей : во-первых, убедитесь, что у вас установлены необходимые инструменты разработки и библиотеки. Откройте AWS CloudShell и выполните следующие команды:
# Install Development Tools
sudo yum groupinstall " Development Tools " -y &&
# Install necessary libraries
sudo yum install openssl-devel bzip2-devel libffi-devel zlib-devel xz-devel ncurses-devel readline-devel sqlite-devel -y
Установка Python 3.11 с PyEnv : AWS CloudShell не поставляется с Python 3.11, поэтому нам нужно будет установить PyEnv, чтобы затем установить и установить Python 3.11 в качестве версии Python по умолчанию в нашей оболочке.
# Install PyEnv
git clone https://github.com/pyenv/pyenv.git ~ /.pyenv
# Set .bash_profile env
echo ' ' >> ~ /.bash_profile
echo ' # Pyenv Configuration ' >> ~ /.bash_profile
echo ' export PYENV_ROOT="$HOME/.pyenv" ' >> ~ /.bash_profile
echo ' export PATH="$PYENV_ROOT/bin:$PATH" ' >> ~ /.bash_profile
echo ' eval "$(pyenv init -)" ' >> ~ /.bash_profile
# Reinitialize your Shell
source ~ /.bash_profile
# Install Python 3.11
pyenv install 3.11
# Set Python 3.11 as default with PyEnv
pyenv global 3.11
Создайте новую рабочую папку в CloudShell : домашний каталог AWS CloudShell имеет только 1 ГБ хранилища, нам понадобится временное хранилище для сборки и развертывания этого приложения. Сначала давайте создадим папку в корневом каталоге и установим соответствующие права пользователя.
# Folder creation
sudo mkdir /aws-samples &&
# Setting folder permissions
sudo chown cloudshell-user -R /aws-samples
Клонирование репозитория и развертывание решения . Теперь, когда у нас есть папка и все зависимости, давайте шаг за шагом рассмотрим, как развернуть решение с помощью AWS CloudShel.
# Navigate to the newly created folder
cd /aws-samples
# Clone the repo in the /aws-samples folder
git clone https://github.com/aws-samples/improve-employee-productivity-using-genai.git
# Navigate to the git folder
cd improve-employee-productivity-using-genai/
# Before running the deployment command, set the maximum npm memory to 1024MB to avoid OOM error
export NODE_OPTIONS= " --max_old_space_size=1024 "
Разверните серверную часть решения . Теперь, когда у нас есть все зависимости для развертывания нашего приложения, мы можем развернуть серверную часть нашего решения, используя команду ниже. Мы используем вариант развертывания для серверной части, а затем для внешнего интерфейса, поскольку у Cloudshell недостаточно памяти для развертывания обоих с помощью одной и той же команды. Пожалуйста, измените регион и адрес электронной почты, прежде чем запускать команду ниже.
# Run the deployment command for the backend
./deploy.sh --backend --region=your-aws-region --email=your-email
Развертывание внешнего интерфейса решения . Наконец, последнее, что осталось, — это развернуть внешний интерфейс решения. Пожалуйста, используйте тот же регион и адрес электронной почты, которые вы использовали в команде Backend выше.
# Run the deployment command for the frontend
./deploy.sh --frontend --region=your-aws-region --email=your-email
Развертывание может занять от 15 до 30 минут. Имейте в виду, что если вы не будете использовать AWS CloudShell более 20 минут, ваша среда CloudShell будет удалена. Рекомендуется открыть вторую вкладку CloudShell и запускать некоторые команды каждые 10 минут, чтобы избежать автоматического завершения работы.
Примечание . Если эта команда не выполнена из-за нехватки памяти CloudShell, просто повторно запустите команду
--frontend
, и она должна работать.
После завершения развертывания вам будет показан URL-адрес CloudFront, имя пользователя и временный пароль для доступа к решению. Пожалуйста, проверьте раздел после развертывания.
Развертывание примера GenAI Assistant для повышения продуктивности сотрудников с помощью AWS Cloud9 обеспечивает оптимизированную и согласованную настройку среды разработки. Следуйте этим подробным инструкциям, чтобы настроить среду Cloud9 и эффективно развернуть приложение.
Примечание. Размер тома EBS изменяется автоматически :
Откройте консоль AWS Cloud9 :
Создайте новую среду :
GenAI-Productivity-Env
, и нажмите «Следующий шаг» .Настройте среду :
t3/t3.medium
или больше, чтобы обеспечить достаточную вычислительную мощность.AWS System Manager (SSM)
в качестве типа подключения. Просмотрите и создайте :
Как только ваша среда будет готова, вам необходимо подготовить ее для развертывания примера помощника GenAI по повышению производительности сотрудников.
Получите доступ к своей среде Cloud9 :
Клонируйте репозиторий проекта :
git clone https://github.com/aws-samples/improve-employee-productivity-using-genai
cd improve-employee-productivity-using-genai
Вы можете развернуть как бэкэнд, так и фронтенд или обрабатывать их отдельно.
Для развертывания как серверной, так и внешней части (рекомендуется) :
./deploy.sh --container --region= < your-aws-region > --email= < your-email >
Замените на свой регион AWS (например, us-east-1) и свой фактический адрес электронной почты.
Чтобы развернуть только серверную часть:
./deploy.sh --backend --container --region= < your-aws-region > --email= < your-email >
Замените на свой регион AWS (например, us-east-1) и свой фактический адрес электронной почты.
Чтобы развернуть только внешний интерфейс:
./deploy.sh --frontend --region= < your-aws-region > --email= < your-email >
Замените на свой регион AWS (например, us-east-1) и свой фактический адрес электронной почты.
После завершения сценария развертывания перейдите к следующему разделу Действия после развертывания.
После успешного развертывания примера помощника GenAI для повышения производительности сотрудников, поскольку при развертывании по умолчанию создается ТОЛЬКО пользователь-администратор в Cognito, выполните следующие действия, чтобы создать дополнительных пользователей Cognito, чтобы предоставить доступ к развертыванию примера помощника для повышения производительности сотрудников GenAI:
Доступ к приложению :
Войдите в приложение :
<your-email>
).Изучите приложение :
Создайте дополнительных пользователей (необязательно) :
EmployeeProductivityGenAIAssistantExample
.Назначьте роли пользователей (необязательно) :
? Поздравляем с развертыванием и настройкой примера GenAI Assistant для повышения производительности сотрудников! Исследуйте его возможности и наслаждайтесь опытом.
.env
и aws-exports.json
в каталоге внешнего интерфейса. Изучите возможности примера GenAI Assistant по повышению производительности сотрудников с помощью этих увлекательных демонстраций. Каждая функция выделена интерактивными GIF-изображениями, показывающими систему в действии:
Удобство использования игровой площадки :
Создание шаблона :
Шаблонное приложение в действии :
Функция истории активности :
Интерактивный чат с шаблонами :
Мультимодальный ввод :
Эти инструменты предназначены для повышения вашей производительности и творческих способностей за счет оптимизации взаимодействия с моделями ИИ в бессерверной среде.
Стоимость запуска примера GenAI Assistant для повышения производительности сотрудников может варьироваться в зависимости от ваших моделей использования и конкретных моделей Amazon Bedrock, которые вы решите использовать. Чтобы дать приблизительную оценку, мы создали ссылку на оценщик затрат, которая рассматривает сценарий с 50 пользователями, каждый из которых использует инструмент 5 раз в день со средним количеством 500 входных токенов и 200 выходных токенов.
Ориентировочная ежемесячная стоимость основана на следующих предположениях:
Цены на Bedrock можно увидеть на странице цен на AWS Bedrock. Ориентировочные затраты по данному сценарию следующие:
Модель Клода 3 Хайку :
Модель сонета Клода 3 :
Модель сонета Клода 3.5 :
Модель Клода 3 Опус :
Примечания . Хотя смета расходов рассчитывается с использованием одной модели, у вас есть возможность переключаться между моделями по мере необходимости. Например, если для конкретного запроса вам потребуется более продвинутая модель, такая как Opus, с вас будет взиматься плата только за это использование. Для большинства запросов вы можете использовать более экономичные модели, такие как Haiku, которые помогут снизить общую стоимость инструмента и оптимизировать его для ваших нужд.
Примечание . В оценке не учитывается уровень бесплатного пользования AWS для соответствующих критериям сервисов. Ваши фактические затраты могут быть ниже, если вы все еще находитесь в пределах уровня бесплатного пользования. Также обратите внимание, что цены на сервисы AWS могут со временем меняться, поэтому фактические затраты могут отличаться от приведенных оценок.
Важно отметить, что это всего лишь приблизительная оценка, которая не отражает точную стоимость. Цель состоит в том, чтобы предоставить общее представление о потенциальных затратах на основе данного сценария. Фактическая стоимость будет варьироваться в зависимости от ваших конкретных моделей использования и моделей Amazon Bedrock, которые вы решите использовать.
Одним из больших преимуществ облачной и бессерверной архитектуры является возможность увеличивать или уменьшать ресурсы в зависимости от спроса. В результате стоимость решения будет соответственно увеличиваться или уменьшаться, гарантируя, что вы платите только за потребляемые ресурсы.
Кроме того, некоторые компоненты решения, такие как AWS Lambda, S3, CloudFront, DynamoDB и Amazon Cognito, могут не повлечь за собой дополнительные расходы, если вы все еще находитесь в пределах уровня бесплатного пользования AWS.
Ссылка на оценщик стоимости : https://calculator.aws/#/estimate?id=5fa739dd54db78d439bb602e17bd8af8a1d78f07.
Примечание . В оценку стоимости не включены расходы на Amazon Bedrock, поскольку модели Claude еще не поддерживаются калькулятором.
Этот проект лицензируется по лицензии MIT — подробности см. в файле ЛИЦЕНЗИИ.
Мы приветствуем вклад в пример помощника GenAI по повышению производительности сотрудников! Если у вас есть предложения или вы хотите сообщить о проблемах, смело открывайте запрос на включение или проблему.
При внедрении решений важно следовать лучшим практикам для обеспечения безопасности, надежности и наблюдаемости. Ниже приведены некоторые рекомендации, но учтите, что этот список не является исчерпывающим и есть над чем подумать.
Чтобы повысить безопасность данных, рассмотрите возможность включения шифрования с использованием ключа, управляемого клиентом (CMK), хранящегося в службе управления ключами AWS (KMS), для различных сервисов. Это обеспечивает дополнительный уровень безопасности, позволяя вам контролировать доступ к ключам шифрования.
Внедрение надежных механизмов наблюдения и журналирования имеет решающее значение для мониторинга, устранения неполадок и аудита безопасности.
AccessLogSetting
для регистрации запросов на доступ.Для функций Lambda, работающих в виртуальном частном облаке (VPC), убедитесь, что конечные точки VPC настроены правильно, чтобы обеспечить безопасную и эффективную связь. Это может помочь сохранить все вызовы внутри VPC и избежать использования общедоступных конечных точек AWS.
Внедрив эти рекомендации, вы сможете значительно повысить безопасность, надежность и наблюдаемость своей среды. Всегда учитывайте конкретные потребности вашего приложения и инфраструктуры, чтобы определить наиболее подходящие конфигурации.