编辑:[db:作者] 时间:2024-08-25 01:28:41
记得瓦尼塔在会上滔滔不绝的在说他的设想,未来只要对电脑说说话,订单就创建好了,就和供应商下订单了,就能看报表了。
虽然大家听着都以为这个是笑话。但是我当真了。
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
Copyright 2005-20203 www.baidu.com 版权所有 | 琼ICP备2023011765号-4 | 统计代码
声明:本站所有内容均只可用于学习参考,信息与图片素材来源于互联网,如内容侵权与违规,请与本站联系,将在三个工作日内处理,联系邮箱:123456789@qq.com