8分钟阅读

销售队伍 Einstein AI:API教程

Fahad是一个银河游戏官方首页认证的Force.com开发者和Web开发人员,自2011年以来,包括作为霍尼韦尔这样的客户的高级开发者。

非银河游戏官方首页应用程序开发人员可能会在AI世界的隐藏宝石上遗漏。

开发人员想到使用云使用云,他们可能会想到IBM Watson,Microsoft Azure认知服务,Google云或亚马逊AI。当他们听到银河游戏官方首页 Einstein时,他们可能会自动假设它仅限于 销售队伍开发人员 specialization.

不是!无论是银河游戏官方首页相关的应用程序,是否可以利用银河游戏官方首页所获得的复杂AI云技术。他们与银河游戏官方首页 Einstein进入了AI市场,他们自己的AI云服务的策划。值得注意的是,这包括语言和图像识别服务的产品。

与其他AI云解决方案一样,您不必使用博士学位使用下面的重量级技术。在这个银河游戏官方首页 Einstein API教程中,我将向您展示如何设置帐户并使您的第一个AI云API调用。对于自己来说,我们将使用卷曲和邮递员,但您也可以使用自己的后端原型或您最舒适的其他技术。

从那里,天空是极限。

创建银河游戏官方首页 Einstein API帐户

要使爱因斯坦平台API通话,您首先需要 创建Einstein API帐户,下载密钥,并使用该键生成银河游戏官方首页 OAuth令牌。该过程只需要完成一次,以便能够使用Einstein Vision和Einstein语言。

销售队伍 Einstein让您通过社交身份验证或通过Heroku直接注册。

您可以使用银河游戏官方首页登录或 heroku. 证书。在选择任何上述选项时,您将被重定向到它们各自的登录页面。如果您使用Heroku登录,他们要求您使用它们设置信用卡并将服务连接到您的特定Heroku实例。

heroku. Einstein集成页面

如果您是银河游戏官方首页的新手,并且没有Heroku帐户,如果您想通过与Google这样的预先存在的社交帐户注册,那么与他们的账户建立一个相当速度 - 甚至更快。

我们将从这里假设您使用银河游戏官方首页(通过社交账户或不)而不是Heroku。该过程涉及有点回溯,因此您需要密切关注这些步骤。

销售队伍登录页面。

一旦您登录银河游戏官方首页,您将面临与爱因斯坦有多多多多多小事的旅游屏幕。此时,您应该检查您的电子邮件并单击其验证链接;否则,下一步将导致错误。

获得爱因斯坦API令牌

下一步是圈回 初始的爱因斯坦API注册链接 并再次尝试银河游戏官方首页登录按钮。之后,即使您在像Google等外部授权合作伙伴的帮助下再次被重定向到旅游页面,您将设置一个新的密码 - 即使您在外部授权伙伴的帮助下创建了您的帐户。

现在,将第三次圈回API注册页面,然后再次单击银河游戏官方首页登录按钮。这次你会得到一个页面,如下所示。 在下载私钥之前不要离开此页面,即使它可能会说您需要验证您的电子邮件!如果您这样做,如果没有手动帮助,就无法从他们的支持团队中获取私钥。

在注册过程中,您只需一次机会下载Einstein API私钥。

You can either download the file to your local machine or copy and paste the key into a text editor and save the file as einstein_platform.pem.

同时,如上所述,您将拥有另一封验证电子邮件等待您,这是特定于爱因斯坦特定的。单击该验证链接。

现在您有一个私钥,您可以生成时间有限的令牌。每个API调用您从创建数据集到培训模型,以模型预测 - 在请求标题中需要一个有效的OAuth令牌。要获得令牌,你需要去他们的 令牌发电机 并使用您用于登录的相同电子邮件地址。粘贴或上传您上面收到的私钥文件。

使用私钥生成EINSTEIN PLANDER SERICE OAUTH令牌。

与银河游戏官方首页 Einstein API的实践

通过银河游戏官方首页 Einstein使用AI Cloud涉及如何通过上传样本数据训练其人工智能网络的一些基本概念。如果这听起来不熟悉, 我以前的教程 提供了一些与银河游戏官方首页 Einstein合作的示例 - 用于爱因斯坦语言和爱因斯坦愿景。

假设您对此感到满意,我们现在将通过Curl或邮递员使用Einstein Image Classification REST API。如果您正在使用邮递员,无论我们在何处携带卷曲,您都可以使用邮递员的导入功能:

将Curl陈述导入邮递员。

假设您遇到了一个有用的业务要求,您希望根据图像区分智能手机和固定电话,并且使用该预测,您希望更新您的首席分数或处理您的用例。

The next step is creating our own data set. Please note that you need at least 40 examples that have already been categorized. (If this is more time than you want to invest at the moment, you can skip to the prediction section below. Simply use a modelId of FoodImageClassifier, GeneralImageClassifier, SceneClassifier, or MultiLabelImageClassifier.)

在我们的情况下,我们有两类:智能手机和固定电话。我们创建了两个文件夹,将其标记为智能手机和固定电话,并在每个文件夹中添加图像。然后,我们创建一个zip文件(仅限zip:7z不起作用,例如)包含这些文件夹。

此Einstein API端点用于创建数据集,是下一步:

curl -X POST \
     -H "Authorization: Bearer <TOKEN>" \
     -H "Cache-Control: no-cache" \
     -H "Content-Type: multipart/form-data" \
     -F "type=image" \
     -F "<ZIP_LOCATION>" \
     //api.einstein.ai/v2/vision/datasets/upload/sync

Here, <ZIP_LOCATION> can be like either of these examples:

  1. [email protected]/path/to/your/local/file.zip
  2. path=http://somedomain/file.zip

在邮递员中,无需进口,您需要填写标题和正文选项卡,如下所示:

填写邮递员的标题。

在邮递员中填写身体。

It will take time until all the images are uploaded. Assuming all the images are uploaded successfully, the response will have a datasetId (repeated as the main id and once per category), which will be used in future calls.

上传数据集后,您必须使用刚上传的数据训练模型。要培训模型,请使用以下呼叫:

curl -X POST \
     -H "Authorization: Bearer <TOKEN>" \
     -H "Cache-Control: no-cache" \
     -H "Content-Type: multipart/form-data" \
     -F "name=Landline and SmartPhone Model" \
     -F "datasetId=<DATASET_ID>" \
     //api.einstein.ai/v2/vision/train

通过邮递员培训您的爱因斯坦愿景模型。

Training of the data set is normally placed in their queue, and in response, we will get the modelId. After that, we can check another endpoint to know whether the model has been trained or not yet:

curl -X GET \
     -H "Authorization: Bearer <TOKEN>" \
     -H "Cache-Control: no-cache" \
     //api.einstein.ai/v2/vision/train/<YOUR_MODEL_ID>

当培训模型时,您将获得这样的响应:

检查您的模型'通过邮递员进行培训进展。

使用Einstein Vision进行图像预测

这是它的核心。培训模型后,您现在可以发送图像,并且模型将返回我们定义的每个类别的概率值。对于当前的模型,我们挑选了一个股票iphone x图像进行预测。

对于预测本身,我们使用以下端点:

curl -X POST \
     -H "Authorization: Bearer <TOKEN>" \
     -H "Cache-Control: no-cache" \
     -H "Content-Type: multipart/form-data" \
     -F "<IMAGE_LOCATION>" \
     -F "modelId=<YOUR_MODEL_ID>" \
     //api.einstein.ai/v2/vision/predict

This time, <IMAGE_LOCATION> is similar to <ZIP_LOCATION>, but different keys are used, and there’s a third option:

  1. [email protected]/path/to/your/local/file.zip
  2. sampleLocation=http://somedomain/file.zip
  3. sampleBase64Content=iVBORw0KGgoAAAANSUhEUgAAAC0... (换句话说,如果要使用此上载方法,则不需要任何前缀,只需原始基数64部分。)

通过邮递员获得爱因斯坦视觉预测。

查看屏幕截图和概率值,模型成功预测iPhone X图像在智能手机类别下分类。成功!

无论您的用例如何,您都希望探索Einstein Vision是否假设您正在提供落入您培训的类别之一的图像。在测试中,我们发现,当我们将上面的模型发送了一张帆船的图片时,它在智能手机和固定电话之间做出了最好的猜测,而不是表示它似乎并没有。换句话说,它给出的帆船图片是固定电话或智能手机的评级仍然会增加1,就像它们与合法的输入一样。

However, some pre-built models have categories like Other (for the SceneClassifier model) and UNKNOWN (for theFoodImageClassifier). So it’s worth experimenting for your particular context so you can know what to expect if you will want to feed it images that don’t fit the categories given to it.

还有“多标签”类型的模型,它返回所有类别,按概率排序,假设多个类别适用 - 即,概率不会加入1.如果这听起来更像是什么样的那样,值得研究新发布的 爱因斯坦对象检测。而不是只是告诉你图像整体中可能是什么 - 它实际上为您提供了边界框以及预测。这类似于您在Facebook上使用自动标记所看到的内容,除了它不仅限于面孔。

销售队伍 Einstein语言:意图和情绪

如果您想培训自己的型号,理论上银河游戏官方首页 Einstein理论上让您培养意图和情绪,但它对仅打扰培训意图更常见。培训意图模型类似于我们通过上面的内容,而不是图像文件夹,而是提供两列CSV文件,其中包含列A中的文本及其列B中的相应类别。(它们也支持TSV或JSON。 )

Because the training steps are largely the same, we’ll assume at this point that you’ve already trained an Einstein Intent model with the training data they supply in case_routing_intent.csv and are OK using the standard pre-built model for Einstein Sentiment.

爱因斯坦意图预测调用如:

curl -X POST \
     -H "Authorization: Bearer <TOKEN>" \
     -H "Cache-Control: no-cache" \
     -H "Content-Type: multipart/form-data" \
     -F "modelId=<MODEL_ID>" \
     -F "document=<TEXT_TO_PREDICT>" \
    //api.einstein.ai/v2/language/intent

Here, <TEXT_TO_PREDICT> could be something like, “How can I get a tracking number for my shipment?”

The API call is the same with Einstein Sentiment, except that you can use the pre-built modelId 社区Sentiment (and note the different endpoint):

curl -X POST \
     -H "Authorization: Bearer <TOKEN>" \
     -H "Cache-Control: no-cache" \
     -H "Content-Type: multipart/form-data" \
     -F "modelId=CommunitySentiment" \
     -F "document=How can I get a tracking number for my shipment?" \
    //api.einstein.ai/v2/language/sentiment

The JSON output in both cases looks exactly like the prediction response format for Einstein Image Classification: The main substance is in an array associated with the key probabilities, and each array element gives you a label and a probability. That’s all there is to it!

Easy Ai与银河游戏官方首页 Einstein

您现在已经看到了使用爱因斯坦愿景和爱因斯坦语言的直接直接,以及Einstein API如何与银河游戏官方首页开发人员API的其余部分有任何关系,除名称中。什么将是 create with them?

理解基础知识

销售队伍的API访问是什么?

通过银河游戏官方首页 Einstein API访问AI云需要注册帐户,获取私钥,并使用它生成令牌。从那里,令牌可用于任何爱因斯坦API呼叫。

如何在银河游戏官方首页中启用API访问权限?

Once you have a 银河游戏官方首页 (or Heroku) account, enabling API access (and obtaining a private key) is done via the Einstein signup page at //api.einstein.ai/signup whether you plan to use the API in a 银河游戏官方首页 app or non-银河游戏官方首页 app.