当前位置:首页 > 洗衣机 > 文章正文

SAP ChatBot助手-简单库存查询

编辑:[db:作者] 时间:2024-08-25 01:28:41

记得瓦尼塔在会上滔滔不绝的在说他的设想,未来只要对电脑说说话,订单就创建好了,就和供应商下订单了,就能看报表了。

SAP ChatBot助手-简单库存查询

虽然大家听着都以为这个是笑话。
但是我当真了。

01 — 故事人物:A是大型机器设备维修工程师韶光:凌晨3点钟,地点:码头大型起重设备旁情景:由于事发溘然,工程师手头并没有配件,总公司订单中央职员的电话又打不通。
情形:无数的集装箱等着装车,船老大等着开船,争取能遇上船期。

一个字:急。
货色的滞留,不只会产生直接的滞纳金,无法定期交货。
间接丢失也很大。

那怎么办?工程师A一个个电话打,把能打的电话都打一遍。
最好下一个电话,配件就能有着落。
立时上路,送过来。

现在我们剖析下,如果电话打通了,找到了对的人。
该当如何处理。

先检讨下离码头最近的仓库是哪一个?这个仓库里有没有配件(或替代件)。
有万事大吉,实在弗成自己开车连夜送过去。
如果没有就要去上一级仓库调货。
这样就要联系总仓的干系职员检讨库存,安排出货。

大晚上要找齐所有干系的职员,订单中央,仓库,物流。

如果这个时候,工程师的手机,有这样一个事情助手。
能够帮忙检讨库存,并关照司机立马取货送货。

万分遑急之时,工程师能自傲的说,市里有库存,司机已经在来的路上了。

02 — 如何实现

工程师手机里的事情助手。

事情助手在手机里。
- 工浸染的微信。

事情助手能无时无刻供应做事。
- 那必须是ChatBot

供应事情内容方面的支持。
- 检讨SAP数据

为了能够相应工程师晚上发的微信信息。
这里我们就须要利用到一个open source的python库wxpy。
在做事端实时监控并相应突如其来的工程师的信息。

wxpy https://github.com/youfou/wxpy

这里我们知道通过wxpy这个组件,我们可以实时监控工程师的信息,但是我们如何让冷冰冰的电脑明白工程师说的是啥?只要精确的明白工程师说的东西,才能真正帮到工程师。
这里我们利用到的是open source.

ChatterBot https://github.com/gunthercox/ChatterBot

我们可以通过最机器人进行演习学习,让机器人明白工程师说的内容。
并扮演好干系事情职员处理干系事务。

检讨SAP数据。
比如查库存。
只要通过OData就能实现。

我们通过对三个工具(wxpy, chatterbot, odata)的整合,就能实现这样的运用。

03 — 实现过程

根据01讲的故事,我们已经知道了事情需求。
通过02我们已经知道,我们须要那些技能去帮助实现这个需求。

接下来我们要讲讲如何实现这个方案。

下面我会讲下如何安装包,如何通过利用wxpy,如何演习利用chatterbot.末了将他们粗糙的整合起来。

首先我们须要通过Anaconda安装所须要的包。

创建新的安装环境。

b. 打开终端。

c. 安装wxpy和chatterbot

就如此大略的几句话,地基就打好了。
想不到吧,万事开头难。
真正做了才创造实在挺大略的。

如何利用wxpy给文件传输助手发一条信息

运行程序,登录微信后,就会自动发送一条信息Hello from wxpy给文件助手

演习chatterbot,让chatbot看的懂那些话是让他查库存。

首先我须要叫机器人打呼唤。
当我们Hi或者Morning的时候,他就会见告我们他是一个subsidiary system assistant.通过如下代码会演习机器人,演习后大略的问答Hi,就会回答<I am subsidiary system assistant.> -- 看上去像hard code.

接下来我们须要演习他,material number xxxxx stock的时候就要去call SAP API.针对问库存的问答,我们须要写如下的问答演习集。
由于现场工程师问助手的办法会是前期八怪的,以是这里我们会演习各种各样的回答演习集

然后我们问机器人另一个物料的库存情形,和演习集不通的物料,不通的问法(有额外的字符串)

<material number 860123211 stock (Text)>

Odata Call SAP. 这里推举利用POSTMAN. 大略的从mard里抓取数据

末了我们要做的便是把这些准备好的碎片功能整合起来。
:)

代码如下#!/usr/bin/env python3.5from wxpy import from chatterbot import ChatBotfrom chatterbot.trainers import ChatterBotCorpusTrainerimport requestsimport jsonimport rechatbot = ChatBot(\公众deepThought\"大众)# 用于回答的机器人chatbot.set_trainer(ChatterBotCorpusTrainer)chatbot.train(\"大众chatterbot.corpus.chinese\"大众)# 利用该库的中文语料库chatbot.read_only = Truebot = Bot(cache_path=True)# 用于接入微信的机器人my_friend = bot.friends().search(u'小悠悠')[0]my_friend.send('Hi man, ')@bot.register(my_friend)def reply_my_friend(msg): print(msg) res = '' chatres = chatbot.get_response(msg.text).text print(chatres) if chatres == '123 PC in 0740.': input_item = msg.text input_item = re.findall(r\公众\d+\.?\d\"大众, input_item) # 829221375 print(input_item) url = \公众xxxxxxxx(Werks='0001',Lgort='0002',Matnr='\公众 + \ input_item[0] + \"大众')\公众 print(url) querystring = {\公众$format\"大众: \"大众json\公众} payload = \公众\"大众 headers = { 'Authorization': \"大众Basic Q04xMTAwMDoyMzQ1NmFBIQ==\"大众, 'cache-control': \"大众no-cache\公众, 'Postman-Token': \"大众73405266-b9a2-4c49-8495-80c8dbce599f\公众 } response = requests.request(\"大众GET\"大众, url, data=payload, headers=headers, params=querystring) json_data = json.loads(response.text) resp = json_data.get('d').get('Matnr') + ' ' + json_data.get('d').get('Maktx') + ' Stock ' + json_data.get( 'd').get('Labst') print(resp) res = resp else: res = chatbot.get_response(msg.text).text return res # 利用机器人进行自动回答# 堵塞线程,并进入 Python 命令行embed()

实现效果

总结:

德国哥们说:\"大众如果只是测试,这是一个很好的技能,很有趣。
真正要运用化还有很多的路要走,安全,权限这些重中之重的问题。
机器人职责的安排。

但是,何尝不是么。
天下是发展的,这些问题不是难不可破的。

瓦尼塔看着像笑话的演说,然而我当真了。

本站所发布的文字与图片素材为非商业目的改编或整理,版权归原作者所有,如侵权或涉及违法,请联系我们删除,如需转载请保留原文地址:http://www.baanla.com/xyj/62465.html

XML地图 | 自定链接

Copyright 2005-20203 www.baidu.com 版权所有 | 琼ICP备2023011765号-4 | 统计代码

声明:本站所有内容均只可用于学习参考,信息与图片素材来源于互联网,如内容侵权与违规,请与本站联系,将在三个工作日内处理,联系邮箱:123456789@qq.com