# encoding:utf-8 import requests from bot.bot import Bot from bridge.reply import Reply, ReplyType # Baidu Unit对话接口 (可用, 但能力较弱) class BaiduUnitBot(Bot): def reply(self, query, context=None): token = self.get_token() url = ( "https://aip.baidubce.com/rpc/2.0/unit/service/v3/chat?access_token=" + token ) post_data = ( '{"version":"3.0","service_id":"S73177","session_id":"","log_id":"7758521","skill_ids":["1221886"],"request":{"terminal_id":"88888","query":"' + query + '", "hyper_params": {"chat_custom_bot_profile": 1}}}' ) print(post_data) headers = {"content-type": "application/x-www-form-urlencoded"} response = requests.post(url, data=post_data.encode(), headers=headers) if response: reply = Reply( ReplyType.TEXT, response.json()["result"]["context"]["SYS_PRESUMED_HIST"][1], ) return reply def get_token(self): access_key = "YOUR_ACCESS_KEY" secret_key = "YOUR_SECRET_KEY" host = ( "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=" + access_key + "&client_secret=" + secret_key ) response = requests.get(host) if response: print(response.json()) return response.json()["access_token"]