资讯专栏INFORMATION COLUMN

SAP人工智能服务Recast.AI的一个简单例子

shiweifu / 3243人阅读

摘要:关于这个例子的完整介绍,请参考公众号汪子熙的两篇文章与人工智能和增强现实技术结合的又一个创新案例和使用创建具有人工智能的聊天机器人本文介绍如何用代码同网站上创建好的模型交互。

关于这个例子的完整介绍,请参考公众号 “汪子熙”的两篇文章:

SAP C/4HANA与人工智能和增强现实(AR)技术结合的又一个创新案例

和使用Recast.AI创建具有人工智能的聊天机器人:

本文介绍如何用Java代码同recast.AI网站上创建好的模型交互。

我创建了一个名为get-product-infomation的机器学习模型,用"Add an expression"下面的这么多句子去喂这个模型:

一会测试时,我会用这个句子进行测试 " I am looking for some materials", 所以先记下来。

如果任意输入一句话,recast.AI识别出来意图为get-product-infomation, 我希望AI自动返回一些句子,这些句子定义在recast.AI模型的Actions标签页下面:

比如这个Actions模型的意思是,从Sure, what type of product are you going to produce?和Cool, what products do you want to produce?里随机挑选一句返回。

下图右半部份是recast.AI的测试控制台。

下面是用Java代码方式消费这个人工智能模型的例子:

public class RecastAIService {

private final static String RECAST_AI_URL = "https://api.recast.ai/build/v1/dialog";

private final static String DEVELOPER_TOKEN = "Token feb6b413a1a8cf8efdd53f48ba1d4";

public Answer dialog(final String content, final String conversationId) throws ClientProtocolException, IOException{

CloseableHttpClient httpClient = HttpClients.createDefault();

HttpPost postRequest = new HttpPost(RECAST_AI_URL);

postRequest.addHeader("Authorization", DEVELOPER_TOKEN);

postRequest.addHeader("Content-Type", "application/json");

String body = "{"message": {"content":""

+ content

+ "","type":"text"}, "conversation_id": ""

+ conversationId

+""}";

HttpEntity entity = new StringEntity(body);

postRequest.setEntity(entity);

HttpResponse response = httpClient.execute(postRequest);

if(response.getStatusLine().getStatusCode() == 200){

String result = EntityUtils.toString(response.getEntity());

JSONObject resultJsonObj = JSON.parseObject(result);

JSONObject results = (JSONObject) resultJsonObj.get("results");

JSONArray messages = results.getJSONArray("messages");

JSONObject nlp = (JSONObject) results.get("nlp");

JSONArray intents = nlp.getJSONArray("intents");

Answer answer = new Answer();

if (null != messages && messages.size() > 0){

JSONObject messageJson = messages.getJSONObject(0);

answer.setContent(messageJson.getString("content"));

}

if (null != intents && intents.size() > 0){

JSONObject intentJson = intents.getJSONObject(0);

answer.setIntent(intentJson.getString("slug"));

}

return answer;

}

logger.debug("Failed to access recastai. The response code is" + response.getStatusLine().getStatusCode());

return null;

}

测试代码:

传入I am looking for some materials,recast.AI解析出这个句子的意图有99%的可能性是get-product-information:

Java代码返回的句子也确实是recast.AI模型里维护的回复之一:

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/19892.html

相关文章

  • 使用Recast.AI创建具有人工智能聊天机器人

    摘要:也完美地将不需要应用开发人员了解的机器学习底层细节进行了封装,我们将要做的这个聊天机器人甚至不需要太多的编码。回到我创建的聊天机器人,目前没有分配任何。最后,我们可以把这个创建好的聊天机器人进行发布,让它可以被其他平台消费。 很多SAP顾问朋友们对于人工智能/机器学习这个话题非常感兴趣,也在不断思考如何将这种新技术和SAP传统产品相结合。Jerry之前的微信公众号文章C4C和微信集成系...

    gitmilk 评论0 收藏0
  • 机器学习在SAP Cloud for Customer中应用

    摘要:机器学习在客户管理场景中的应用使用机器学习进行客户管理,我们可以得到客户度全方位的视图。可以看到机器学习给为和这两个产品计算的相关分数是和。关于机器学习在中的更多应用,请参考帮助文档。 关于机器学习这个话题,我相信我这个公众号1500多位关注者里,一定有很多朋友的水平比Jerry高得多。如果您看过我以前两篇文章,您就会发现,我对机器学习仅仅停留在会使用API的层面上。 使用Java程...

    Jeff 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<