В этом репозитории мы представляем решение, которое использует возможности генеративного искусственного интеллекта для оптимизации процесса подключения пользователей к финансовым услугам с помощью цифрового помощника. Привлечение новых клиентов в банковское дело является важным шагом на пути клиента, включающим ряд мероприятий, направленных на выполнение требований «Знай своего клиента» (KYC), проведение необходимых проверок и ознакомление их с продуктами или услугами банка. Традиционно адаптация пользователей была утомительным и трудоемким процессом, выполняемым вручную. Наше решение предоставляет практическое руководство по решению этой проблемы с помощью помощника по генеративному искусственному интеллекту на AWS.
Amazon Bedrock — это полностью управляемый сервис, который предлагает выбор высокопроизводительных базовых моделей (FM) от ведущих компаний в области искусственного интеллекта, таких как AI21 Labs, Anthropic, Cohere, Meta, Mistral AI, Stability AI и Amazon, через единый API, а также широкий набор возможностей, необходимых для создания генеративных приложений ИИ с безопасностью, конфиденциальностью и ответственным ИИ. Используя Anthropic Claude 3.5 Sonnet на Amazon Bedrock, мы создаем цифрового помощника под названием Amazon Penny, который автоматизирует оформление документов, проверку личности и привлекает клиентов посредством диалогового взаимодействия. В результате клиенты могут быть подключены за считанные минуты с помощью безопасных автоматизированных рабочих процессов.
Порядок подачи заявления следующий:
Пользователи получают доступ к интерфейсному веб-сайту, размещенному в AWS Amplify.
Веб-сайт вызывает конечную точку Amazon CloudFront для взаимодействия с цифровым помощником Penny, который помещен в контейнер и развернут в AWS Fargate.
Цифровой помощник использует специального агента Langchain, чтобы отвечать на вопросы о продуктах и услугах банка и организовывать процесс адаптации. Модель большого языка (LLM), используемая агентом, — это Anthropic Claude 3.5 Sonnet, предоставленная Amazon Bedrock.
Если пользователь задает общий вопрос, связанный с продуктами или услугами банка, агент будет использовать специальный инструмент Langchain, называемый инструментом поиска продуктов. Этот инструмент использует Amazon Kendra, связанный с источником данных S3, который содержит данные банка.
Если пользователь указывает, что он хотел бы открыть новую учетную запись, агент запросит у пользователя адрес электронной почты. Как только пользователь ответит, он будет использовать специальный инструмент Langchain, называемый инструментом проверки электронной почты. Этот инструмент проверяет, существует ли существующая учетная запись в базе данных Amazon DynamoDB банка, вызывая конечную точку, развернутую в Amazon API Gateway.
После проверки электронной почты собирается информация KYC, такая как имя и фамилия. Затем пользователю будет предложено предоставить документ, удостоверяющий личность. Это загружается на Amazon S3.
Агент будет использовать специальный инструмент Langchain, называемый инструментом проверки идентификатора. Этот инструмент проверяет, соответствуют ли данные пользователя, введенные во время сеанса, идентификатору, вызывая конечную точку, развернутую в Amazon API Gateway. Детали проверяются путем извлечения текста документа с помощью Amazon Textract.
После проверки личности пользователю предлагается сделать селфи. Изображение загружается на Amazon S3. Затем агент будет использовать специальный инструмент Langchain под названием Selfie Verification Tool. Этот инструмент проверяет, соответствует ли загруженное селфи лицу на идентификаторе, вызывая конечную точку, развернутую в Amazon API Gateway. Совпадение лиц обнаруживается с помощью Amazon Rekognition.
После успешной проверки лица агент будет использовать специальный инструмент Langchain, называемый инструментом создания учетной записи. Этот инструмент создает новую учетную запись в базе данных Amazon DynamoDB банка, вызывая конечную точку, развернутую в Amazon API Gateway.
Пользователь уведомляется о том, что его новая учетная запись была успешно создана с помощью Amazon Simple Email Service (SES).
Определите учетную запись AWS, в которой вы хотите развернуть это решение, и обязательно укажите данные этой учетной записи везде, где это необходимо, в следующих шагах. Подготовьте в локальной командной строке следующее:
cdk bootstrap
из командной строки.В выбранной вами учетной записи AWS выполните следующие шаги:
sudo docker info
. Если Docker запущен, отображается информация о Docker.Примечание. При ряде допущений, сделанных на ежемесячной основе, расчетная почасовая стоимость выполнения этой рабочей нагрузки составит около 1,34 доллара США. Обязательно проверьте информацию о ценах для каждой отдельной услуги, чтобы понять, какие затраты могут взиматься с вас за различные уровни использования и конфигурации ресурсов.
Чтобы развернуть агент в своей учетной записи AWS, следуйте инструкциям ниже:
./api/llm
chmod +x script.sh
./script.sh
, и ваш новый репозиторий будет создан в ECR, а образ будет развернут.Чтобы развернуть инфраструктуру инструментов в своей учетной записи AWS, следуйте инструкциям ниже:
./infra
npm i
чтобы установить модули узлов.npm run build
, чтобы скомпилировать машинописный текст в javascript.LLMImageTag
— это тег образа Docker, который можно найти в консоли AWS в сервисе ECR. Введите значения параметров. В вашей учетной записи AWS будет создан стек CloudFormation. cdk deploy --parameters SesBankEmail={email} --parameters SesCustomerEmail={email} --parameters LLMImageTag={tag}
Пример использования:
cdk deploy --parameters [email protected] --parameters [email protected] --parameters LLMImageTag=20240307_123456
SesBankEmail
и SesCustomerEmail
которые вы указали, будет отправлено электронное письмо для проверки новых созданных удостоверений SES. Обязательно нажмите на ссылку подтверждения, указанную в электронном письме.CloudFrontDomainName
, выведенный стеком CloudFormation.Примечание. Если стек CloudFormation зависает в ожидании завершения LLMDeployment, возможно, ваша задача ECS не удалась. Это может быть связано с тем, что архитектура компьютера, на котором вы создали образ, не соответствует той, которую мы настроили для использования в нашем проекте (ARM64). В этом случае вручную обновите архитектуру, которую использует определение задачи ECS (чтобы вместо этого можно было использовать X86).
Чтобы развернуть демонстрационное приложение в своей учетной записи AWS, следуйте инструкциям ниже:
LLM_API_ENDPOINT
в App.js
внутри ./penny-ui/src/
на CloudFrontDomainName
, выведенное стеком CloudFormation../penny-ui
npm i
amplify init
amplify add hosting
amplify publish
Убедитесь, что вы выполнили шаг « Deploy the Tools Infrastructure to AWS Account
Перейдите в ./api/llm
os.environ["kendraIndexId"]
на идентификатор индекса Kendra, который вы хотели бы использовать, в файле tools.py
os.environ["apiEndpoint"]
на конечную точку API-шлюза, выведенную стеком CloudFormation, в файле tools.py
os.environ["idBucketName"]
на имя сегмента идентификатора S3, созданное стеком CloudFormation, в main.py
Запустите python3 -m uvicorn main:app --reload
. LLM API будет доступен по адресу http://127.0.0.1:8000/
Перейдите в ./penny-ui
Запустите npm i
чтобы установить зависимости
Запустите npm run start
, чтобы запустить сервер разработки. Демо-приложение будет доступно по адресу http://localhost:3000/
Выполните следующие шаги, чтобы очистить и удалить среду из вашей учетной записи:
PennyInfraStack
локально, выполнив следующие команды. Это автоматически удалит все стеки и ресурсы, связанные с PennyInfraStack
в вашей учетной записи AWS. cd ./infra
cdk destroy
Удалите следующие сегменты S3 — сегмент ID и сегмент каталога AnyBank. Обязательно очистите корзину, прежде чем удалять ее. Найдите эти сегменты, выполнив поиск по префиксам pennyinfrastack-idbucket
и pennyinfrastack-anybankcatalogbucket
.
Удалите внешнее приложение, размещенное на Amplify, запустив amplify delete
.
Удалите артефакты изображения и частный репозиторий в ECR с именем penny-workshop
.
Для получения дополнительной информации см. ВКЛАД.
Эта библиотека лицензируется по лицензии MIT-0. См. файл ЛИЦЕНЗИИ.