⚡ Если вы создали новое приложение Amazon Q Business 30 апреля 2024 г. или позже, теперь вы можете настроить собственный пользовательский интерфейс, используя обновленные инструкции, представленные ниже. |
---|
Примечание. Инструкции, представленные в этом руководстве, относятся только к Cognito, но с небольшими изменениями они также должны работать и для других поставщиков удостоверений (IdP), совместимых с OIDC 2.0.
Клиентам часто нужна возможность интегрировать пользовательские функции в пользовательский интерфейс Amazon Q, такие как обработка отзывов, использование корпоративных цветов и шаблонов, индивидуальный вход в систему и сокращение переключения контекста за счет интеграции пользовательского интерфейса в единую платформу. В репозитории кода будет показано, как интегрировать пользовательский пользовательский интерфейс в Amazon Q с использованием Amazon Cognito для аутентификации пользователей и Amazon Q SDK для программного вызова приложения чат-бота через API Chat_sync.
? Рабочий процесс включает в себя следующие этапы:
Сначала пользователь получает доступ к приложению чат-бота, которое размещено за балансировщиком нагрузки приложений.
Пользователю предлагается войти в систему с помощью Cognito.
Приложение пользовательского интерфейса обменивает токен из Cognito на токен IAM Identity Center с областью действия Amazon Q.
Приложения пользовательского интерфейса берут на себя роль IAM и получают сеанс AWS из службы Secure Token Service (STS), дополненный токеном IAM Identity Center для взаимодействия с Amazon Q.
? Блог 1
? Блог 2
Amazon Q использует API ChatSync для ведения разговора. Благодаря сеансу с идентификацией личности Amazon Q знает, с каким пользователем он взаимодействует.
В запросе используются следующие обязательные параметры.
applicationId : идентификатор приложения Amazon Q, связанного с диалогом Amazon Q.
userMessage : сообщение конечного пользователя в разговоре.
Amazon Q возвращает ответ в виде объекта JSON (подробно описано в документации Amazon Q). Ниже приведены несколько основных атрибутов полезных данных ответа.
systemMessage : сообщение, сгенерированное ИИ в разговоре.
sourceAttributions : исходные документы, используемые для генерации ответа на диалог. В RAG (генерация поискового расширения) это всегда относится к одному или нескольким документам из корпоративных баз знаний, которые индексируются в Amazon Q.
Прежде чем развертывать это решение, убедитесь, что у вас настроены следующие предварительные условия:
Если у вас уже есть сертификат TLS, вы можете пропустить этот раздел.
Однако, если у вас его нет и вы хотите продолжить запуск этой демонстрации, вы можете создать частный сертификат, связанный с доменом, с помощью следующей команды openssl:
openssl req
-x509 -nodes -days 365 -sha256
-subj '/C=US/ST=Oregon/L=Portland/CN=sampleexample.com'
-newkey rsa:2048 -keyout key.pem -out cert.pem
aws acm import-certificate --certificate fileb://cert.pem --private-key fileb://key.pem
➡️ Обратите внимание, что вы получите предупреждение от вашего браузера при доступе к пользовательскому интерфейсу, если вы не предоставили собственный сертификат TLS при запуске стека AWS CloudFormation. В приведенных выше инструкциях показано, как создать самозаверяющий сертификат, который можно использовать в качестве резервной копии, но это определенно не рекомендуется для производственных случаев.
Вам следует получить сертификат TLS, проверенный центром сертификации, импортировать его в AWS Certificate Manager и использовать его при запуске стека AWS CloudFormation.
Если вы хотите продолжить использовать самозаверяющий сертификат (в целях разработки), вы сможете пройти мимо страницы предупреждения браузера. В Chrome вы увидите сообщение об ошибке «Ваше соединение не является частным» (NET::ERR_CERT_AUTHORITY_INVALID), но, нажав «Дополнительно», вы увидите ссылку для продолжения.
Укажите следующие параметры для стека
• Имя стека — имя стека CloudFormation (например, AmazonQ-UI-Demo).
• AuthName — глобальное уникальное имя, которое можно присвоить пулу пользователей Amazon Cognito. Убедитесь, что ваше доменное имя не содержит зарезервированных слов, таких как cognito, aws или amazon.
• СертификатARN — СертификатARN, созданный на предыдущем шаге.
• IdcApplicationArn — клиентское приложение Identity Center ARN. Оставьте это поле пустым при первом запуске, так как нам нужно создать пул пользователей Cognito как часть этого стека для создания приложения IAM Identity Center с доверенным эмитентом токенов.
• PublicSubnetIds — идентификаторы общедоступных подсетей, которые можно использовать для развертывания экземпляра EC2 и балансировщика нагрузки приложений. Пожалуйста, выберите как минимум 2 общедоступные подсети.
• QApplicationId — существующий идентификатор приложения Amazon Q.
• VPCId — идентификатор существующего VPC, который можно использовать для развертывания демо-версии.
Аудитория : Аудитория для настройки клиентского приложения в Identity Center.
RoleArn : ARN роли IAM, необходимый для настройки обмена токенами в Identity Center.
TrustedIssuerUrl : конечная точка доверенного эмитента для настройки Identity Center.
URL : URL-адрес балансировщика нагрузки для доступа к приложениюstreamlit.
Перейдите в AWS IAM Identity Center и добавьте новое управляемое приложение.
Выберите тип приложения -> затем выберите OAuth2.0 -> Далее.
Если вы не можете найти возможность создания нового настраиваемого управляемого приложения, включите для организаций IAM Identity Center.
Укажите имя и описание приложения и выберите вариант ниже, как показано на изображении.
Теперь создайте доверенного эмитента токенов.
В URL-адресе эмитента -> укажите TrustedIssuerUrl из шага 1, укажите имя эмитента и сохраните атрибуты карты как адрес электронной почты.
Затем вернитесь к настройкам аутентификации приложения IAM Identity Center, выберите доверенного эмитента токена, созданного на предыдущем шаге [обновите его, если вы не видите в списке] и добавьте утверждение Aud -> укажите аудиторию из шага 1, затем нажмите Следующий
В разделе «Укажите учетные данные приложения» введите роли IAM -> укажите RoleArn из шага 1.
Затем просмотрите все шаги и создайте приложение.
После создания приложения перейдите в приложение и -> Назначенные пользователи и группы.
Затем настройте доверенное приложение для распространения удостоверений и выполните следующие действия, чтобы использовать Amazon Q в качестве доверенных приложений для распространения удостоверений.
Шаг 4. После создания приложения IAM Identity Center скопируйте ARN приложения и перейдите в Cloudformation, чтобы обновить ранее созданный стек. Введите ARN приложения Identity Center в параметре IdcApplicationArn и запустите стек.
Шаг 5. После завершения обновления перейдите на вкладку вывода Cloudformation, чтобы скопировать URL-адрес и открыть его в браузере.
Шаг 6. Приложение Streamlit предложит подключиться к Cognito . При первой попытке входа попробуйте зарегистрироваться, используйте тот же идентификатор электронной почты и пароль для пользователя, который уже существует в IAM Identity Center.
⚡ Чтобы исключить необходимость инициализации пользователей как в пуле пользователей Cognito, так и в центре идентификации, вы можете перейти по ссылке ниже, чтобы создать второе пользовательское приложение (SAML) в центре идентификации. Это пользовательское приложение будет выступать в качестве поставщика удостоверений для пула пользователей Cognito.
? Видео
? Инструкции
sudo -i
cd /opt/custom-web-experience-with-amazon-q-business
Дополнительную информацию см. в разделе УСТРАНЕНИЕ НЕИСПРАВНОСТЕЙ.
См. ВКЛАД для получения дополнительной информации.
Эта библиотека лицензируется по лицензии MIT-0. См. файл ЛИЦЕНЗИИ.