Как связать AWS Sagemaker с веб-приложением?

У меня есть конечная точка и работает в AWS Sagemaker. Однако я не уверен, как отправить данные в эту конечную точку и получить прогноз.

Документация также не ясно по этому вопросу. Любая помощь будет оценена.

2 ответа

Как предложил Гай, используйте AWS SDK для вызова конечной точки Sagemaker и получения прогнозов.

Чтобы проверить использование Postman, вы можете выполнить следующие действия:

  1. На вкладке "Авторизация" выберите "Подпись AWS".
  2. Введите свой Access и секретный ключ пользователя IAM, который имеет разрешение на ресурсы Sagemaker.
  3. Введите регион AWS. eg.us-восток-1
  4. Введите "Service Name" как "sagemaker"
  5. Выберите правильный тип контента. Некоторые алгоритмы ML принимают только text/csv.
  6. Выберите тип запроса как "POST"
  7. Введите URL-адрес вызова Sagemaker. например: " https://runtime.sagemaker.us-east-1.amazonaws.com/endpoints/xgboost-xxxx-xx-xx-xx-xx-xx-xxx/invocations"

Вот как должен выглядеть ваш почтальон. Запрос конечной точки Sagemaker - Скриншот почтальона

Я использую Nodejs для вызова конечной точки sagemaker, как показано ниже:

var AWS = require('aws-sdk');
var sageMakerRuntime = new AWS.SageMakerRuntime({region: 'us-east-1'});

var params = {
  Body: new Buffer('{"instances": [1.0,2.0,5.0]}'),
  EndpointName: 'EndpointName-XXX'
};

sageMakerRuntime.invokeEndpoint(params, function(err, data) {
  responseData = JSON.parse(Buffer.from(data.Body).toString('utf8'))
  console.log(responseData);
});

Способ вызова конечной точки - через конечную точку invoke, которую вы можете найти в API среды выполнения Amazon SageMaker: https://docs.aws.amazon.com/sagemaker/latest/dg/API_runtime_InvokeEndpoint.html

Вы можете использовать этот API через различные SDK, включая CLI, JavaScript, Java, C#, Python и другие.

Обратите внимание, что у вас есть пара версий SDK для Python. Один из них основан на boto, как вы можете видеть выше, а другой python SDK более лаконичен и может использоваться внутри ноутбука Jypther. Смотрите здесь для примера: https://docs.aws.amazon.com/sagemaker/latest/dg/tf-example1-invoke.html или https://docs.aws.amazon.com/sagemaker/latest/dg/mxnet-example-invoke.html

Самый простой способ вызвать конечную точку, если вы не интегрируете ее с существующим кодом на одном из вышеупомянутых языков, - это вызвать ее через функцию Lambda. Лямбда-функция должна иметь разрешения IAM для вызова этой конкретной конечной точки, а затем вы можете запускать лямбда-функцию из различных источников, таких как API-GW, мобильное устройство и т. Д.

Другие вопросы по тегам