Python实现与智能机器人交互

本文将利用API与智能机器人进行人机交互,进行简单的聊天对话;代码由Python语言实现。

这里使用的机器人为图灵机器人,其官方网站为:http://www.turingapi.com

开始前,清先注册账号,并创建一个机器人,获得 apikey,userid 这两个关键参数。

为了简化POST和编码过程,我使用了 requests 这个库;

机器人API:

http://openapi.tuling123.com/openapi/api/v2

API文档:https://www.kancloud.cn/turing/www-tuling123-com/718227

import requests
 
robotAPI = 'http://openapi.tuling123.com/openapi/api/v2'
 
apiKey=''
 
userId=''
 
message=''
 
def sendMessage(message,apiKey=apiKey,userId=userId):
    
    jsondata = {'reqType': '0',
                'perception': {'inputText': {'text': message},
                               'inputImage': {'url': 'imageUrl'},
                'selfInfo': {'location': {'city': '北京', 'province': 'beijing', 'street': 'xinxilu'}}},
                'userInfo': {'apiKey': apiKey, 'userId': userId}}
    if not message:return 'empty message.'
 
    r=requests.post(robotAPI,json=jsondata)
 
    if r.status_code != 200:return 'error code'
 
    return r.json()
 
while 1:
    result=sendMessage(input('->'))['results'][0]['values']['text']
    print(result)
 

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/p/276.html

分类: 计算机技术
推荐阅读:
Qt在Windows11下的视觉效果 作者更新到Windows11了,来看看Qt在Windows11下的视觉效果;变化比较明显的是窗口,PushButton控件和输入框控件;
Python divmod()函数 在Python中,divmod()函数是一个内置函数,用于将两个数字相除并返回商和余数。divmod()函数接受两个参数,分别是被除数和除数,并返回一个包含商和余数的元组。其中,商是两个数相除得到的结果,而余数是两个数相除后的余数部分。
Python打印有颜色的字符串 使用Python在命令行或shell终端输出有颜色的字符串,效果如下:
C语言交换两个变量 在C语言中交换两个变量,需要创建一个临时变量来存储其中的一个值;例如交换a,b两个值时,需创建一个临时变量保存a的值,再将b值赋予a,最后将临时变量的值赋予b,完成交换过程;
Python里with语句的用法与技巧 本文将详细讲解Python语言中with语句的用法,以及如何让自定义的类也支持with语句;
Python filter()函数 在Python中,filter()是一个内置函数,它有两个参数:一个函数和一个可迭代对象(比如列表、元组或集合)。它会对可迭代对象中的每个元素调用给定的函数,并返回一个新的可迭代对象,其中只包含符合条件的元素。