File size: 1,236 Bytes
dbf8df0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# encoding:utf-8

import requests
from bot.bot import Bot


# 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:
            return response.json()['result']['context']['SYS_PRESUMED_HIST'][1]

    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']