DuerOS开放平台开发者使用CFC构建一个Custom-Skill
DuerOS 技能开放平台,英文全称 DuerOS Bots Platform,是 DuerOS 为第三方开发者提供的一整套技能开发、测试、部署工具的开放平台。第三方开发者可以在平台上,通过可视化界面,简单、高效地开发各类个性化技能。
本典型实践是指导 DuerOS 开放平台开放者用户使用 CFC 创建一个 Custom Skill。
开通 CFC 服务
导航路径:DuerOS 技能开放平台->控制台页面
- 使用百度账号登录 DuerOS技能开放平台,进入 控制台页面,点击 【创建新技能】。当前平台会进入独立的创建新技能页面,而不是弹窗。
- 在创建页面中完成技能信息配置。配置完成后,点击 【确定】。若页面提示“开发者认证未通过”,请先完成开发者认证并等待审核通过,再继续后续步骤。
- 进入技能基础信息页后,选择 【配置服务】,在服务类型中选择“百度智能云 CFC”,再点击 【使用链接】。在已登录百度智能云控制台账号的前提下,页面会直接进入 函数计算 CFC,后续即可在 CFC 控制台创建函数并完成服务绑定。

注意:
技能名称:技能名称是技能在小度技能商店中展现的名称,用户通过技能名称,快速辨识理解技能能力。
调用名称:技能在被用户调用时的名称,用户会通过表达“打开+调用名”进行使用技能 名称唯一:调用名称唯一,不能重复占用。
参考建议:清晰易辨识、避免同音词、避免使用生僻词组、避免复杂自创词汇、避免中文与英文数字混杂、不得带有“小度”或”小度小度”
商标占用:非企业认证用户不得使用品牌名称(及同音词)作为调用名,企业级认证用户仅能使用该公司品牌及旗下品牌作为调用名。
创建函数
函数的创建有两种方式,您可以根据自己的需求,任选一种方式开始您的函数创建。
从头创建函数
登录百度智能云平台官网。
导航路径:百度智能云控制台->云函数计算 CFC->函数列表

- 登录成功后,选择“产品服务 > 云函数计算 CFC”,进入“函数列表”页面,点击 【创建函数】,在创建向导中将 创建方式 切换为 空白函数,再点击 【下一步】 进入基础信息配置页。

1> **说明:**
2> 运行语言目前支持 Python 2.7、Python 3.6、Python 3.10、Node.js 8.5、Node.js 10、Node.js 12、Node.js 14、Node.js 16、Java8、Golang 1.x、PHP 7 等。
- 在 【基础信息】 页填写函数信息。当前控制台默认运行时已更新为
Node.js 22,未再提供原文中的Nodejs 6.11选项;运行时可选项请以页面实际显示为准。勾选 同意《百度智能云用户协议》 后,点击 【提交】 完成创建。 -
在创建成功页点击 【进入代码编辑页】,进入 【函数代码】 页后确认 编辑类型 为 在线编辑。当前页面会自动生成可执行的 Node.js 示例代码,您可以直接保存默认代码,也可以按业务需要替换为 DuerOS 技能示例逻辑。处理程序 保持为
index.handler。完成代码编辑后,点击 【保存】。Plain Text1let resp = { 2 "version" : "2.0", 3 "response" : { 4 "outputSpeech": { 5 "type" : "PlainText", 6 "text" : "你好,世界!", 7 }, 8 "shouldEndSession" : false 9 } 10} 11exports.handler = (event, context, callback) => { 12 callback(null, resp); 13}; - 在 环境变量 区域点击 【添加环境变量】,填写变量 Key 和 Value 后,点击 【确定】 保存。环境变量的总长度不能超过 4 KB。
- 切换到 【触发器】 页后,点击 【新增触发器】 查看当前账号可用的触发器类型。当前控制台下拉框中未显示原文中的
DuerOS 触发器选项;若页面未提供该类型,请先完成函数创建,后续通过技能平台的 BRN 方式完成绑定。
从模板创建函数
- 登录百度智能云平台官网。
导航路径:百度智能云控制台->云函数计算 CFC->函数列表
1
- 在“函数列表”页面点击 【创建函数】,进入创建页后确认 创建方式 为 从模板创建函数。

- 在 【蓝图选择】 区域选择页面当前提供的可用模板,再点击 【下一步】 进入函数配置。当前控制台模板列表未显示 DuerOS 相关模板时,请按页面可用模板继续创建。

- 在 【函数配置】 页填写函数名称,确认服务名称、运行时和模板默认代码后,勾选 同意《百度智能云用户协议》,再点击 【提交】 完成创建。

测试你创建的函数
导航路径:百度智能云控制台->云函数计算 CFC->函数列表
1
- 在目标函数所在行点击 【测试】。如果您已进入函数基本信息页或函数代码页,也可以点击页面中的 【测试】 打开同一测试弹窗。

- 在 【测试事件】 弹窗中,将编辑器内容替换为
DuerOSStartSession类型的测试事件 JSON,用于模拟技能启动会话请求。

查询函数BRN
导航路径:百度智能云控制台->云函数计算 CFC->函数列表
-
在“函数列表”页面点击目标函数名称,进入函数详情页后查看 BRN 字段;如需在其他平台绑定使用,可点击复制按钮获取该值。

绑定 DuerOS 技能 和 CFC 函数
导航路径:DuerOS 技能开放平台->控制台页面->技能详情->配置服务
-
返回 DuerOS 技能的设置界面,接入方式选择 BRN(Baidu Resource Name),在 BRN 输入框中填写在百度智能云中的资源名,即可完成绑定。
注意: 如果选择不回调,将无法使用 DBP 平台的技能数据统计的能力。
- 在 DuerOS 技能平台 【配置服务】 界面,是否回调 列选择执行回调。
- 创建意图,点击导航栏中的 【意图】 进入意图详情页面,然后选择 【创建意图】 进入创建意图界面。
-
按要求填写意图信息,并按参数表补充意图中文名称与意图标示名。

注意: 意图中文名称:用户调用创建事件意图时使用的意图名称。 意图标示名:用户在函数创建时代码中所写的对应调用事件的名称。
- 词典,词典分为自定义词典和系统词典。自定义词典是指开发者根据需求创建的词典。系统词典是对一些通用领域的词汇进行整理的词典,如城市词典、计量单位词典、等,开发者可以直接使用。自定义词典可以参考 DuerOS词典,系统词典使用可以参考 DuerOS系统词典
-
配置常用表达。您可以根据创建函数的用处,输入运行函数的常用表达语句,本典型实践以“查询个税”这个程序为例,进行演示。

注意: 系统会自动对您输入的文字中的城市名称和收入金额进行槽位标记,如果标记不符合您的业务需求,您可以在输入的文字中选择您想要标记的文字,在弹出的窗口中选择“添加词典”,进行自主标记。
- 在技能回复中选择“服务配置满足”,然后点击 【保存】 完成“查询个税”事件的创建。
测试 DuerOS 技能
导航路径:DuerOS 技能开放平台->控制台页面->技能详情->配置服务
- 使用百度账号登录 DuerOS技能开放平台。
- 选择需要测试的自定义技能名称,进入技能详情页面,在导航栏中选择 【配置服务】,进入测试页面。
-
在输入框中输入“打开 + 调用名称”打开事件,然后输入想要查询个税的金额或者城市,进行个税查询。

说明:
当用户说“我想查个税”时,DuerOS 会发送 IntentRequest 消息,技能处理消息时,确认意图信息,发现没有工资(sys.number)和城市(sys.city)信息,所以进行槽位追问。
当用户说“我工资 8000”,DuerOS 会发送 IntentRequest 消息,技能记录下工资(sys.number),发现没有城市(sys.city)信息,所以继续追问。
当用户说“我在北京”,DuerOS 会发送 IntentRequest 消息,技能记录下城市(sys.city)信息,并确认已经获得完整的用户请求信息,开始处理用户请求,并向用户返回处理结果。
评价此篇文章
