Створіть веб-інтерфейс для взаємодії з магістрами права за допомогою Amazon SageMaker JumpStart | Веб-сервіси Amazon

Створіть веб-інтерфейс для взаємодії з магістрами права за допомогою Amazon SageMaker JumpStart | Веб-сервіси Amazon

Запуск ChatGPT і зростання популярності генеративного штучного інтелекту захопили уяву клієнтів, яким цікаво, як вони можуть використовувати цю технологію для створення нових продуктів і послуг на AWS, таких як корпоративні чат-боти, які є більш розмовними. У цьому дописі показано, як створити веб-інтерфейс користувача, який ми називаємо Chat Studio, щоб почати розмову та взаємодіяти з основними моделями, доступними в Amazon SageMaker JumpStart такі як Llama 2, Stable Diffusion та інші моделі, доступні на Amazon SageMaker. Після розгортання цього рішення користувачі зможуть швидко розпочати роботу та відчути можливості кількох базових моделей у розмовному ШІ через веб-інтерфейс.

Chat Studio також може додатково викликати кінцеву точку моделі Stable Diffusion, щоб повернути колаж із відповідних зображень і відео, якщо користувач просить відобразити медіафайли. Ця функція може допомогти покращити взаємодію з користувачем, використовуючи медіа як супровідні ресурси для відповіді. Це лише один приклад того, як ви можете збагатити Chat Studio додатковими інтеграціями для досягнення ваших цілей.

На наступних знімках екрана показано приклади того, як виглядають запит і відповідь користувача.

Інтерфейс запитів Chat Studio

Інтерфейс відповіді Chat Studio

Великі мовні моделі

Генеративні чат-боти штучного інтелекту, такі як ChatGPT, працюють на основі великих мовних моделей (LLM), які базуються на нейронній мережі глибокого навчання, яку можна навчати на великій кількості тексту без міток. Використання LLMs забезпечує кращий досвід розмови, який дуже нагадує взаємодію з реальними людьми, сприяючи відчуттю зв’язку та покращенню задоволеності користувачів.

Моделі основи SageMaker

У 2021 році Стенфордський інститут штучного інтелекту, орієнтованого на людину, назвав деякі LLM як моделі фундаменту. Основні моделі попередньо навчені на великому та широкому наборі загальних даних і покликані служити основою для подальшої оптимізації в широкому діапазоні випадків використання, від створення цифрового мистецтва до класифікації багатомовного тексту. Ці базові моделі популярні серед клієнтів, оскільки навчання нової моделі з нуля потребує часу та може бути дорогим. SageMaker JumpStart надає доступ до сотень базових моделей, які обслуговуються сторонніми постачальниками з відкритим кодом і пропрієтарними постачальниками.

Огляд рішення

У цьому дописі описано робочий процес із низьким кодом для розгортання попередньо підготовлених і налаштованих LLM через SageMaker і створення веб-інтерфейсу користувача для взаємодії з розгорнутими моделями. Ми розглядаємо наступні кроки:

  1. Розгорніть моделі основи SageMaker.
  2. Розгортання AWS Lambda та Управління ідентифікацією та доступом AWS (IAM) використання дозволів AWS CloudFormation.
  3. Налаштуйте та запустіть інтерфейс користувача.
  4. За бажанням додайте інші моделі основи SageMaker. Цей крок розширює можливості Chat Studio для взаємодії з додатковими базовими моделями.
  5. За бажанням розгорніть програму за допомогою AWS Amplify. Цей крок розгортає Chat Studio в Інтернеті.

Зверніться до наступної діаграми для огляду архітектури рішення.

Архітектура рішення Chat Studio

Передумови

Щоб пройти через рішення, ви повинні мати такі передумови:

  • An Обліковий запис AWS з достатніми правами користувача IAM.
  • npm встановлено у вашому локальному середовищі. Щоб отримати інструкції щодо встановлення npm, відноситься до Завантаження та встановлення Node.js і npm.
  • Квота обслуговування 1 для відповідних кінцевих точок SageMaker. Для Llama 2 13b Chat ми використовуємо екземпляр ml.g5.48xlarge, а для Stable Diffusion 2.1 ми використовуємо екземпляр ml.p3.2xlarge.

Щоб подати запит на збільшення квоти послуг, на Консоль AWS Service Quotas, перейдіть до Сервіси AWS, SageMaker, і запит на підвищення квоти обслуговування до значення 1 для ml.g5.48xlarge для використання кінцевої точки та ml.p3.2xlarge для використання кінцевої точки.

Схвалення запиту на квоту служби може тривати кілька годин, залежно від доступності типу екземпляра.

Розгорніть моделі основи SageMaker

SageMaker — це повністю керована служба машинного навчання (ML), яка дозволяє розробникам легко створювати та навчати моделі ML. Виконайте наступні кроки, щоб розгорнути базові моделі Llama 2 13b Chat і Stable Diffusion 2.1 за допомогою Студія Amazon SageMaker:

  1. Створіть домен SageMaker. Інструкції див Підключення до домену Amazon SageMaker за допомогою швидкого налаштування.

Домен налаштовує все сховище та дозволяє додавати користувачів для доступу до SageMaker.

  1. На консолі SageMaker виберіть Studio на панелі навігації, а потім виберіть Відкрийте Studio.
  2. Після запуску Studio, під SageMaker JumpStart на панелі навігації виберіть Макети, зошити, рішення.
    Консоль SageMaker JumpStart
  3. У рядку пошуку знайдіть Llama 2 13b Chat.
  4. під Конфігурація розгортання, Для Примірник хостингу SageMakerвиберіть мл.g5.48xвеликий і для Ім'я кінцевої точки, введіть meta-textgeneration-llama-2-13b-f.
  5. Вибирати Розгортання.

Конфігурація розгортання SageMaker JumpStart

Після успішного розгортання ви зможете побачити In Service Статус.

Статус моделі лами

  1. на Макети, зошити, рішення сторінку, знайдіть Stable Diffusion 2.1.
  2. під Конфігурація розгортання, Для Примірник хостингу SageMakerвиберіть ml.p3.2xlarge і для Ім'я кінцевої точки, введіть jumpstart-dft-stable-diffusion-v2-1-base.
  3. Вибирати Розгортання.

Конфігурація розгортання SageMaker JumpStart

Після успішного розгортання ви зможете побачити In Service Статус.

Стабільний стан дифузійної моделі

Розгорніть дозволи Lambda та IAM за допомогою AWS CloudFormation

У цьому розділі описано, як можна запустити стек CloudFormation, який розгортає функцію Lambda, яка обробляє ваш запит користувача та викликає кінцеву точку SageMaker, яку ви розгорнули, і розгортає всі необхідні дозволи IAM. Виконайте наступні дії:

  1. перейдіть до GitHub сховище і завантажте шаблон CloudFormation (lambda.cfn.yaml) на вашу локальну машину.
  2. На консолі CloudFormation виберіть Створити стек спадне меню та виберіть З новими ресурсами (стандарт).
  3. на Вкажіть шаблон сторінка, виберіть Завантажте файл шаблону та Виберіть файл.
  4. Виберіть lambda.cfn.yaml файл, який ви завантажили, а потім виберіть МАЙБУТНІ.
  5. на Вкажіть деталі стека введіть назву стека та ключ API, отриманий у попередніх вимогах, а потім виберіть МАЙБУТНІ.
  6. на Налаштувати параметри стека сторінку, виберіть МАЙБУТНІ.
  7. Перегляньте та підтвердьте зміни та виберіть Надіслати.

Налаштуйте веб-інтерфейс

У цьому розділі описано кроки для запуску веб-інтерфейсу користувача (створеного за допомогою Система проектування Cloudscape) на вашій локальній машині:

  1. На консолі IAM перейдіть до користувача functionUrl.
  2. на Повноваження безпеки вкладку, виберіть Створити ключ доступу.
  3. на Отримайте доступ до ключових передових практик і альтернатив сторінка, виберіть Інтерфейс командного рядка (CLI) І вибирай МАЙБУТНІ.
  4. на Встановити тег опису сторінку, виберіть Створити ключ доступу.
  5. Скопіюйте ключ доступу та секретний ключ доступу.
  6. Вибирати Зроблений.
  7. перейдіть до GitHub сховище і завантажте react-llm-chat-studio Код.
  8. Запустіть папку в бажаній середі IDE і відкрийте термінал.
  9. перейдіть до src/configs/aws.json і введіть отриманий ключ доступу та секретний ключ доступу.
  10. Введіть наступні команди в терміналі:
    npm install npm start

  11. відкритий http://localhost:3000 у вашому браузері та почніть взаємодіяти зі своїми моделями!

Щоб використовувати Chat Studio, виберіть основну модель у спадному меню та введіть свій запит у текстове поле. Щоб отримати зображення, згенеровані штучним інтелектом, разом із відповіддю, додайте фразу «із зображеннями» в кінці свого запиту.

Додайте інші моделі основи SageMaker

Ви можете розширити можливості цього рішення, включивши додаткові моделі основи SageMaker. Оскільки кожна модель очікує різних форматів введення та виведення під час виклику її кінцевої точки SageMaker, вам потрібно буде написати деякий код перетворення у функції callSageMakerEndpoints Lambda для взаємодії з моделлю.

У цьому розділі описано загальні кроки та зміни коду, необхідні для впровадження додаткової моделі за вашим вибором. Зауважте, що базові знання мови Python необхідні для кроків 6–8.

  1. У SageMaker Studio розгорніть модель основи SageMaker за вашим вибором.
  2. Вибирати SageMaker JumpStart та Запустіть ресурси JumpStart.
  3. Виберіть нещодавно розгорнуту кінцеву точку моделі та виберіть Відкрийте Блокнот.
  4. На консолі ноутбука знайдіть параметри корисного навантаження.

Це поля, які очікує нова модель під час виклику кінцевої точки SageMaker. На наступному знімку екрана показано приклад.

Конфігурація кінцевої точки SageMaker

  1. На консолі Lambda перейдіть до callSageMakerEndpoints.
  2. Додайте спеціальний обробник введення для вашої нової моделі.

На наступному знімку екрана ми трансформували вхідні дані для Falcon 40B Instruct BF16 і GPT NeoXT Chat Base 20B FP16. Ви можете вставити свою логіку настроюваних параметрів, як зазначено, щоб додати логіку перетворення введення з посиланням на параметри корисного навантаження, які ви скопіювали.

Фрагмент лямбда-коду

  1. Поверніться до консолі ноутбука та знайдіть query_endpoint.

Ця функція дає вам уявлення про те, як перетворити вихідні дані моделей, щоб отримати кінцеву текстову відповідь.

Конфігурація кінцевої точки SageMaker

  1. З посиланням на код в query_endpoint, додайте спеціальний обробник виводу для вашої нової моделі.
    Лямбда-код
  2. Вибирати Розгортання.
  3. Відкрийте IDE, запустіть react-llm-chat-studio код і перейдіть до src/configs/models.json.
  4. Додайте назву моделі та кінцеву точку моделі та введіть параметри корисного навантаження з кроку 4 payload використовуючи такий формат:
    "add_model_name": { "endpoint_name": "add_model_enpoint", "payload": { "add_payload_paramters_here"
    }
    },

  5. Оновіть веб-переглядач, щоб почати взаємодію з новою моделлю!

Розгорніть програму за допомогою Amplify

Amplify — це комплексне рішення, яке дозволяє швидко та ефективно розгортати вашу програму. У цьому розділі описано кроки для розгортання Chat Studio на Amazon CloudFront розповсюдження за допомогою Amplify, якщо ви хочете поділитися своєю програмою з іншими користувачами.

  1. перейдіть до react-llm-chat-studio папку коду, яку ви створили раніше.
  2. Введіть наступні команди в терміналі та дотримуйтесь інструкцій із налаштування:
    npm install -g @aws-amplify/cli amplify configure

  3. Ініціалізуйте новий проект Amplify за допомогою наступної команди. Введіть назву проекту, прийміть стандартні конфігурації та виберіть Ключі доступу до AWS коли буде запропоновано вибрати метод автентифікації.
    amplify init

  4. Розмістіть проект Amplify за допомогою такої команди. Виберіть Amazon CloudFront і S3 коли буде запропоновано вибрати режим плагіна.
    amplify hosting add

  5. Нарешті, створіть і розгорніть проект за допомогою такої команди:
    amplify publish

  6. Після успішного розгортання відкрийте надану URL-адресу у своєму браузері та почніть взаємодіяти зі своїми моделями!

Прибирати

Щоб уникнути стягнення плати в майбутньому, виконайте наведені нижче дії.

  1. Видаліть стек CloudFormation. Інструкції див Видалення стека на консолі AWS CloudFormation.
  2. Видаліть кінцеву точку SageMaker JumpStart. Інструкції див Видалити кінцеві точки та ресурси.
  3. Видаліть домен SageMaker. Інструкції див Видалити домен Amazon SageMaker.

Висновок

У цій публікації ми пояснили, як створити веб-інтерфейс користувача для взаємодії з LLM, розгорнутими на AWS.

За допомогою цього рішення ви можете взаємодіяти зі своїм LLM і вести розмову в зручній для користувача формі, щоб тестувати або ставити запитання LLM, а також отримати колаж із зображень і відео, якщо потрібно.

Це рішення можна розширити різними способами, наприклад, інтегрувати додаткові моделі основи, інтегруватися з Amazon Kendra щоб увімкнути інтелектуальний пошук на основі ML для розуміння корпоративного вмісту та багато іншого!

Запрошуємо поекспериментувати різні попередньо підготовлені LLM, доступні на AWS, створювати на основі чи навіть створювати власні LLM у SageMaker. Повідомте нам про свої запитання та знахідки в коментарях і отримуйте задоволення!


Про авторів

Створіть веб-інтерфейс для взаємодії з магістрами права за допомогою Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Джаррет Єо Шан Вей є помічником хмарного архітектора в AWS Professional Services, який охоплює державний сектор в АСЕАН, і виступає за допомогу клієнтам у модернізації та міграції в хмару. Він отримав п’ять сертифікатів AWS, а також опублікував дослідницьку статтю про ансамблі машин для підвищення градієнта на 8-й Міжнародній конференції зі штучного інтелекту. У вільний час Джаррет зосереджується на генеративному штучному інтелекті в AWS і робить свій внесок у нього.

Створіть веб-інтерфейс для взаємодії з магістрами права за допомогою Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Теммі Лім Лі Сінь є помічником хмарного архітектора в AWS. Вона використовує технології, щоб допомогти клієнтам досягти бажаних результатів на шляху впровадження хмарних технологій, і захоплюється AI/ML. Поза роботою вона любить подорожувати, піші прогулянки та проводити час із родиною та друзями.

Часова мітка:

Більше від AWS Машинне навчання