【Python成长之路】从零学GUI -- 制作智能聊天机器人
【摘要】 说到图灵 ,推荐大家看下卷福演的《模仿游戏》。讲述了“计算机之父”图灵的一生,很精彩,强推。
【写在前面】
鹏哥:最近老惹小燕同学不开心,结果都没人陪我聊天了。哎,好无聊呀!
肥宅男:女朋友什么的最无聊了,还没我的图灵机器人好玩。
鹏哥:图灵?好巧,和我部门同名。
【效果如下】
【实现过程】
1、GUI界面制作,其实和之前的几篇文章一样,没用到什么新的方法或者技巧,因此就不多说了。
2、智能聊天机器人的实现:
其实这块“核心代码”只是调用了对外商用的“图灵机器人”。在偶尔的机会中,看到有这么一个有趣的网站,http://www.turingapi.com/
因此就申请了个账号(未认证的个人用户一天只能回复3次/天,认证后可实现100次/天;当然人民币玩家就更多了)。
申请完账号后就很简单了,通过post请求发送http请求,响应即是图灵机器人的回复。唯一要注意的是:Post请求体内容中 ,key是自己申请的apikey值;usrid可随意设置,info是用户输入的问题,如下图所示:
【示例代码】
# coding=utf-8 # @Auther : "鹏哥贼优秀" # @Date : 2019/8/16 # @Software : PyCharm from PyQt5 import QtCore, QtGui, QtWidgets import sys import requests class Ui_Dialog(object): def setupUi(self, Dialog): Dialog.setObjectName("智能聊天机器人") Dialog.resize(582, 434) self.label = QtWidgets.QLabel(Dialog) self.label.setGeometry(QtCore.QRect(40, 30, 361, 51)) self.label.setStyleSheet("color: rgb(0, 0, 255);\n" "font: 16pt \"黑体\";\n" "text-decoration: underline;") self.label.setObjectName("dialog") self.plainTextEdit = QtWidgets.QPlainTextEdit(Dialog) self.plainTextEdit.setGeometry(QtCore.QRect(40, 80, 501, 181)) self.plainTextEdit.setObjectName("plainTextEdit") self.plainTextEdit_2 = QtWidgets.QPlainTextEdit(Dialog) self.plainTextEdit_2.setGeometry(QtCore.QRect(40, 310, 401, 41)) self.plainTextEdit_2.setObjectName("plainTextEdit_2") self.plainTextEdit.setStyleSheet("font: 14pt \"黑体\";\n") self.pushButton = QtWidgets.QPushButton(Dialog) self.pushButton.setGeometry(QtCore.QRect(480, 320, 75, 23)) self.pushButton.setStyleSheet("font: 14pt \"黑体\";\n" "background-color: rgb(0, 255, 0);") self.pushButton.setObjectName("pushButton") self.label_2 = QtWidgets.QLabel(Dialog) self.label_2.setGeometry(QtCore.QRect(50, 280, 54, 12)) self.label_2.setText("") self.label_2.setObjectName("label_2") self.label_3 = QtWidgets.QLabel(Dialog) self.label_3.setGeometry(QtCore.QRect(50, 280, 71, 16)) self.label_3.setStyleSheet("font: 75 12pt \"Aharoni\";") self.label_3.setObjectName("label_3") self.retranslateUi(Dialog) QtCore.QMetaObject.connectSlotsByName(Dialog) def retranslateUi(self, Dialog): _translate = QtCore.QCoreApplication.translate Dialog.setWindowTitle(_translate("Dialog", "智能聊天机器人")) self.label.setText(_translate("Dialog", "欢迎使用图灵智能聊天机器人:")) self.pushButton.setText(_translate("Dialog", "发送")) self.label_3.setText(_translate("Dialog", "输入框")) self.pushButton.clicked.connect(self.get_response) def get_response(self): enterstr = self.plainTextEdit_2.toPlainText() url = 'http://www.tuling123.com/openapi/api' data = { 'key': "自己的key值", 'info': enterstr, 'userid': "test", } r = requests.post(url, data=data).json() result = ">> 我:{0}\n \n>> 小七:{1}#^_^# \n".format(enterstr,r.get("text")) self.plainTextEdit.setPlainText(result) return result if __name__ == "__main__": app = QtWidgets.QApplication(sys.argv) main = QtWidgets.QMainWindow() mainwindow = Ui_Dialog() mainwindow.setupUi(main) main.show() sys.exit(app.exec())
【写在最后】
说到图灵 ,推荐大家看下卷福演的《模仿游戏》。讲述了“计算机之父”图灵的一生,很精彩,强推。
作者:鹏哥贼优秀
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)