使用SAP Cloud Platform Leonardo机器学习的测试控制台

举报
汪子熙 发表于 2022/01/24 18:36:10 2022/01/24
【摘要】 选中一个需要进行测试的Leonardo机器学习服务,点击Configure Environments:因为我不想使用sandbox环境,所以我选择了eu10这个region:维护clientid和secret:在SAP Cloud Platform cockpit里创建了service key后,会得到这个client id和secret。要消费机器学习api,先要获得Access Toke...

选中一个需要进行测试的Leonardo机器学习服务,点击Configure Environments:

因为我不想使用sandbox环境,所以我选择了eu10这个region:

维护clientid和secret:

在SAP Cloud Platform cockpit里创建了service key后,会得到这个client id和secret。
要消费机器学习api,先要获得Access Token:

把postman里得到的Access Token填到API测试控制台的Authorization字段里,执行,就能提取到图片的feature了。

这个机器学习服务的文档:https://help.sap.com/viewer/b04a8fe9c04745b98ad8652ccd5d636f/1907B/en-US/d6fee2fd184d48d5b221928a8db4c2fd.html?q=Customizable Image Feature Extraction

测试控制台:

输入是任意一个图片文件,
输出是一串特征矩阵,如下图所示:

完整代码:

var app = require('express')();
var server = require('http').Server(app);
var request = require('request');
var defaultPort = 8081;
const fs = require('fs');
var port = process.env.PORT || defaultPort;

console.log("Server listens on port: " + port);
server.listen(port);

function print_env(){
  console.log(process.env);
}

app.get('/', function (req, res) {

  res.header("Access-Control-Allow-Origin", "*");
  var response = "Hello World: " + port;

  callFeatureExtractionAPI();
  res.send(response);
});

app.get('/env', function (req, res) {

  print_env();
  // res.sendFile(__dirname + '/index.html');
  var response = JSON.stringify(process.env);
  res.send(response);
});

function callFeatureExtractionAPI() {

  var url = "https://mlfproduction-image-feature-extractor.cfapps.eu10.hana.ondemand.com/api/v2/image/feature-extraction";
  var api = "eyKXPuZf__ANtBqpk";
  var oRequestOptions = {
        url: url,
        method: "POST",
        json:true,
        formData: {
          files: fs.createReadStream("./1.png")
        },
        headers: {
            "Authorization": "Bearer " + api
        }
  };

  return new Promise(function(resolve,reject){
      var requestC = request.defaults({jar: true});
      console.log("Step1: get picture feature via url: " + url );

      requestC(oRequestOptions,function(error,response,body){
        if(error){
          console.log("error occurred: " + error);
          reject(error);
        }
        debugger;

        console.log("Body:" + body);
        console.log("response: " + response);
        resolve(body);
      }); 
     });
}
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。