Amazon Bedrock Marketplace предоставляет доступ к 83 открытым моделям Hugging Face, включая Google Gemma 2 27B Instruct. Модель можно выбрать в консоли Bedrock, развернуть через SageMaker JumpStart, получить ARN созданного ресурса и вызывать из приложения через Bedrock Runtime и boto3.
Архитектура состоит из трех уровней: Hugging Face поставляет экосистему моделей, Bedrock Marketplace дает каталог и точку управления, а SageMaker JumpStart создает и обслуживает endpoint. После запуска модель получает доступ к интерфейсам Amazon Bedrock, но расходы на работающий SageMaker compute сохраняются. Это нужно учитывать при оценке продакшен-затрат.
Что дает Amazon Bedrock Marketplace для моделей Hugging Face
Marketplace сокращает путь от выбора открытой LLM до подключения к приложению. Разработчику не нужно самостоятельно собирать контейнер инференса, настраивать базовый SageMaker endpoint и писать отдельный слой интеграции для каждой модели. Основные действия выполняются в интерфейсе Bedrock, а созданный ресурс получает идентификатор, который можно использовать в API-вызовах.
Как связаны Bedrock Marketplace, Hugging Face и SageMaker JumpStart
Роли сервисов лучше разделять:
- Hugging Face - источник открытых моделей и связанных с ними метаданных, включая model card, лицензию и ограничения.
- Amazon Bedrock Marketplace - каталог, где пользователь выбирает модель и запускает ее развертывание.
- SageMaker JumpStart - механизм, который поднимает модель на вычислительном инстансе и создает endpoint.
- Amazon Bedrock Runtime - API-слой, через который приложение отправляет запросы к развернутой модели.
Путь запроса выглядит так: backend формирует сообщение, передает ARN модели клиенту Bedrock Runtime, Bedrock направляет запрос к endpoint, а SageMaker возвращает результат инференса. Внутри этой схемы Bedrock выступает общей точкой доступа, а SageMaker отвечает за вычисления.
Это отличается от полностью serverless-сценария с нативной foundation model Bedrock. Для Marketplace-модели нужно следить за состоянием endpoint и связанными ресурсами SageMaker. Если endpoint работает постоянно, compute оплачивается независимо от того, насколько часто приложение отправляет запросы.
Какие модели доступны и где здесь Google Gemma 2 27B Instruct
В каталоге доступны 83 открытые модели Hugging Face. Google Gemma 2 27B Instruct - один из примеров модели, которую можно выбрать для развертывания через Bedrock Marketplace.
Наличие модели в каталоге не гарантирует поддержку всех функций Bedrock. Перед запуском нужно проверить карточку конкретной модели: доступные API, требования к инстансу, ограничения формата запроса, регион развертывания и условия лицензии. Особенно внимательно нужно смотреть на поддержку Converse API, если приложение рассчитано на унифицированный формат сообщений.
Подход с Marketplace полезен, когда нужна конкретная открытая LLM, но команда хочет подключить ее к существующим сервисам Amazon Bedrock. Для сравнения подходов к запуску моделей можно изучить материал о каталоге Hugging Face в Azure Machine Learning: там похожую задачу решает managed endpoint в другой облачной платформе.
Кому подходит развертывание открытых LLM через Amazon Bedrock
Сценарий подходит командам, которым нужна открытая модель Hugging Face и одновременно важны API, политики доступа и сервисы Bedrock. Это может быть backend для чат-бота, RAG-система, агент с инструментами или корпоративное приложение с ограничениями на генерируемый контент.
Преимущество единого API Bedrock
После развертывания приложение может обращаться к модели через знакомый слой Amazon Bedrock. В зависимости от поддержки конкретного ресурса доступны следующие направления:
- Converse API - диалоги и унифицированная передача сообщений.
- Agents - агентские сценарии, где модель участвует в планировании действий и вызове инструментов.
- Knowledge Bases - приложения с поиском по подключенным данным и контекстом для генерации.
- Guardrails - заданные ограничения для входных и выходных данных.
Единый API уменьшает количество адаптеров в приложении. При этом он не меняет контракт самой модели. Формат сообщений, поддерживаемые параметры генерации и доступность отдельных сервисов нужно проверять отдельно для выбранной LLM.
Что проверить до создания endpoint
До запуска вычислительного ресурса пройдите короткий чек-лист:
- Найдите модель в Amazon Bedrock Marketplace и проверьте ее карточку.
- Убедитесь, что модель доступна в нужном регионе и для вашей учетной записи.
- Проверьте поддержку Converse или другого API, который использует приложение.
- Сопоставьте требования модели с доступными типами SageMaker-инстансов.
- Оцените время работы endpoint и бюджет на SageMaker compute.
- Заранее определите, кто удалит endpoint после эксперимента и где будет зафиксирован ARN.
Если нужна простая проверка генерации, не подключайте Agents, Knowledge Bases и Guardrails на первом шаге. Сначала добейтесь минимального успешного вызова, затем добавляйте сервисы по одному.
Пошаговое развертывание модели из консоли Bedrock
Консольный сценарий состоит из выбора модели, настройки вычислительного ресурса, запуска endpoint и получения ARN. Названия отдельных элементов интерфейса могут меняться, поэтому ориентируйтесь на раздел Marketplace и карточку выбранной модели.
Выбор модели в каталоге Amazon Bedrock Marketplace
- Откройте консоль Amazon Bedrock в нужном регионе.
- Перейдите в каталог Bedrock Marketplace.
- Найдите модель Hugging Face по названию или отфильтруйте каталог по поставщику.
- Откройте карточку модели и изучите требования к развертыванию.
- Для демонстрационного сценария можно выбрать Google Gemma 2 27B Instruct, если она доступна в выбранном регионе и соответствует вашей задаче.
- Запустите действие развертывания и перейдите к настройкам endpoint.
Marketplace-модель не нужно путать с нативной foundation model Bedrock. У них могут отличаться способ подключения, модельный идентификатор, набор поддерживаемых операций и схема оплаты.
Настройка SageMaker endpoint и инстанса
На этапе настройки укажите параметры endpoint и тип compute-инстанса. Размер ресурса влияет на возможность загрузить веса модели, задержку ответа и стоимость работы. Для крупных LLM в исходном сценарии приводится ml.g5.48xlarge. Это пример подходящего ресурса, а не универсальная рекомендация: для другой модели или нагрузки потребуется отдельная оценка.
Проверьте перед подтверждением:
- регион и доступную квоту на выбранный инстанс;
- тип и размер compute, указанные в карточке модели;
- имя endpoint, если консоль предлагает задать его вручную;
- параметры сети и доступа, которые требуются вашей учетной записи;
- условия публикации модели и лицензионные ограничения.
После подтверждения SageMaker JumpStart начинает создавать endpoint. Пока ресурс переходит в рабочее состояние, запросы к модели выполнять рано. Дождитесь статуса, который консоль показывает как готовый или рабочий, и только после этого переходите к интеграции.
Где найти ARN развернутой модели
ARN, Amazon Resource Name, это полный идентификатор созданного ресурса AWS. Для вызова приложения нужен ARN фактически развернутой модели или endpoint, который показывает консоль Bedrock Marketplace. Идентификатор исходной модели на Hugging Face для этой задачи не подходит.
Скопируйте ARN из сведений о созданном ресурсе и сохраните его в конфигурации приложения. Не зашивайте его непосредственно в исходный код, если один и тот же сервис работает в нескольких регионах или окружениях.
MODEL_ARN = 'arn:aws:bedrock:REGION:ACCOUNT_ID:marketplace-model/RESOURCE_ID'
Фактический формат ARN зависит от созданного ресурса и отображается в консоли. Используйте значение из вашей учетной записи, а не пример из документации или статьи.
Вызов модели через boto3 и Converse API
Для Python-интеграции нужен клиент Bedrock Runtime и ARN развернутой модели. В запросе передаются сообщения, а параметры генерации добавляются с учетом контракта выбранной LLM.
Какие параметры нужны для запроса
Минимальный набор состоит из трех частей:
- modelId - ARN развернутой Marketplace-модели;
- messages - список сообщений с ролью и содержимым;
- регион клиента - тот же регион, где доступен созданный ресурс.
Параметры вроде температуры, максимального числа токенов и вероятностных ограничений зависят от модели и версии API. Не переносите настройки от одной LLM к другой без проверки. Сначала отправьте минимальный запрос, затем добавляйте параметры генерации.
Пример вызова из Python
import boto3
client = boto3.client('bedrock-runtime', region_name='REGION')
response = client.converse(
modelId='MODEL_ARN',
messages=[
{
'role': 'user',
'content': [
{'text': 'Кратко объясни, что такое RAG.'}
]
}
]
)
text = response['output']['message']['content'][0]['text']
print(text)
В примере замените REGION и MODEL_ARN на значения из вашей конфигурации. Учетные данные AWS должны позволять вызов Bedrock Runtime и работу с созданным ресурсом.
Для контроля параметров генерации можно расширить запрос только после базовой проверки:
response = client.converse(
modelId='MODEL_ARN',
messages=[
{
'role': 'user',
'content': [{'text': 'Составь короткий список проверок перед релизом.'}]
}
],
inferenceConfig={
'maxTokens': 256,
'temperature': 0.2
}
)
Если конкретная модель не принимает такие параметры или не поддерживает Converse, запрос потребует другой схемы. Контракт API нужно сверять с карточкой модели и актуальной документацией в вашей среде AWS.
Как встроить модель в приложение
Практичный вариант, это вызывать Bedrock Runtime из backend-сервиса. Так ARN, регион, права IAM и обработка ошибок остаются на серверной стороне. Клиентское приложение получает уже подготовленный ответ и не работает с учетными данными AWS напрямую.
В RAG-сценарии модель получает найденный контекст из Knowledge Bases или другого поискового слоя. В агентском сценарии добавляется Agents. Guardrails подключаются, когда для входов и ответов нужны заданные ограничения. Каждый следующий компонент увеличивает число зависимостей, поэтому его стоит добавлять после проверки прямого вызова.
О подходах к продакшен-интеграции Bedrock и вызовам через boto3 можно дополнительно прочитать в руководстве по интеграции LLM через Amazon Bedrock. Примеры относятся к другой модели, поэтому ее параметры нельзя механически переносить на Hugging Face LLM.
Совместимость Converse API: типичные ошибки и диагностика
Успешное создание endpoint не гарантирует успешный вызов через Converse. Marketplace предоставляет разные модели, а их API-возможности и форматы запросов могут отличаться. В результате приложение получает ValidationException или другую ошибку валидации уже после завершения деплоя.
Почему Converse может отклонить запрос
Основные причины можно разделить на несколько групп:
- модель не поддерживает Converse API;
- в
modelIdпередан неверный ARN или идентификатор ресурса из другого региона; - структура
messagesне соответствует ожидаемому формату; - в сообщении отсутствует обязательное поле или используется неподдерживаемый тип содержимого;
- передан параметр генерации, которого нет в контракте модели;
- endpoint еще не готов или недоступен для вызова из текущей учетной записи.
Такая ошибка обычно говорит о нарушении контракта API, а не о проблеме с загрузкой весов. Разделяйте диагностику инфраструктуры и диагностику тела запроса.
Практический алгоритм проверки
- Проверьте регион клиента
boto3и регион созданного endpoint. - Убедитесь, что endpoint находится в рабочем состоянии.
- Сверьте ARN с записью фактически созданного ресурса в Bedrock Marketplace.
- Проверьте в карточке модели поддержку Converse API.
- Отправьте минимальное сообщение с одной ролью
userи одним текстовым блоком. - Уберите дополнительные параметры генерации и инструменты.
- После успешного ответа возвращайте параметры по одному, фиксируя тот, после которого появилась ошибка.
- Проверьте права IAM и журналы вызовов, если минимальный запрос тоже отклоняется.
Минимальный запрос помогает быстро отделить неверный формат от несовместимости самой модели. Параметры генерации у разных LLM могут называться по-разному, поэтому сообщение об ошибке нужно сопоставлять с документацией конкретного ресурса.
Agents, Knowledge Bases и Guardrails поверх открытой модели
Главная архитектурная ценность Marketplace проявляется, когда открытую модель нужно подключить к уже используемым сервисам Bedrock. При этом единый слой API упрощает маршрутизацию, но не отменяет проверку совместимости.
Когда достаточно Converse, а когда нужны дополнительные сервисы
| Задача | Подход | Что проверить |
|---|---|---|
| Диалог или одиночный запрос | Converse API | Поддержку Converse, формат messages и параметры генерации |
| Ответы с опорой на документы | Knowledge Bases | Поддержку модели в выбранной схеме RAG и формат передаваемого контекста |
| Планирование действий и инструменты | Agents | Совместимость модели с агентским сценарием и вызовом действий |
| Ограничение входов и ответов | Guardrails | Поддерживаемые операции и правила обработки контента |
Для обычного текстового запроса достаточно Converse, если модель его поддерживает. Knowledge Bases добавляет смысл, когда ответ должен опираться на документы. Agents нужны для многошаговых действий, а Guardrails, когда требования к контролю контента нельзя оставить на уровне промпта.
Проверка совместимости перед интеграцией
Проверяйте ограничения модели до проектирования всей цепочки. Не каждая открытая LLM одинаково работает с Converse, Agents, Knowledge Bases и Guardrails. Для критичного приложения полезно собрать небольшой smoke-тест: простой вызов, запрос с контекстом, вызов инструмента и проверка ограничения, если эти функции входят в план.
Практика партнерств Hugging Face и AWS показывает общий вектор экосистемы, где открытые модели запускаются на SageMaker и подключаются к облачным AI-сервисам. Подробный разбор этого направления есть в статье о партнерстве Hugging Face и AWS. Для конкретной Marketplace-модели все равно нужна отдельная проверка возможностей.
Сколько стоит запуск и как не платить за забытый endpoint
Стоимость складывается из двух частей: оплаты SageMaker compute для работающего endpoint и стандартных тарифов Amazon Bedrock за использование соответствующих API. Конкретная сумма зависит от региона, типа инстанса, времени работы ресурса и количества запросов.
Из чего складывается стоимость
Самая заметная статья расходов при постоянной работе открытой LLM, это вычислительный инстанс SageMaker. В качестве примера ресурсоемкого варианта используется ml.g5.48xlarge. Его нельзя считать универсальным выбором: цена и достаточность зависят от размера модели, требований к памяти, параллельности и допустимой задержки.
Для оценки бюджета зафиксируйте:
- тип SageMaker-инстанса;
- количество часов, когда endpoint остается активным;
- ожидаемое число запросов и токенов;
- тарифы Bedrock для выбранных операций;
- дополнительные ресурсы AWS, если они нужны приложению.
Перед запуском сверяйте актуальные тарифы для конкретного региона. В этой статье не приводятся суммы, потому что регион и конфигурация endpoint напрямую меняют расчет.
Очистка ресурсов после тестирования
После эксперимента проверьте созданный SageMaker endpoint и связанные с ним ресурсы. Удалите ненужный endpoint через доступное действие в консоли Bedrock или SageMaker, затем убедитесь, что он больше не находится в рабочем состоянии.
Финальный чек-лист:
- Запишите ARN и имя endpoint, если они понадобятся для повторного запуска.
- Проверьте список endpoint в SageMaker.
- Удалите ненужный endpoint.
- Проверьте связанные конфигурации и ресурсы, которые консоль создала для развертывания.
- Убедитесь, что compute больше не работает.
- Повторите проверку после временных тестов и демонстраций.
Удаление приложения или прекращение запросов само по себе не гарантирует остановку начислений. Платежи прекращаются после корректного удаления или остановки ресурсов согласно доступной конфигурации AWS.
Итоги: когда Amazon Bedrock Marketplace оправдан для Hugging Face LLM
Amazon Bedrock Marketplace подходит, когда проекту нужна открытая модель Hugging Face, а приложение уже строится вокруг сервисов Bedrock. Каталог дает точку выбора, SageMaker JumpStart поднимает endpoint, а Bedrock Runtime предоставляет единый путь вызова.
Цена такого удобства, необходимость управлять compute и внимательно проверять совместимость. Marketplace не превращает любую модель в универсальный ресурс для всех API Bedrock. Для части LLM потребуется использовать другой формат инференса или ограничиться поддерживаемыми операциями.
Короткий чек-лист перед продакшеном
- Модель есть в Bedrock Marketplace и доступна в выбранном регионе.
- Проверены лицензия, ограничения и требования к инстансу.
- Выбрана поддерживаемая операция, например Converse API.
- Endpoint перешел в рабочее состояние.
- В приложении используется ARN фактически созданного ресурса.
- Минимальный вызов через
boto3успешно выполняется. - Ошибки валидации обрабатываются отдельно от ошибок инфраструктуры.
- Agents, Knowledge Bases и Guardrails подключаются только после проверки их совместимости.
- Рассчитаны расходы на SageMaker compute и тарифы Bedrock.
- Есть процедура удаления endpoint и проверки оставшихся ресурсов.
Перед запуском в продакшене сверяйте актуальные ограничения AWS для выбранной модели и региона. Если проекту нужны конкретная открытая LLM, единый Bedrock API и контролируемая облачная инфраструктура, Marketplace может сократить объем ручной настройки. Если endpoint будет использоваться редко, постоянная работа GPU-ресурса способна сделать такой вариант экономически неоправданным.
Актуальные сценарии Bedrock полезно сопоставлять с задачей приложения. Например, встроенный Web Search закрывает поиск свежих данных без отдельного поискового API, что разобрано в материале о Web Search в Amazon Bedrock. Для Hugging Face LLM через Marketplace исходные проверки остаются прежними: поддержка API, готовность endpoint, ARN, права доступа и контроль расходов.