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行代码带你打造一个微信聊天机器人,真神了~

python黑科技:Python大佬用20行代码带你打造一个微信聊天机器人,真神了~

python黑科技:Python大佬用20行代码带你打造一个微信聊天机器人,真神了~