• 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)        #设置循环延迟
    
    

    不过这聊天确实有点尴尬啊:

  • 相关阅读:
    ASP.NET小知识
    追溯ASP.NET发展史
    《ASP.NET MVC4 WEB编程》学习笔记------UrlHelper
    Python数据分析8-----网页文本处理
    sklearn学习9----LDA(discriminat_analysis)
    树(8)----路径和
    树(7)-----二叉树的序列化和反序列化
    xgboost学习
    Python笔记24-----迭代器、生成器的使用(如嵌套列表的展开、树的遍历等)
    算法20-----卡诺兰数
  • 原文地址:https://www.cnblogs.com/dengfaheng/p/10959140.html
Copyright © 2020-2023  润新知