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

分类: 计算机技术
推荐阅读:
Python暴力破解MD5加密字符串 首先,MD5是不可逆的消息摘要算法,也就是说,不能根据MD5值逆向解密出原信息;但是,MD5通常被用于对密码进行处理,而密码长度是有限的,我们只需要配对出这些组合的MD5值,就可以实现所谓的解密,这种方法也叫暴力破解;
Python any()函数详细教程 any()函数只接受一个可迭代的类型参数;如果该迭代器的任意一个元素为True,则返回True,否则返回False;如果迭代器为空返回False;
Python实现插入排序(insertion sort) 插入排序(insertion sort)是一种比较简单的排序算法;其原理类似于对一手扑克牌进行排序;
Rust语言逐行读取文本文件 这是一个使用Rust语言逐行读取文本文件的例子;
Rust解析YAML,结构体序列化和反序列化 serde_yaml 是 Rust 的一个 crate,提供了支持将数据结构序列化为 YAML 格式,以及将 YAML 格式反序列化为 Rust 数据结构的功能。
Python实现线性搜索(linear search) 比如说我有数组data,1000个元素,要从里面找x;线性搜索,就是从头找到尾,速度最慢,但是适用性最广。