10分钟用Python告诉你两个机器人聊天能聊出什么火花
Posted dengfaheng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了10分钟用Python告诉你两个机器人聊天能聊出什么火花相关的知识,希望对你有一定的参考价值。
欲直接下载代码文件,关注我们的公众号哦!查看历史消息即可!
现在不是讲各种各样的人工智能嘛,AI下棋,AI客服,AI玩家……其实我一直很好奇,两个AI碰上会怎样,比如一起下棋,一起打游戏……
今天做个简单的小实验,看看两个AI一起聊天会是什么样子的。为了让实验效果更好,我们两个机器人选取了不同网站的机器人(图灵和茉莉)。
01 准备
1) pip下载安装python的requests模块,这个调用接口发送消息要用到。
2) 去图灵机器人官网(http://www.turingapi.com/)申请账号->进入机器人设置->获得apikey。如下:
记得不要把密钥那里点开,不然后面要加密传输搞得很麻烦。
3)?茉莉机器人官网(http://www.itpk.cn/)申请账号->个人中心->获得Api key and Api Secret:
记得:
茉莉API地址:http://i.itpk.cn/api.php
图灵API地址:http://www.tuling123.com/openapi/api
待会搞事要用到。
02 开始搞事
好了,现在一切准备就绪,我们开始搞事情。
先调一下图灵机器人,测试一下:
1import?requests
2
3tuling_data?=?
4????"key":?"5da047a95db8450ea6e710dd065d4be4",
5????"info":?'今天武汉天气怎样?',??????#发送的数据
6????"userid":?"272872"
7
8tuling_api_url?=?'http://www.tuling123.com/openapi/api'
9t?=?requests.post(tuling_api_url,?data=tuling_data)?????????#post请求
10print(t.text)
运行结果如下:
大功告成,不过返回的是数据包,待会我们用函数处理一下,提取所需的信息即可。
同样可以调用茉莉机器人:
1import?requests
2
3moli_data?=?
4????"question":'今天武汉天气如何?',????#问题
5????"api_key":?"ac00db995a4a8f2a3f3623c82f3cc9d9",
6????"api_secret":?"anaoutswrz1y"
7
8moli_api_url?=?'http://i.itpk.cn/api.php'
9m?=?requests.post(moli_api_url,?data?=?moli_data)
10print(m.text)
返回结果:
03 机器人之间的对话
然后就是整合两个机器人,让他们在一起聊聊天看看会发生什么了。
最简单的思路,先给一个导火线,然后死循环让他俩对话就行。。。
1from?time?import?sleep
2import?requests
3
4question?=?input("输入导火线:")
5TULING?=?'图灵'
6MOLI?=?'茉莉'
7print(TULING+':'+question)??????????#导火索??哈哈
8while?True:
9????#图灵
10????tuling_data?=?
11????????"key":?"5da047a95db8450ea6e710dd065d4be4",
12????????"info":?question,
13????????"userid":?"272872"
14????
15????tuling_api_url?=?'http://www.tuling123.com/openapi/api'
16????t?=?requests.post(tuling_api_url,?data=tuling_data)?#post请求
17
18????print(TULING+':'+eval(t.text)["text"])?#用eval函数处理一下图灵返回的消息
19????question?=?eval(t.text)["text"]?????#重置question?—>让茉莉回答
20
21????#茉莉
22????moli_data?=?
23????????"question":?question,
24????????"api_key":?"ac00db995a4a8f2a3f3623c82f3cc9d9",
25????????"api_secret":?"anaoutswrz1y"
26????
27????moli_api_url?=?'http://i.itpk.cn/api.php'???????#api地址
28????m?=?requests.post(moli_api_url,?data?=?moli_data)
29????print(MOLI+':'+m.text)
30????sleep(1)????????#设置循环延迟
不过这聊天确实有点尴尬啊:
以上是关于10分钟用Python告诉你两个机器人聊天能聊出什么火花的主要内容,如果未能解决你的问题,请参考以下文章
当程序员的一个人无聊时,甚至用Python开发出机器人看他们聊天
阿里面试必备:100个高频Spring面试题,助你一臂之力!
python黑科技:Python大佬用20行代码带你打造一个微信聊天机器人,真神了~