Python + 图灵机器人APIv2.0 = 实现两个机器人互相聊天

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_37773511/article/details/90313037

Python + 图灵机器人APIv2.0 = 实现两个机器人互相聊天

获取图灵机器人API KEY

首先,前往图灵机器人官方网站 http://www.tuling123.com/ 注册账号。

登录后点击 创建机器人 ,填写一些简单的基本信息之后即可创建。

图灵机器人官网
创建机器人获取API KEY

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)

执行效果

小结

  1. 字典 req 包含了向图灵机器人发出请求所需的各项信息。其中 req[‘perception’][‘selfInfo’][‘location’] 包含了地理位置信息,向图灵机器人发送与位置有关的请求时,如果没有另外指定位置,则会默认使用这个位置。例如询问"明天会下雨吗",图灵机器人会回答我"长沙"明天是否下雨;
  2. req[‘userInfo’] 包含了API KEY,请替换成你的API KEY(双引号不要删除)。另外 userId 是用户参数,暂时不明白用途,如果你有什么想法恳请留言;
  3. 希望对大家能有所帮助,感谢阅读本篇文章。
展开阅读全文

没有更多推荐了,返回首页