zoukankan      html  css  js  c++  java
  • 京东Alpha平台开发笔记系列(二)

      第一篇博文简单讲了一下京东Alpha平台与个人idea技能,本篇将讲解Alpha平台与个人开发需要的一些知识,下面开篇

      ——》》》

      上图就是京东Alpha技能平台的首页,Skill平台(技能平台),官方介绍:

        Alpha技能的开发平台,提供全套的自助式开发工具;帮开发者轻松,快速地将服务集成到Alpha平台,使用户通过自然语言即可获取服务,并通过Alpha赋能智能设备或手机应用,帮开发者获得亿级智能场景用户,从移动服务向AI服务升级。

        说白了就是智能音箱的小应用。

        点击控制台即可进入控制台界面:

        如上图进入之后就可以创建新的技能了。新创建技能后需要根据自己的需求添加意图,意图需要话术支持,话术则是由槽和槽值来实现的,所以需要自己添加槽位以及槽值,这时你也可以调用系统的槽值。系统提供的意图有:

        Alpha.CancelIntent:包含类似“退出”等话术的意图,用于中断正在进行的请求或服务并退出意图(为保证用户最低体验,该意图不可删除)  

        Alpha.HelpIntent :包含类似“帮助”等话术的意图,用于帮助用户了解如何使用您的技能(为保证用户最低体验,该意图不可删除)        

        Alpha.NextIntent :包含类似“下一条”等话术的意图,用于指向并获取下一个需要的内容       

        Alpha.RepeatIntent:包含类似“重复”等话术的意图,用于重新获取当前内容

        Alpha.ResumeIntent:继续恢复

        Alpha.DefaultIntent:当 Alpha 接收到用户请求后,如果无法解析,则直接将该请求发送给技能,由技能自己进行分析处理

        Alpha.PauseIntent:暂停播放

        Alpha.LoopOffIntent:循环播放关

        Alpha.LoopOnIntent:循环播放开

        Alpha.PreviousIntent:上一首/曲/个

        Alpha.ShuffleOffIntent:随机播放关

        Alpha.ShuffleOnIntent:随机播放开

        Alpha.StartOverIntent:重新播放

        内置槽位:

        新建意图

       如下图,在新建意图中添加槽位,这里槽位名称需要自己填写,槽位类型可选自己自定义的类型也可选择内置类型,这里就选择了内置的日期类型和数字类型,意图话术中 就是编写一句话术,使用户在说含有这些槽值的话术时触发此意图。例:今天花了20元。此句话就触发了本话术,于是就发出意图请求。发出的请求以post方式发送,数据以json格式发送给服务器,所以实现此应用还需要搭建一台服务器(小编使用的是腾讯云服务器,然后自己搭建服务器(Xampp——Mysql+tomcat+appach),然后使用eclipse建立一个web工程,用servlet方式处理请求即可)。

        下面分析数据协议:

        官方文档:http://alphadev.jd.com/Docs/skillCreate#shujuxieyi

        我的请求:

    //首次建立会话
    {
      "request": {
        "dialogState": "STARTED", 
        "requestId": "debf33c1-7fdb-4417-b015-3313568bad7e_1310_test", 
        "timestamp": 1534340485603, 
        "type": "LaunchRequest"				//会话正式开始
      }, 
      "session": {
        "application": {
          "applicationId": "jd.alpha.skill.c570c43sxsxa158c74abcb2e673fd06d680af"
        }, 
        "device": {
          "deviceId": "deviceId_a4f5b13d80xsce46abbf73ssxa31877d1e025_dev_test"
        }, 
        "isNew": true, 
        "sessionId": "xxxxcec8xxx1960-3a35-45ce-917d-0a1d1c2x80b04", 
        "user": {
          "userId": "jd.account.xxxx3d8axd78643xxx18eb3b0202303b09910281"
        }
      }, 
      "version": "1.0"
    }
    

      带有意图的请求:

    //价格查询服务
    {
      "request": {
        "dialogState": "IN_PROGRESS", 
        "intent": {
          "confirmResult": "NONE", 
          "name": "MainQuery",                 //服务请求名称
          "slots": {
            "Date": {
              "confirmResult": "NONE", 
              "matched": true, 
              "name": "今天"            //符合条件的槽值
            }, 
            "Number": {
              "confirmResult": "NONE", 
              "matched": true, 
              "name": "20"
            }
          }
        }, 
        "requestId": "6e293729-56dd-47c9-a53b-abc55999ae57_1310_test", 
        "timestamp": 1534340380605, 
        "type": "IntentRequest"          //请求类型
      }, 
      "session": {
        "application": {
          "applicationId": "jd.alpha.skill.c570c431dses58c74abcb2e673fd06d680af"
        }, 
        "contexts": { }, 
        "device": {
          "deviceId": "deviceId_696caff960fa4a5f93sdde9e434c2abedad3_dev_test"
        }, 
        "isNew": false, 
        "sessionId": "14deca02-9293-406b-9318-94dsd6949a1409", 
        "user": {
          "userId": "jd.account.3d8ad7864318eb3bdfdsf0202303b09910281"
        }
      }, 
      "version": "1.0"
    }

          

      更多话术请求json数据形式有待大家发现运用,详细仔细参考官方数据协议。

      下一篇介绍服务器端的搭建以及通讯流程及处理步骤。

      点击这里直接跳转上一篇>>>>>>

        

  • 相关阅读:
    docker as engitor及云构建devops选型
    elmlang:一种编码和可视化调试支持内置的语言系统
    engitor:基于jupyter,一个一体化的语言,IDE及通用分布式架构环境
    【Heritrix基础教程之3】Heritrix的基本架构
    Eclipse 快捷键大全
    【Heritrix基础教程之2】Heritrix基本内容介绍
    【Heritrix基础教程之1】在Eclipse中配置Heritrix
    Berkeley DB基础教程
    【搜索引擎Jediael开发笔记】v0.1完整代码
    【搜索引擎Jediael开发笔记】V0.1完整代码
  • 原文地址:https://www.cnblogs.com/Dainelcw/p/JDAlphaTwice.html
Copyright © 2011-2022 走看看