官网给出的调用示例是Python2的代码,Py3直接使用会报错,经过自己的摸索,使用Py3改写成功了,分享给大家(*^▽^*)
官网Python2源代码链接:https://ai.baidu.com/docs#/UNIT-v2-API/top
# -*- coding: utf-8 -*-
import urllib.request as ul_re
import json
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": 0,
"client_session": "{\"client_results\":\"\", \"candidate_options\":[]}",
"query": "【你的输入语句】",
"query_info": {
"asr_candidates": [],
"source": "KEYBOARD",
"type": "TEXT"
},
"updates": "",
"user_id": "88888"
},
"bot_id": 【你的BOTID】,
"version": "2.0"
}
encoded_data = json.dumps(post_data).encode('utf-8')
headers = {'Content-Type': 'application/json'}
request = ul_re.Request(url, data=encoded_data, headers=headers)
response = ul_re.urlopen(request)
content = response.read()
result = str(content,'utf-8')
print(result)
请登录后评论
TOP
切换版块
你好,请问我运行完总是出现:"error_code":6,"error_msg":"No permission to access data",该如何是好?
解决了 bot_id 填对就行了
你解决了没有???
我运行了代码返回是这个{"error_msg":"未找到相应的技能","error_code":292001}
我的请求参数里哪个出了问题呀 小白一枚有点头大
我也是出现这个,把所有技能相关的字段删除了,还是这个。都是用默认的都不行
我运行了代码返回是这个{"error_msg":"未找到相应的技能","error_code":292001}
我的请求参数里哪个出了问题呀 小白一枚有点头大
构建一个机器人,怎么处理并发问题
非常感谢
可以使用引导意图,还有返回json中,type 如果是clarify之类的 才能正确确定是多轮对话。在返回剩余类型时,本地存储的SessionID置空。
session id是系统定义的,与用户对话内容无关。没有实现多轮的具体表现是?
多轮对话的,我也有这个烦恼:
第一轮对话,说完后,会产生session_id,这个session_id再丢给第二轮对话里的bot_session,因为第一轮用户给出的问题,是不固定的,也就是说,产生出来的session_id是不固定的,这样的话,如果第二轮调用这个session_id的话,就会出问题。
我以为,第一轮过后,session_id是个固定值,后来打印出来后,才知道不是固定的,我用第一轮产生的session_id传给第二轮后,对答出现了问题,第二轮对话,unit给出的回答,没有实现多轮。
期待懂的小伙伴们能够讲一下。
你好,有没有多轮对话的demo ,返回的json还是太恶心了
感谢感谢~
官网的文档也会尽快更新