精华内容
下载资源
问答
  • 百度UNIT技能管理API

    2019-04-29 15:46:54
    百度Unit语音技能的使用说明
  • 这几天在弄一个闲聊的机器人,想起之前的图灵机器人,捣鼓...于是换一个吧,用百度Unit,又是一阵研究,大概流程是这样了一、需要自己添加技能,比如闲聊,天气,计算等二、创建一个机器人(也可以不创建),三、然...

    这几天在弄一个闲聊的机器人,想起之前的图灵机器人,捣鼓之后,发现用不了,咨询后得知,以前是可以免费使用,一天1000次,后来降到100次,其实也没有那么多人去闲聊,也无所谓,再后来,需要手持身份证实名认证才行。

    我只想说,自己没点B数吗?用你这玩意要实名?

    于是换一个吧,用百度Unit,又是一阵研究,大概流程是这样了

    一、需要自己添加技能,比如闲聊,天气,计算等

    二、创建一个机器人(也可以不创建),

    三、然后创建一个应用

    四、用代码通过应用的相关key申请一个token

    https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id={}&client_secret={}

    返回两个关键内容"access_token"和 "expires_in"

    五、然后开始调用(测试环境)

    https://aip.baidubce.com/rpc/2.0/unit/service/chat?access_token={}

    参数可以参考它的文档

    在这里给百度提几点建议:

    一、在某种情况下,还是要以智能为主,不能让开发者决定用什么技能,用户聊的内容,开发者根本没有能力去判断到底是哪个方面的内容,然后对应用哪个技能去回复,这是把最难的这点交给了开发者,而不是提供服务的平台。

    我尝试过把所有技能加上,但回复的结果一大堆 ,文档中写着说是按最佳的顺序排的,但实际很坑

    二、那个"expires_in"是指的这个"access_token"的过期时间,但我要说,真的一万只羊驼在心中奔腾而过,

    expires_in是个固定的值,2592000 ,代表是在2592000秒之后过期,也就是30天,直接返回一个日期什么时候过期不就可以了啊,一定要开发者自己记录一个申请日期然后自己算一下什么时候过期?学点好的,不要学其它人的坑,这设计者一定是从企鹅跳槽过去的。

    展开全文
  • 百度UNIT_思维导图

    2017-11-27 11:21:12
    自制的百度UNIT的思维导图,欢迎大家下载,欢迎留言交流。
  • 百度UNIT对话机器人实例
  • 百度UNIT产品使用手册_v3.0.3.pdf。
  • 百度UNIT技能管理API说明文档_v1.7.8.pdf。
  • 调用百度UNIT对话机器人一、功能描述二、创建机器人应用二、在原来的语音识别应用中添加UNIT功能 (或者直接新开一个应用也可以)三、python调用百度对话机器人四、使用实例 一、功能描述   调用百度UNIT平台中...

    一、功能描述

      调用百度UNIT平台中自己自定义的机器人接口实现人机交互

    二、创建机器人应用

    (可以根据自己的需求设置机器人功能)
    1、创建机器人的方法:参考官方教程
    2、做一个查天气的机器人(教程
    功能简述:
    可以自己定义词槽、自己定义回复值、但是有使用此时限制(试用500次,好像有点不够)

    教程内容补充:
    需要将最后得到的技能添加到机器人中才可以拿来调用
    在这里插入图片描述
    在这里插入图片描述

    二、在原来的语音识别应用中添加UNIT功能 (或者直接新开一个应用也可以)

    (应用列表—>语音识别管理—>编辑—>添加一个UNIT 即可)

    三、python调用百度对话机器人

    参考技术文档
    需要调用所需的机器人修改机器人的ID即可
    在这里插入图片描述

    四、使用实例

    代码有注释,帮助读者理解

    # 说明:将固定文本发送给百度平台实现UNIT的交流
    
    import requests
    import json
    
    # 需要的库requests、json(import 进来就好了)
    baidu_server = 'https://aip.baidubce.com/oauth/2.0/token?'  #获取token的server
    grant_type = 'client_credentials'
    client_id = '' #API KEY
    client_secret = '' #Secret KEY   这里可以自己去百度注册,这里是我的API KEY 和 Secret KEY
    
    #合成请求token的url
    url = baidu_server+'grant_type='+grant_type+'&client_id='+client_id+'&client_secret='+client_secret
    
    #获取token
    res = requests.get(url).text
    data = json.loads(res)  #将json格式转换为字典格式
    token = data['access_token']
    
    access_token = token
    q = "北京的天气"   #需要发送给UNIT服务器的内容放到这里即可
    url = 'https://aip.baidubce.com/rpc/2.0/unit/service/chat?access_token=' + access_token    #不用动
    post_data = "{\"log_id\":\"UNITTEST_10000\",\"version\":\"2.0\",\"service_id\":\"S46420\",\"session_id\":\"\",\"request\":{\"query\":\"%s\",\"user_id\":\"88888\",\"query_info\":{\"type\":\"TEXT\",\"source\":\"KEYBOARD\"}}}}"%(q)
    #post_data中主要修改的是:service_id(提前准备好的机器人id)、type(TEXT为常规的文本型,EVENT为一组K-V(json),且其中必须包含一个名为『event_name』的key,其他自便)、source("ASR","KEYBOARD"。ASR为语音输入,KEYBOARD为键盘文本输入。针对ASR输入,UNIT平台内置了纠错机制,会尝试解决语音输入中的一些常见错误)
    #print('post_data:',post_data)
    headers = {'content-type': 'application/x-www-form-urlencoded'}   #不用管
    response = requests.post(url, data=post_data.encode('utf-8'), headers=headers)
    #post_data.encode('utf-8'),需要先将post_data编码为‘utf-8’格式,否则会出错
    if response:
        print (response.json())
    

    最后

    其他百度API 系列的调用参见https://blog.csdn.net/weixin_45386875/article/details/113705329

    展开全文
  • 百度UNIT 关键 百度unit:开放的平台,能让你实现与机器的对话技术,语义交互 机器人:完整对话场景 技能:某一个对话场景 对话意图:对话技能需要理解的用户需求。指的是我的对话训练得到的模型的用途,主要识别...

    百度UNIT

    关键

    百度unit:开放的平台,能让你实现与机器的对话技术,语义交互
    机器人:完整对话场景
    技能:某一个对话场景
    对话意图:对话技能需要理解的用户需求。指的是我的对话训练得到的模型的用途,主要识别哪些对话
    词槽:类似于关键字,满足用户对话意图时的关键信息或限定条件
    对话模板:对对话进行具体语法、句式做出的示范,加快学习
    沙盒环境:类似于模拟训练的环境,调参后就可以进入沙盒进行学习

    1:点击开启空调
    在这里插入图片描述
    2:新建对话意图
    意图的名称WEATHER
    意图的别名天气

    3:意图的名称和别名主要用户识别,这里我是制作天气交互软甲,所以为weather和天气
    4:设置词槽
    设置对话的关键字,这里我设置两个关键字
    一个是地理位置:
    在这里插入图片描述
    注意,使用系统词典,勾选sys_loc选项,这里即为用百度给的词典去训练
    另一个是天气
    在这里插入图片描述
    并且设置必填词槽,同时澄清话术指的是,当你发起的对话机器人没有识别到关键字时,比如没有地理位置关键字,就会恢复澄清话术
    在这里插入图片描述
    地理位置词槽设置完毕,接下来设置时间词槽
    time 时间
    勾选系统词典——时间词典
    必选词槽

    最后答复方式,选取文本内容,然后填写文本信息即可
    在这里插入图片描述
    5:选取对话模板
    添加对话模板,按如下进行操作
    在这里插入图片描述
    6:训练并生效模型——左侧导航栏点击训练模型,右侧蓝色训练并生效模型
    在这里插入图片描述
    7:测试模型
    在这里插入图片描述
    如果是错误的输入
    在这里插入图片描述
    正确的输入:
    在这里插入图片描述

    展开全文
  • 百度UNIT聊天API的使用2. QT中UI线程与工作线程的双向通信代码示例23.UI 最终效果图: ​ 图1.聊天情况 1.百度UNIT聊天API的使用 代码示例1 # -*- coding=utf-8 -*- import requests class ...


    最终效果图:
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-56EWw2Ki-1589776377292)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20200518110659979.png)]

    ​ 图1.聊天情况

    1.百度UNIT聊天API的使用

    代码示例1

    # -*- coding=utf-8 -*-
    import requests
    
    
    class UNIT:
        def __init__(self, api_key, api_secret):
            self.access_token = None
            self.url = None
    
            self.set_access_token(api_key, api_secret)
    
        def set_access_token(self, api_key, api_secret):
            host = 'https://aip.baidubce.com/oauth/2.0/token?' \
                   'grant_type=client_credentials&' \
                   'client_id={0}&' \
                   'client_secret={1}'.format(api_key, api_secret)
            response = requests.post(host)
            if response:
                self.access_token = response.json()['access_token']
    
        def query(self, query_text):
            self.url = 'https://aip.baidubce.com/rpc/2.0/unit/service/chat?access_token=' + self.access_token
            post_data = """{
                        "bot_session": "",
                        "log_id": "7758521",
                        "service_id": "S29640",	# 你的聊天机器人的ID
                        "request": {
                            "bernard_level": 1,
                            "client_session": "{\\\"client_results\\\":\\\"\\\", \\\"candidate_options\\\": []}",
                            "query": "%s",	# 要查询的文字
                            "query_info": {
                                "asr_candidates": [],
                                "source": "KEYBOARD",
                                "type": "TEXT"
                            },
                            "updates": "",
                            "user_id": "88888"
                        },
                        "session_id": "",
                        "version": "2.0"
                    }""" % query_text
            post_data = post_data.encode('utf-8')
            headers = {'content-type': 'application/x-www-form-urlencoded'}
            response = requests.post(self.url, data=post_data, headers=headers)
            if response:
                return response.json()['result']['response_list'][0]['action_list'][0]['say']
    

    需要自己去百度UNIT获取自己的API_KEY和API_SECRET,然后调用set_access_token获取access_token来访问聊天API。

    2. QT中UI线程与工作线程的双向通信

    发现网上讲的基本都是工作线程向UI线程传递数据,却没有讲UI线程如何传递数据给工作线程。以下给出了一种思路。

    代码示例2

    UI线程点击按钮,向工作线程发送信息;工作线程处理好信息后通过信号传出。

    # -*- coding=utf-8 -*-
    import sys
    from PyQt5.QtWidgets import *
    from PyQt5.QtCore import pyqtSignal, pyqtSlot, QThread
    
    
    class WorkerThread(QThread):
        response_signal = pyqtSignal(str)	# 向UI线程发出的信号
        receive_string = None	# 用于接受来自UI线程的信息
    
        def __init__(self):
            super(WorkerThread, self).__init__()
    
        def run(self) -> None:
            # 处理UI线程传来的信息,然后发出信号
            self.response_signal[str].emit(self.receive_string + ",I got this")
    
    
    class MyWidget(QWidget):
        def __init__(self):
            super(MyWidget, self).__init__()
            self.button = QPushButton("send", self)
            self.button.clicked.connect(self.on_send_message)
            
            self.worker = WorkerThread()	# 实例化子线程
            self.worker.response_signal[str].connect(self.on_response)	# 绑定子线程的信号与UI线程的槽on_response
    
    
        @pyqtSlot()		# 据PYQT官网描述,加上装饰器可以减少内存消耗
        def on_send_message(self):
            self.worker.receive_string = "你好"	# 往子线程传递信息
            self.worker.start()		# 启动子线程
    
        @pyqtSlot(str)
        def on_response(self, text):
            print(text)
    
    
    if __name__ == "__main__":
        app = QApplication(sys.argv)
        window = MyWidget()
        window.show()
        sys.exit(app.exec_())
    

    运行结果:

    你好,I got this
    你好,I got this
    你好,I got this
    你好,I got this
    

    3.UI

    部分个人觉得比较重要的实现:

    聊天框使用QListWidget实现,每一条聊天内容使用QListWidgetItem实现。

    聊天内容:图标+时间+消息。

    def get_encapsulated_message(self):
        message_item = QListWidgetItem()	# 实例化一个QListWidgetItem对象
        time = QDateTime.currentDateTime().time().toString('hh:mm:ss')	# 获取当前时间
        message_item.setText(time + " " + self.input_text.text())	# 设置文本内容
        message_item.setIcon(QIcon('image/me.png'))	# 添加图标
        return message_item
    

    有时候文本内容太长,需要设置自动换行:

    self.chat_message_box.setWordWrap(True)                     # 开启长文本自动换行
    

    chat_message_box是QListWidget类的对象。

    在QListWidget中,每次内容都停留在顶部,无法自动下滑到最新的消息处:

    self.chat_message_box.scrollToBottom()	# chat_message_box是QListWidget对象
    

    在往QListWidget中添加QListWidgetItem后,调用QListWidget.scrollToBottom()即可。

    展开全文
  • 百度UNIT的Dmkit部署流程下载Dmkit安装包环境的配置解压安装包执行deps.sh脚本进入UNIT训练数据画流程图xml文件转json文件加载json文件启动Dmkit测试Dmkit是否安装运行成功 下载Dmkit安装包 安装包 ...
  • 百度 UNIT 使用

    2019-08-02 16:36:38
    文章目录1、什么是UNIT?2、 专业术语3、几个概念对话系统分类4、UNIT整体流程5、多轮...UNIT(Understanding and Interaction Technology)是百度AI退出的可定制的对话开发系统。 开发文档中详细介绍了如何在UNI...
  • 百度Unit 2.0平台学习理解

    千次阅读 2018-07-31 09:49:34
    最近根据老师的项目,尝试了百度Unit的一些使用,结合相关参考文献,整理一下,主要是记录一下整个平台训练和使用的个人理解,为后面NLP理论研究做基础,不涉及具体的SDK代码和工程性讨论。 【注】由于UN...
  • 百度UNIT 机器人多轮对话技能创建以及API调用

    千次阅读 热门讨论 2019-03-01 11:10:13
    百度UNIT 机器人多轮对话技能创建以及API调用 基于百度UNIT2.0 版本,实现简单的多轮人机对话功能 创建机器人必备条件 确定有哪些技能 例如:查询天气、订票、讲故事等,以畅越冰激凌套餐营销话术为例 ...
  • 登录百度ai开放平台,申请百度unit智能聊天机器人,获取ak和sk密钥。 将密钥复制到chat.js对应处即可。 代码 https://github.com/1JasonZhang/WeChat-QA-Mini-Program-based-on-baidu-UNIT 测试小程序 ...
  • python调用百度Unit闲聊API实现多轮对话 import json import random import requests client_id='yWrjK1t3XhpEqCNnNt3aGYeX' client_secret='uu1RSQzhVmCWHGcP9pYxxcM4Phw8Aru4' def unit_chat(chat_input,user_id=...
  • 百度unit中,你需要配置各种对话模板,词槽词等,当然讯飞也一样的是这样的操作步骤。举例说明一下,比如你想做一个智能查天气的应用场景,一般我们会这样说:“我想查北京明天的天气”。其中的关键词比如地名:...
  • 因为网上不太有java的教学所以写一下以便以后用到或帮助大家一起理解第一步是注册机器人,官网:https://ai.baidu.com/unit/home。注册和测试技能官网都有,就不多做介绍。工具类:1.AuthServicepackagecom.ssx....
  • 一般都是固定场景的对话,刚好,百度近期推出了UNIT技术,感觉刚好可以实现功能,可能需求与UNIT技术功能不是十分匹配,但是可以满足当前项目需求,于是就花了一天多的时间研究了一下百度UNIT技术并总结了一下简单的...
  • 前言今天打算用python实现利用百度UNIT实现多轮对话时发现了一个问题,首先机器人已经创造完了,也给机器人加上了各种技能,但是在运行程序的时候总是给不到自己想要的回答,或者说给我已经设置好的答案的时候简直少...
  • 一般都是固定场景的对话,刚好,百度近期推出了UNIT技术,感觉刚好可以实现功能,可能需求与UNIT技术功能不是十分匹配,但是可以满足当前项目需求,于是就花了一天多的时间研究了一下百度UNIT技术并总结了一下简单的...
  • 百度UNIT平台

    千次阅读 2017-10-17 13:08:34
    ,重定向百度 UNIT 服务 3、 百度 UNIT 服务根据请求中携带的信息(太原周六有雨吗)和场景 ID ,识别意图、澄清词槽,返回 json 字符串。 4、 业务服务器根据 json 字符串中携带的信息(时间:周六;地点:...
  • 百度unit闲聊机器人

    2020-06-16 16:11:00
    import json import random import requests # client_id 为官网获取的AK, client_secret 为官网获取的SK client_id = "hIkC0fSxfQX17dGsbVcUGYzx" client_secret = "wluN6dVLGjUlnyvxtiSzQzchrHnv4...def unit_c...
  • 给出ros下使用百度UNIT快速搭建机器人对话系统的示例 套路上,在开放平台发布应用,都会有ak 和sk。用这两个k来获取与应用通迅用的token 我分两个节点实现功能 一个处理 获取token并发布。 一个等待token并...
  • 原标题:桔子互动|百度UNIT操作详解(上篇)作者:令狐曦文章简介:本篇文章对UNIT的操作和注意事项进行详细说明,内容包括:建立场景配置对话单元/问答单元/高级设置【配置对话单元】【配置问答单元】【更多设置】—...
  • 百度Unit学习笔记

    2018-09-16 10:45:32
    是您配置Bot技能、添加、标注对话样本,创建对话模板、导入问答集后通过unit平台内置的各种学习引擎训练出来的Bot核心文件,模型需生效至沙盒环境后才能发挥作用。 10.沙盒环境 沙盒环境是unit平台提供给您...
  • 百度UNIT 入门 一

    千次阅读 2018-03-20 11:29:36
    我也是新手 初步试验1.先创建一个场景2.创建单元3.创建对话样本4.训练与验证等他学习训练完成我们就可以在对话框哪里输入我们测试的文字 然后查看结果查询后 看他返回的信息 我们可以看得到 他这边已经帮你把想要...
  • 大佬们讲了一个下午,有技术的演讲,也有百度合作伙伴如何融合百度AI案例的演讲等等, 我这次比较关注的是百度语音和百度UNIT。 百度语音 百度语音有三大部分: 语音识别 语音合成 语音唤醒 ...
  • 百度Unit编辑对话意图

    2018-09-17 10:53:10
    1.答复:用于BOT做出固定答复的情况 2.引导至对话意图:用于进一步获取终端用户意图,引导至相应的对话意图,给用户更精准的答复 3.引导至问答意图:用于进一步获取终端用户意图,引导至相应的问答意图,通过...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 400
精华内容 160
关键字:

百度unit