Home Машинное обучение Создайте безопасное корпоративное приложение с помощью генеративного искусственного интеллекта и RAG с помощью Amazon SageMaker JumpStart. | DeepTech

Создайте безопасное корпоративное приложение с помощью генеративного искусственного интеллекта и RAG с помощью Amazon SageMaker JumpStart. | DeepTech

0
Создайте безопасное корпоративное приложение с помощью генеративного искусственного интеллекта и RAG с помощью Amazon SageMaker JumpStart.
 | DeepTech

Генеративный ИИ — это тип ИИ, который может создавать новый контент и идеи, включая разговоры, истории, изображения, видео и музыку. Он основан на больших языковых моделях (LLM), которые предварительно обучаются на огромных объемах данных и обычно называются базовыми моделями (FM).

С появлением этих программ LLM или FM клиенты могут просто создавать приложения на основе генеративного искусственного интеллекта для рекламы, управления знаниями и поддержки клиентов. Осознание влияния этих приложений может предоставить клиентам более полную информацию и положительно повлиять на эффективность работы организации за счет простого поиска информации и автоматизации некоторых трудоемких задач.

Благодаря генеративному искусственному интеллекту на AWS вы можете заново изобрести свои приложения, создать совершенно новый клиентский опыт и повысить общую производительность.

В этом посте мы создаем безопасное корпоративное приложение с помощью AWS Amplify, которое использует базовую модель Amazon SageMaker JumpStart, конечные точки Amazon SageMaker и Amazon OpenSearch Service, чтобы объяснить, как создавать преобразование текста в текст или текст в изображение, а также поисковую расширенную генерацию. (ТРЯПКА). Вы можете использовать этот пост в качестве справочника по созданию безопасных корпоративных приложений в области генеративного искусственного интеллекта с использованием сервисов AWS.

Обзор решения

В этом решении используются модели SageMaker JumpStart для развертывания моделей преобразования текста в текст, текста в изображение и внедрения текста в качестве конечных точек SageMaker. Эти конечные точки SageMaker используются в приложении Amplify React через Amazon API Gateway и функции AWS Lambda. Чтобы защитить приложение и API от непреднамеренного доступа, Amazon Cognito интегрируется с функциями Amplify React, API Gateway и Lambda. Конечные точки SageMaker и Lambda развертываются в частном VPC, поэтому связь между API Gateway и функциями Lambda защищена с помощью ссылок API Gateway VPC. Следующая диаграмма рабочего процесса иллюстрирует это решение.

Рабочий процесс включает в себя следующие этапы:

  1. Начальная настройка: FM-устройства SageMaker JumpStart развертываются как конечные точки SageMaker, при этом три конечные точки создаются на основе моделей SageMaker JumpStart. Модель преобразования текста в изображение — это базовая модель Stability AI Stable Diffusion, которая будет использоваться для создания изображений. Модель преобразования текста в текст, используемая для генерации текста и развернутая в решении, представляет собой модель Hugging Face Flan T5 XL. Модель встраивания текста, которая будет использоваться для создания встраивания для индексации в Amazon OpenSearch Service или поиска контекста входящего вопроса, представляет собой модель встраивания Hugging Face GPT 6B FP16. Альтернативные LLM могут быть развернуты на основе сценария использования и показателей производительности модели. Дополнительную информацию о базовых моделях см. в разделе Начало работы с Amazon SageMaker JumpStart.
  2. Вы получаете доступ к приложению React со своего компьютера. Приложение React имеет три страницы: страница, которая принимает подсказки к изображениям и отображает созданное изображение; страница, которая принимает текстовые подсказки и отображает сгенерированный текст; и страница, которая принимает вопрос, находит контекст, соответствующий вопросу, и отображает ответ, сгенерированный моделью преобразования текста в текст.
  3. Приложение React, созданное с использованием библиотек Amplify, размещается на Amplify и предоставляется пользователю по URL-адресу хоста Amplify. Amplify предоставляет среду хостинга для приложения React. Интерфейс командной строки Amplify используется для загрузки среды хостинга Amplify и развертывания кода в среде хостинга Amplify.
  4. Если вы не прошли аутентификацию, вы пройдете аутентификацию в Amazon Cognito с использованием библиотеки пользовательского интерфейса Amplify React.
  5. Когда вы вводите данные и отправляете форму, запрос обрабатывается через шлюз API.
  6. Лямбда-функции очищают вводимые пользователем данные и вызывают соответствующие конечные точки SageMaker. Лямбда-функции также создают подсказки на основе очищенного пользовательского ввода в соответствующем формате, ожидаемом LLM. Эти функции Lambda также переформатируют выходные данные LLM и отправляют ответ обратно пользователю.
  7. Конечные точки SageMaker развертываются для моделей преобразования текста в текст (Flan T5 XXL), внедрения текста в текст (GPTJ-6B) и моделей преобразования текста в изображение (Stability AI). Развертываются три отдельные конечные точки, использующие рекомендованные по умолчанию типы экземпляров SageMaker.
  8. Внедрения для документов создаются с использованием модели «текст во встраивание», и эти внедрения индексируются в службе OpenSearch. Индекс k-Nearest Neighbor (k-NN) включен, чтобы обеспечить поиск вложений из службы OpenSearch.
  9. Задание AWS Fargate берет документы и сегментирует их на более мелкие пакеты, вызывает модель LLM преобразования текста в встраивания и индексирует возвращенные встраивания в сервис OpenSearch для поиска контекста, как описано ранее.

Обзор набора данных

Набор данных, используемый для этого решения: pile-of-law в рамках Репозиторий Hugging Face. Этот набор данных представляет собой большой массив юридических и административных данных. Для этого примера мы используем train.cc_casebooks.jsonl.xz внутри этого репозитория. Это коллекция учебных пособий, созданных в формате JSONL в соответствии с требованиями LLM.

Предварительные условия

Прежде чем приступить к работе, убедитесь, что у вас есть следующие предварительные условия:

Внедрить решение

Проект AWS CDK, включающий все архитектурные компоненты, доступен в этих примерах AWS. Репозиторий GitHub. Чтобы реализовать это решение, сделайте следующее:

  1. Клонируйте Репозиторий GitHub к вашему компьютеру.
  2. Перейдите в корневую папку.
  3. Инициализируйте виртуальную среду Python.
  4. Установите необходимые зависимости, указанные в requirements.txt файл.
  5. Инициализируйте AWS CDK в папке проекта.
  6. Загрузите AWS CDK в папке проекта.
  7. С помощью команды развертывания AWS CDK разверните стеки.
  8. Перейдите в папку Amplify в папке проекта.
  9. Инициализируйте Amplify и примите значения по умолчанию, предоставленные CLI.
  10. Добавьте хостинг Amplify.
  11. Опубликуйте внешний интерфейс Amplify из папки Amplify и запишите имя домена, указанное в конце запуска.
  12. На консоли Amazon Cognito добавьте пользователя в экземпляр Amazon Cognito, который был предоставлен при развертывании.
  13. Перейдите к имени домена из шага 11 и укажите данные для входа в Amazon Cognito для доступа к приложению.

Запустить задание индексирования OpenSearch

В проекте AWS CDK была развернута функция Lambda с именем GenAIServiceTxt2EmbeddingsOSIndexingLambda. Перейдите к этой функции на консоли Lambda.

Запустите тест с пустой полезной нагрузкой, как показано на следующем снимке экрана.

Эта функция Lambda запускает задачу Fargate в Amazon Elastic Container Service (Amazon ECS), работающую в VPC. Эта задача Fargate использует включенный файл JSONL для сегментации и создания индекса внедрения. Встраивание каждого сегмента является результатом вызова конечной точки LLM для встраивания текста, развернутой в рамках проекта AWS CDK.

Очистить

Чтобы избежать будущих расходов, удалите конечную точку SageMaker и остановите все функции Lambda. Кроме того, удалите выходные данные в Amazon S3, которые вы создали во время выполнения рабочего процесса приложения. Прежде чем удалять корзины, необходимо удалить данные в сегментах S3.

Заключение

В этом посте мы продемонстрировали комплексный подход к созданию безопасного корпоративного приложения с использованием генеративного искусственного интеллекта и RAG. Этот подход можно использовать при создании безопасных и масштабируемых приложений генеративного искусственного интеллекта на AWS. Мы рекомендуем вам развернуть приложение AWS CDK в своей учетной записи и создать решение Generative AI.

Дополнительные ресурсы

Дополнительную информацию о приложениях генеративного искусственного интеллекта на AWS можно найти по следующим ссылкам:


Об авторах

Джей Пиллаи — главный архитектор решений в Amazon Web Services. Как руководитель информационных технологий Джей специализируется на искусственном интеллекте, интеграции данных, бизнес-аналитике и пользовательском интерфейсе. Он имеет 23-летний обширный опыт работы с несколькими клиентами в сферах недвижимости, финансовых услуг, страхования, платежей и исследований рынка.

Шикхар Кватра — специалист по архитектуре решений AI/ML в Amazon Web Services, работающий с ведущим глобальным системным интегратором. Он заслужил звание одного из самых молодых индийских мастеров-изобретателей, получив более 500 патентов в областях искусственного интеллекта, машинного обучения и Интернета вещей. Шикхар помогает в проектировании, создании и обслуживании экономичных масштабируемых облачных сред для организации, а также поддерживает партнера GSI в создании стратегических отраслевых решений на AWS. Шикхар любит играть на гитаре, сочинять музыку и в свободное время практиковать осознанность.

Картик Сонти возглавляет глобальную команду архитекторов решений, занимающихся концептуализацией, созданием и запуском горизонтальных, функциональных и вертикальных решений вместе с Accenture, чтобы помочь нашим общим клиентам дифференцированно трансформировать свой бизнес с помощью AWS.

LEAVE A REPLY

Please enter your comment!
Please enter your name here