城市设计/数据分析/技术分享/摄影记录

0%

Python基础语法项目实践-聊天机器人

聊天机器人-图灵机器人

看到之前的课程上,有简短的示例代码,可以与机器人进行对话,但只能聊三毛钱的,聊完就要重新开始。于是我将其稍微改进了一下。
1、增加循环,可以无限制聊天,输入关键词退出
2、虽然可以无限制聊天,但受限于免费版key的调用次数,一个key一天调用100次,转瞬即逝,于是增加4个key,循环使用,达到400次

代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# -*- coding: utf-8 -*-
"""
Created on Thu Jun 4 11:15:06 2020
@author: erek
"""

import requests, json, time, random

wel = '''Hello!我是你的聊天机器人

我有问必答,你可以问“今天南京天气怎么样?”,也可以问“你喜欢夏天吗?”
快来问我问题呀,欢迎来撩!

【温馨提示】
1、如果要停止对话,请说‘再见’
2、机器人未必智能,不可攻击它哦!
3、如果提示请求次数超限制,可继续尝试,如果一直超出限制,第二天再试噢!(每天约400次请求)
4、功能:笑话、故事、数字计算、中英互译、星座、脑筋急转弯、绕口令、天气查询、日期查询、快递查询等
'''
print(wel)

apikey1 = '填写你自己的KEY'
apikey2 = '填写你自己的KEY'
apikey3 = '填写你自己的KEY'
apikey4 = '填写你自己的KEY'

tag = 0

apikey = apikey1
time.sleep(1)


while True:

feature_text = '说点什么:'
user1 = input(feature_text)
if user1 != '再见':
userid = str(random.randint(1, 1000000000000000000000))

tulingdata1 = json.dumps({ "perception": {
"inputText": {
"text": user1
},

},
"userInfo": {
"apiKey": apikey,
"userId": userid
}
})


if tag == 0:
apikey = apikey1
tag = 1
elif tag == 1:
apikey = apikey2
tag = 2
elif tag == 2:
apikey = apikey3
tag = 3
else:
apikey = apikey4
tag = 0

robot1 = requests.post('http://openapi.tuling123.com/openapi/api/v2', tulingdata1)
jsrobot1 = json.loads(robot1.text)['results'][0]['values']['text']


print(jsrobot1)
time.sleep(1)
continue
else:
print('\n我走啦,下次见!')
break

这样一个“智能”聊天机器人就完成了,很简单的小程序,利用图灵机器人提供的API,即可完成接入。

打包exe,让每个人都可以运行

安装PyInstaller

通过命令pip install PyInstaller,成功安装后即可对py程序进行打包。

通过控制台进行打包

通过cd切换到.py文件所在路径,使用pyinstaller -F Test.py命令进行打包,随后该目录下会生成dist文件夹,里面exe的文件双击即可打开。

运行如下图所示,快来试试看吧!

吃颗糖
  • 本文作者: Erek
  • 本文链接: https://erek.top/2020/012-st/
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!