今年もDreamforceが始まりましたね!今年は現地には居ませんが、タイムラインを見て気になったサービスを試してみたいと思います。ということで、今回はSalesforce MetaMindを試してみました。

Salesforce MetaMind

噂の機械学習 as a serviceなSalesforce Einsteinの中の1つのサービスのようです。現在はSalesforce’s Predictive Vision Serviceという画像認識の機能を提供しています。2016/10/5現在はPilotのようです。

QUICK START

QUICK STARTで、SalesfoceからPredictive Vision ServiceのREST APIを呼び出して画像認識の処理をしていきます。

まずは、自己署名証明書を作成します。

metamind-create-certificate

名前は適当で。今回はMetaMindという名前を付けています。

metamind-create-certificate2

自己署名証明書をダウンロード

metamind-certificate

MetaMindにサインアップ。証明書はダウンロードした自己署名証明書をセット。完了すると認証用のメールが届きます。

metamind-signup

リモートサイトを追加

metamind-remotesite

以下のgitリポジトリのApexとVFを手動で追加(これ後でpackage.xml化してgitに置こうかな…)

対象は以下のクラスとページ

  • JWT.apex
  • JWTBearer.apex
  • Vision.apex
  • VisionController.apex
  • Vision.page

Vision.pageはREADMEに書かれているとおりに実装

VisionControllerは以下の部分を修正

あとはページにアクセスすると画像のイメージに対する画像認識の結果が返ってきます。

metamind-result-flog

Salesforceのロゴは…

metamind-result-salesforce

認識してくれませんorz
時計とか風船とかクラゲって…せめて雲は入ってほしかった。

Predictive Vision ServiceのREST APIは、OAuth2.0 JWT bearer token flowでaccess_tokenを取得する方式となっています。JWTはRS256でサインアップ時に登録した証明書と対になる秘密鍵で署名することになります。