使用图灵的API接口和图灵机器人进行聊天

  1. 首先先去注册一个图灵账号

    1. 图灵官网
    2. 去创建一个机器人
  2. 开始撸代码

    import requests
    import json
    import ast
    from random import choice
    class TuLin(object):
    	def __init__(self,city,text=None,img_url=None,province=None,street=None):
    		# 申请了五个机器人
    		self.all_key = [
    			'b2c05bbcc375412f8621e433648748fc',
    			'233301805efc4e32a95c95bf5de7af4a',
    			'e623e8acef674f36ad6ccd9b8f9934d3',
    			'ea284a3fb5914c6498dcbf4eeb772aab',
    			'9adec2d2c4fc4de4bb186c6e1e5119c8'
    		]
    		# 随机选择一个机器人
    		self.key = choice(self.all_key)
    
    		# 图灵机器人的API接口
    		self.url = 'http://openapi.tuling123.com/openapi/api/v2'
    		
    		#  需要传的参数
    		self.data = {
    				"reqType":0,
    			    "perception": {
    			        "inputText": {
    			            "text": text
    			        },
    			        "inputImage": {
    			            "url": img_url
    			        },
    			        "selfInfo": {
    			            "location": {
    			                "city": city,
    			                "province": province,
    			                "street": street
    			            }
    			        }
    			    },
    			    "userInfo": {
    			        "apiKey": self.key,
    			        "userId": "wechat"
    			    }
    			}
    		
    		# 把参数变成json数据
    		self.data = json.dumps(self.data)
    
    	def send_request(self):
    		response = requests.post(self.url,data=self.data)
    		# 把response转换为字典
    		dict = ast.literal_eval(response.text)
    		# 判断是否提成工,如果没有从新提交
    		if dict['intent']['code'] != 10004:
    			self.all_key.remove(self.key)
    			self.key = choice(self.all_key)
    			self.send_request()
    		return response.text
    	
    	def run(self):
    		response  = self.send_request()
    		print(response)
    
    
    if __name__ == '__main__':
    		city = input("请输入你的地址(这个是必填的)\n")
    		text = input('请输入你要发送的文字,(可以选择不填)\n')
    		province = input("可以选择不填,请输入你的省份(可以选择不填)\n")
    		street = input('可以选择不填,请输入你的街道\n')
    		tl = TuLin(city=city,text=text,province=province,street=street)
    		tl.run()
    
  3. 大功告成(然后就可以使用了)

你可能感兴趣的:(使用图灵的API接口和图灵机器人进行聊天)