点击上方的网址,注册并开发自己的机器人
import MyRobot
AK='你自己的'
SK='你自己的'
access_token=MyRobot.getBaiduAK(AK,SK)
bot_id='技能ID'
AskText='下周五是几月几号'
Answer=MyRobot.Answer(access_token,bot_id,AskText)
print("问"+AskText+"?")
print(Answer)
结果
问下周五是几月几号?
下周五是2023年4月14日、
所需要脚本(MyRobot)
import requests
import base64
import json
def getBaiduAK(AK,SK):
# client_id 为官网获取的AK, client_secret 为官网获取的SK
url='https://openapi.baidu.com/oauth/2.0/token?grant_type=client_credentials&client_id={}&client_secret={}'.format(AK,SK)
response=requests.get(url)
access_token = response.json()['access_token']
# print(access_token)
return access_token
def Answer(access_token,bot_id,Ask):
# url 准备调用UNIT接口,附上权限鉴定 access_token
url = 'https://aip.baidubce.com/rpc/2.0/unit/bot/chat?access_token=' + access_token
post_data = '{\"bot_session\":\"\",\"log_id\":\"7758521\",\"request\":{\"bernard_level\":1,\"client_session\":\"{\\\"client_results\\\":\\\"\\\", \\\"candidate_options\\\":[]}\",\"query\":\"' + Ask + '\",\"query_info\":{\"asr_candidates\":[],\"source\":\"KEYBOARD\",\"type\":\"TEXT\"},\"updates\":\"\",\"user_id\":\"88888\"},\"bot_id\":'+bot_id+',\"version\":\"2.0\"}'
headers = {'Content-Type':'application/json'}
response = requests.post(url, data=post_data.encode('utf-8'),headers=headers)
return response.json()['result']['response']['action_list'][0]['say']
def useMyModel(access_token,ModelName,Img):
Img = {'image': base64.b64encode(Img).decode()}
request_url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/classification/{}?access_token={}".format(ModelName,access_token)
response = requests.post(request_url, data=json.dumps(Img))
content = response.json()
return content
class Student(): # Student类定义在文件 MyRobot.py 中
def __init__(self,no,name ): # __init__就相当于构造函数,在这里定义形参
self.no = no; # 初始化 学生对象的学号为传入的 no
self.name = name; # 初始化 学生对象的名称为传入的 name
def speak(self,text):
return self.name + 'speak ' + text