SAP人工智能服务Recast.AI的一个简单例子
2023-09-14 09:03:56 时间
关于这个例子的完整介绍,请参考公众号 “汪子熙”的两篇文章:
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的原创文章,请关注公众号"汪子熙":
相关文章
- SAP UI5 SimpleForm 控件的 adjustLabelSpan 属性
- SAP 电商云 Spartacus UI 里的 ASM 模块启用的前置条件
- SAP UI5 应用中的 sap.ui.require 使用场景
- SAP UI5 sap.ui.Device.media 的使用介绍
- SAP Purchase Order Release StrategySAP采购订单审批策略配置
- AI中文版下载,Illustrator(Ai)各版本软件下载及安装教程ai干货
- SAP ABAP 系统里 Checkpoint group 的创建
- SAP ERP系统在企业内部控制方面有哪些独到之处?
- SAP MIGO + 561初始化库存,系统报错 - Constant Z1900 for Ledger !* does not contain any val
- SAP UI5 sap.m.Table Manual Pop-In Mode 概述
- 如何找出 SAP Fiori Launchpad 里点击 tile 之后,读取业务数据调用的是哪个 SAP 后台系统的 OData 服务试读版
- ai下载正版下载AI-中文版Ai-下载Ai下载
- Oracle购买SAP: 开启新数据时代(oracle收购sap)
- SAP常用TCODE收藏详解编程语言
- (转载整理)SAP ERP常用T-CODE详解编程语言
- Sap权限相关设置、控制及传输详解编程语言
- SAP中CK11N成本估算的取价逻辑详解编程语言
- sap Merge change requests详解编程语言
- 系统SAP在Linux系统上的开启之旅(sap启动linux)
- Oracle与SAP在仓储领域的联姻(仓库oracle和sap)
- MySQL中AI是什么意思(mysql中ai表示)
- Oracle SAP系统深入探索管理系统之魅力(oracle sap系统)
- Oracle与SAP的技术潜力比较(oracle sap比较)
- Oracle和SAP教程一步一步学习(oracle sap教程)
- Oracle AI 智能时代的一抹点缀(oracle ai)