Python + 图灵机器人APIv2.0 = 实现两个机器人互相聊天
程序员文章站
2022-06-04 09:14:41
...
Python + 图灵机器人APIv2.0 = 实现两个机器人互相聊天
获取图灵机器人API KEY
首先,前往图灵机器人官方网站 http://www.tuling123.com/ 注册账号。
登录后点击 创建机器人 ,填写一些简单的基本信息之后即可创建。
Python3源代码
基本原理就是使用urllib.request模块,向接口地址发送HTTP POST请求,请求中加入了聊天内容。
import json
import urllib.request
import time
api_url = "http://openapi.tuling123.com/openapi/api/v2"
api_key_1 = "请替换为你的API KEY 1"
api_key_2 = "请替换为你的API KEY 2"
tag = 0
api_key = api_key_1
text_input = input('对话起点:')
while True:
req = {
"perception":
{
"inputText":
{
"text": text_input
},
"selfInfo":
{
"location":
{
"city": "长沙",
"province": "湖南",
"street": "四方坪"
}
}
},
"userInfo":
{
"apiKey": api_key,
"userId": "hexinjiyi"
}
}
if tag == 0:
api_key = api_key_1
tag = 1
else:
api_key = api_key_2
tag = 0
req = json.dumps(req).encode('utf8')
http_post = urllib.request.Request(api_url, data=req, headers={'content-type': 'application/json'})
response = urllib.request.urlopen(http_post)
response_str = response.read().decode('utf8')
response_dic = json.loads(response_str)
intent_code = response_dic['intent']['code']
results_text = response_dic['results'][0]['values']['text']
if tag == 1:
print('图灵机器人1的回答:'+ results_text)
else:
print('图灵机器人2的回答:'+ results_text)
text_input = results_text
time.sleep(3)
小结
- 字典 req 包含了向图灵机器人发出请求所需的各项信息。其中 req[‘perception’][‘selfInfo’][‘location’] 包含了地理位置信息,向图灵机器人发送与位置有关的请求时,如果没有另外指定位置,则会默认使用这个位置。例如询问"明天会下雨吗",图灵机器人会回答我"长沙"明天是否下雨;
- req[‘userInfo’] 包含了API KEY,请替换成你的API KEY(双引号不要删除)。另外 userId 是用户参数,暂时不明白用途,如果你有什么想法恳请留言;
- 希望对大家能有所帮助,感谢阅读本篇文章。