От улучшения качества общения до помощи агентов — существует множество способов, с помощью которых генеративный искусственный интеллект (ИИ) и базовые модели (FM) могут помочь обеспечить более быструю и лучшую поддержку. С ростом доступности и разнообразия FM становится все труднее экспериментировать и быть в курсе последних версий моделей. Amazon Bedrock — это полностью управляемый сервис, предлагающий на выбор высокопроизводительные FM от ведущих компаний в области искусственного интеллекта, таких как AI21 Labs, Anthropic, Cohere, Meta, Stability AI и Amazon. Благодаря обширным возможностям Amazon Bedrock вы можете легко экспериментировать с различными ведущими FM, индивидуально настраивать их с помощью своих данных, используя такие методы, как точная настройка и поисковая дополненная генерация (RAG).
Агенты Amazon Bedrock
В июле AWS объявила о предварительной версии агентов для Amazon Bedrock — новой возможности для разработчиков создавать полностью управляемые агенты за несколько кликов. Агенты расширяют возможности FM для выполнения сложных бизнес-задач — от бронирования поездок и обработки страховых претензий до создания рекламных кампаний и управления запасами — и все это без написания какого-либо кода. Благодаря полностью управляемым агентам вам не придется беспокоиться о предоставлении или управлении инфраструктурой.
В этом посте мы предоставляем пошаговое руководство со строительными блоками для создания бота для обслуживания клиентов. Мы используем модель генерации текста (Антропный Клод V2) и агенты Amazon Bedrock для этого решения. Мы предоставляем шаблон AWS CloudFormation для предоставления ресурсов, необходимых для создания этого решения. Затем мы покажем вам, как создать агент для Amazon Bedrock.
Подсказки ReAct
FM определяют, как решать задачи, запрашиваемые пользователем, с помощью метода, называемого Реакт. Это общая парадигма, сочетающая рассуждения и действия с ФМ. ReAct предлагает FM генерировать вербальные следы рассуждений и действия для выполнения задачи. Это позволяет системе выполнять динамические рассуждения для создания, поддержания и корректировки планов действий, включая в рассуждения дополнительную информацию. Структурированные подсказки включают в себя последовательность примеров вопросов, мыслей, действий и наблюдений.
- Вопрос — это запрошенная пользователем задача или проблема, которую необходимо решить.
- Эта мысль представляет собой аргументированный шаг, который помогает продемонстрировать министру финансов, как решить проблему, и определить действия, которые необходимо предпринять.
- Действие — это API, который модель может вызывать из разрешенного набора API.
- Наблюдение есть результат выполнения действия.
Компоненты агентов для Amazon Bedrock
Агенты Amazon Bedrock «за кулисами» автоматизируют оперативное проектирование и оркестрацию задач, запрашиваемых пользователем. Они могут безопасно дополнять подсказки информацией, специфичной для компании, чтобы предоставлять пользователю ответы на естественном языке. Агент разбивает запрошенную пользователем задачу на несколько этапов и организует подзадачи с помощью FM. Группы действий — это задачи, которые агент может выполнять автономно. Группы действий сопоставляются с функцией AWS Lambda и соответствующей схемой API для выполнения вызовов API. На следующей диаграмме показана структура агента.
Обзор решения
Для создания бота для обслуживания клиентов мы используем пример использования в обувном магазине. Бот помогает покупателям покупать обувь, предоставляя варианты в человеческом диалоге. Клиенты общаются с ботом на естественном языке, выполняя несколько шагов, вызывая внешние API для выполнения подзадач. На следующей диаграмме показан пример последовательности операций процесса.
На следующей диаграмме показана высокоуровневая архитектура этого решения.
- Вы можете создать агент с помощью поддерживаемых Amazon Bedrock FM, таких как Anthropic Claude V2.
- Прикрепите к агенту схему API, находящуюся в корзине Amazon Simple Storage Service (Amazon S3), и функцию Lambda, содержащую бизнес-логику. (Примечание. Это однократный этап настройки.)
- Агент использует запросы клиентов для создания приглашения с использованием платформы ReAct. Затем он использует схему API для вызова соответствующего кода в функции Lambda.
- Вы можете выполнять различные задачи, включая отправку уведомлений по электронной почте, запись в базы данных и запуск API приложений в функциях Lambda.
В этом посте мы используем функцию Lambda для получения сведений о клиенте, составления списка обуви, соответствующей предпочтениям клиента, и, наконец, размещения заказов. Наш код поддерживается базой данных SQLite в памяти. Вы можете использовать аналогичные конструкции для записи в постоянное хранилище данных.
Предварительные условия
Чтобы реализовать решение, представленное в этом посте, у вас должна быть учетная запись AWS и доступ к Amazon Bedrock с включенными агентами (в настоящее время находится в предварительной версии). Используйте шаблон AWS CloudFormation, чтобы создать стек ресурсов, необходимый для решения.
us-east-1 |
Шаблон CloudFormation создает две роли IAM. Обновите эти роли, чтобы применить разрешения с наименьшими привилегиями, как описано в разделе «Рекомендации по обеспечению безопасности». Нажмите здесь, чтобы узнать, какие функции IAM доступны для использования с агентами Amazon Bedrock.
LambdaBasicExecutionRole
с полным доступом к Amazon S3 и доступом к CloudWatch для ведения журналов.AmazonBedrockExecutionRoleForAgents
с полным доступом к Amazon S3 и полным доступом к Lambda.
Важный: Агенты для Amazon Bedrock должны иметь имя роли с префиксом AmazonBedrockExecutionRoleForAgents_*
Настройка агентов Bedrock
В следующих двух разделах мы познакомим вас с созданием и тестированием агента.
Создайте агент для Amazon Bedrock.
Чтобы создать агента, откройте консоль Amazon Bedrock и выберите Агенты в левой панели навигации. Затем выберите Создать агента.
Это запустит рабочий процесс создания агента.
- Укажите данные агента: Дайте агенту имя и описание (необязательно). Выберите роль службы, созданную стеком CloudFormation, и выберите Следующий.
- Выберите модель фундамента: в Выберите модель экране вы выбираете модель. Предоставляйте агенту четкие и точные инструкции о том, какие задачи ему следует выполнять и как взаимодействовать с пользователями.
- Добавить группы действий: Действие — это задача, которую агент может выполнить, выполняя вызовы API. Набор действий образует группу действий. Вы предоставляете схему API, которая определяет все API в группе действий. Вы должны предоставить схему API в Схема OpenAPI Формат JSON. Функция Lambda содержит бизнес-логику, необходимую для выполнения вызовов API. Вы должны связать лямбда-функцию с каждой группой действий.
Дайте группе действий имя и описание действия. Выберите функцию Lambda, предоставьте файл схемы API и выберите Следующий.
- На последнем этапе просмотрите конфигурацию агента и выберите Создать агента.
Тестирование и развертывание агентов для Amazon Bedrock
- Тестирование агента: после создания агента в диалоговом окне отображается обзор агента и рабочий проект. Консоль Amazon Bedrock предоставляет пользовательский интерфейс для тестирования вашего агента.
- Развертывать: После успешного тестирования вы можете развернуть свой агент. Чтобы развернуть агент в вашем приложении, вам необходимо создать псевдоним. Затем Amazon Bedrock автоматически создает версию для этого псевдонима.
Следующие действия происходят с предыдущей настройкой агента и кодом Lambda, представленным в этом сообщении:
- Агент создает приглашение на основе инструкций разработчика (например, «Вы — агент, который помогает покупателям приобретать обувь»), схем API, необходимых для выполнения задач, и сведений об источнике данных. Автоматическое создание подсказок экономит недели экспериментов с подсказками для разных FM.
- Агент координирует задачу, запрошенную пользователем, например «Я ищу обувь», разбивая ее на более мелкие подзадачи, такие как получение сведений о клиенте, сопоставление предпочитаемого клиентом действия с деятельностью по продаже обуви и размещение заказов на обувь. Агент определяет правильную последовательность задач и обрабатывает сценарии ошибок на этом пути.
На следующем снимке экрана показаны примеры ответов агента.
Выбрав Показать трассировку для каждого ответа в диалоговом окне отображается метод рассуждения, использованный агентом, и окончательный ответ, сгенерированный FM.
Очистка
Чтобы избежать будущих расходов, удалите ресурсы. Это можно сделать, удалив стек из консоли CloudFormation.
Не стесняйтесь загружать и тестировать код, использованный в этом посте, с GitHub. агенты для репозитория Amazon Bedrock. Вы также можете вызвать агентов Amazon Bedrock программным способом; а пример блокнота Jupyter предоставляется в репозитории.
Заключение
Агенты для Amazon Bedrock могут помочь вам повысить производительность, улучшить качество обслуживания клиентов или автоматизировать задачи DevOps. В этом посте мы показали вам, как настроить агентов для Amazon Bedrock для создания бота для обслуживания клиентов.
Мы рекомендуем вам узнать больше, просмотрев дополнительные функции Amazon Bedrock. Вы можете использовать пример кода, представленный в этом посте, для создания своей реализации. Попробуйте наш мастерская чтобы получить практический опыт работы с Amazon Bedrock.
Об авторах
Амит Арора — специалист-архитектор искусственного интеллекта и машинного обучения в Amazon Web Services, помогающий корпоративным клиентам использовать облачные сервисы машинного обучения для быстрого масштабирования своих инноваций. Он также является адъюнкт-преподавателем программы магистратуры по науке о данных и аналитике в Джорджтаунском университете в Вашингтоне, округ Колумбия.
Манджу Прасад является старшим архитектором решений в отделе стратегических счетов Amazon Web Services. Она специализируется на предоставлении технических рекомендаций в различных областях, включая AI/ML, для крупных клиентов M&E. До прихода в AWS она работала в компаниях сектора финансовых услуг, а также в стартапе.
Арчана Инапуди — старший архитектор решений в AWS, занимающийся поддержкой стратегических клиентов. Она имеет более чем десятилетний опыт помощи клиентам в проектировании и создании решений для анализа данных и баз данных. Она увлечена использованием технологий для повышения ценности клиентов и достижения бизнес-результатов.