您当前的位置:首页 > IT编程 > python
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:Python调用两个机器人聊天的实战

51自学网 2021-10-30 22:14:44
  python
这篇教程Python调用两个机器人聊天的实战写得很实用,希望能帮到您。

众所周知,现在网上有很多非常智能bushi(智障)的AI机器人接口,利用这些接口,我们可以实现一个机器人,可以和它对话聊天,为了增加机器人聊天内容的趣味性,今天我决定要搞两个机器人,看它俩聊天,看看会不会发生什么有趣的事情,搞起!!!

机器人api接口

经过一通百度,找到几个推荐比较多的机器人接口,如下:

天行机器人: 天行机器人, 验证邮箱之后每天可以有100次的免费调用次数,测试用的话够了,不想用自己的邮箱的话,可以找一些临时邮箱(百度一搜一大堆)。

青云客机器人:青云客机器人,这个机器人好像叫菲菲,无所谓,主要可以白嫖,不用登陆,可以直接调用接口。

图灵机器人: 图灵机器人,据说这个挺智能的,但是好像不是免费的哎,19块9,开玩笑,我能有那钱,也可能是我操作有问题,不管了,用前两个了。

调用接口封装机器人

发请求用的是requests库,需要pip install requests进行安装。

天行机器人:

class TXRobot:    def __init__(self):        self.api = "http://api.tianapi.com/txapi/robot/index?key={}&question={}"        self.key = "xxxxxx"  # 填写在官网申请的key    def chat(self, msg):        res = requests.get(tx_url.format(self.key, msg)).json()        content = res["newslist"][0]["reply"]        return content

注意:我这里self.key设置的假的,这里需要把self.key改成在官网申请的真实的key。
试一下,看看它回复个啥:

tx_robot = TXRobot()print(tx_robot.chat("你好啊"))# 您好,{robotname}是{robotname},有什么可以帮您的吗?

青云客机器人:

class QYKRobot:    def __init__(self):        self.api = "http://api.qingyunke.com/api.php?key=free&appid=0&msg={}"    def chat(self, msg):        res = requests.get(self.api.format(msg)).json()        content = res["content"]        return content

同样试一下:

qyk_robot = QYKRobot()print(qyk_robot.chat("你好啊"))# 我很好,你呢,你怎么样

好了,两个机器人封装完毕,至少现在看起来,回复的还行,没有特别的智障。接下来,就让它俩对话吧!准备看戏!!!

实现两个机器人聊天

逻辑就是输入第一句话,然后让其中一个机器人回答,然后把它的回答作为消息,让另外一个机器人回答,就这样循环起来。

if __name__ == '__main__':    msg = input("输入第一句聊天对话:")    while True:        tx_robot = TXRobot()        content = tx_robot.chat(msg)        print("天行机器人:", content)        qyk_robot = QYKRobot()        msg = qyk_robot.chat(content)        print("青云客机器人:", msg)

青云客机器人有句话深得我心,那就是祖国尚未统一,你居然有还有心情去学习,哈哈哈,说的对啊,全部都把鱼摸起来!!!

聊天文字转语音

既然已经实现了两个机器人聊天了,那能不能实现聊天文字转语音呢,这样就可以听它俩的对话了。找到一个第三方库:pyttsx3,可以使用pip install pyttsx3进行安装,这个库可以把文字转为语音并播放,使用起来也很简单,例如:

import pyttsx3engine = pyttsx3.init()engine.say('hello 脚本')engine.runAndWait()

那么修改一下代码:

if __name__ == '__main__':    msg = input("输入第一句聊天对话:")    engine = pyttsx3.init()    while True:        tx_robot = TXRobot()        content = tx_robot.chat(msg)        print("天行机器人:", content)        engine.say('天行机器人说:{}'.format(content))        engine.runAndWait()        qyk_robot = QYKRobot()        msg = qyk_robot.chat(content)        print("青云客机器人:", msg)        engine.say('青云客机器人说:{}'.format(msg))        engine.runAndWait()

这样就可以听这两个机器人的对话啦!

总结

效果达成,虽然两个机器人都不是很智能,但至少还是实现了基本的聊天对话功能,有人可能会说,这不就是调第三方接口嘛,说的也对,主要就是调用了第三方接口,虽然代码很简单,逻辑也不难,但是还是挺有意思的。有调用智能机器人的需求的话,也可以看看上面介绍的产品。

到此这篇关于Python调用两个机器人聊天的实战的文章就介绍到这了,更多相关Python 机器人聊天内容请搜索51zixue.net以前的文章或继续浏览下面的相关文章希望大家以后多多支持51zixue.net!


OpenCV半小时掌握基本操作之直方图
程序猿新手学习必备的Python工具整合
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。