天天看點

天貓精靈與雲開發平台在一起,零門檻打造你的私人暖心小管家

寵你就要給你每個季節的溫暖。俗話說“人生如戲,秋如四季”,在這個氣溫多變的季節裡,雲開發平台要你一直溫暖相伴!語音技能相信大家都不陌生,誰還沒有一個AI音箱呢。不過多數時候大家都是拿AI音箱當音樂播放器使了,還沒有把這個金礦給利用出來。其實市面上的AI音箱都能夠定制開發語言技能,讓AI聽你的話,比如說現在有聽故事的、放音樂的。但是由于之前技能的開發比較麻煩,你需要提前花上近千元買好伺服器準備好,想0基礎0門檻上線一個技能簡直是太難了。

雲開發快速部署後端服務,0門檻上線定制技能

雲開發平台跟天貓精靈應用平台合作推出天貓精靈語音技能雲開發新功能。幫助大家無需購買伺服器0門檻建立和上線個性化AI語音技能,動動手指就能夠打造你的私人暖心小管家。

  1. 頂部導航欄中選擇後端服務,并在左側導航欄中選擇服務部署。
天貓精靈與雲開發平台在一起,零門檻打造你的私人暖心小管家
  1. 單擊編輯部署,選擇 阿裡雲雲原生開發 的方式,點選關聯阿裡雲賬号;
天貓精靈與雲開發平台在一起,零門檻打造你的私人暖心小管家
  1. 選擇阿裡雲賬号的登入方式。使用第一步建立和登入的阿裡雲賬号登入即可。
天貓精靈與雲開發平台在一起,零門檻打造你的私人暖心小管家
  1. 登入後在團隊注冊頁翻到頁面底部,單擊同意授權,授權後單擊下一步;
天貓精靈與雲開發平台在一起,零門檻打造你的私人暖心小管家

5. 雲服務管理。檢視所需雲服務的名稱和狀态,依次開通所需要的雲服務直到4個服務都是已開通狀态,點選完成并傳回按鈕。

天貓精靈與雲開發平台在一起,零門檻打造你的私人暖心小管家

6. 傳回到技能應用平台後,确認4個雲服務資源均已開通,然後點選建立技能應用按鈕;

天貓精靈與雲開發平台在一起,零門檻打造你的私人暖心小管家

7. 選擇開發語言和開發模闆進行建立,這裡以 Java 空白模闆為例 建立應用;

天貓精靈與雲開發平台在一起,零門檻打造你的私人暖心小管家

8.建立應用後,點選儲存按鈕儲存阿裡雲伺服器配置;

天貓精靈與雲開發平台在一起,零門檻打造你的私人暖心小管家

9.點選前往開發,跳轉雲阿裡雲雲開發平台;

天貓精靈與雲開發平台在一起,零門檻打造你的私人暖心小管家

10. 跳轉到阿裡雲開發平台後,會自動進入 CloudIDE,平台會自動生成模闆代碼,檢視代碼路徑:src/main/GenieEntry.java,您可以直接在示例代碼上進行開發;

天貓精靈與雲開發平台在一起,零門檻打造你的私人暖心小管家

将下列示例代碼複制到GenieEntry.java檔案中,替換原有的模闆代碼;

示例代碼:

package com.alibaba.ailabs;

import com.alibaba.ailabs.common.AbstractEntry;
import com.alibaba.da.coin.ide.spi.meta.AskedInfoMsg;
import com.alibaba.da.coin.ide.spi.meta.ExecuteCode;
import com.alibaba.da.coin.ide.spi.meta.ResultType;
import com.alibaba.da.coin.ide.spi.standard.ResultModel;
import com.alibaba.da.coin.ide.spi.standard.TaskQuery;
import com.alibaba.da.coin.ide.spi.standard.TaskResult;
import com.alibaba.fastjson.JSON;
import com.aliyun.fc.runtime.Context;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;

/**
 * @Description 天貓精靈技能函數入口,FC
 *              handler:com.alibaba.ailabs.GenieEntry::handleRequest
 * @Version 1.0
 **/
public class GenieEntry extends AbstractEntry {

  @Override
    public ResultModel<TaskResult> execute(TaskQuery taskQuery, Context context) {
        context.getLogger().info("taskQuery: " + JSON.toJSONString(taskQuery));
        // ResultModel<TaskResult> res = new ResultModel<>();
        TaskResult taskResult = new TaskResult();
        // 從請求中擷取意圖參數以及參數值
        Map<String, String> paramMap = taskQuery.getSlotEntities().stream().collect(Collectors.toMap(slotItem -> slotItem.getIntentParameterName(), slotItem -> slotItem.getOriginalValue()));
         //處理名稱為 welcome 的意圖
        if ("welcome".equals(taskQuery.getIntentName())) {
             taskResult.setReply("歡迎使用天氣小蜜,使用小蜜可以查詢天氣喲");
            //處理名稱為 weather 的意圖
        } else if ("weather".equals(taskQuery.getIntentName())) {
            //weather 意圖中 date 參數勾選了必選,請求資料中一定會攜帶 date 參數,隻需要判斷 city 參數有沒有。
            if (paramMap.get("city") == null) {
                taskResult.setReply("您要查詢哪個城市的天氣?");
                return askReply(taskResult, "city", taskQuery.getIntentId());
            }
            //TODO 根據參數擷取天氣資訊,這裡使用假資料替代
           taskResult.setReply(paramMap.get("city") + paramMap.get("sys.date(公共實體)") + "天氣 晴");

            //處理名稱為 ari_quality 的意圖
        }else {
            taskResult.setReply("請檢查意圖名稱是否正确,或者新增的意圖沒有在代碼裡添加對應的處理分支。");
        }
        return reply(taskResult);
      }

    /**
     * 結束對話的回複,回複後音箱閉麥
     */
      private ResultModel<TaskResult> reply(TaskResult taskResult) {
        ResultModel<TaskResult> res = new ResultModel<>();
        taskResult.setExecuteCode(ExecuteCode.SUCCESS);
        taskResult.setResultType(ResultType.RESULT);
        res.setReturnCode("0");
        res.setReturnValue(taskResult);
        return res;
    }
    /**
     * 指定追問參數,音箱自動開麥,使用者的回答優先比對追問的參數
     */
      private ResultModel<TaskResult> askReply(TaskResult taskResult, String parameterName, Long intentId) {
        ResultModel<TaskResult> res = new ResultModel<>();
        taskResult.setExecuteCode(ExecuteCode.SUCCESS);
        taskResult.setResultType(ResultType.ASK_INF);
        AskedInfoMsg askedInfoMsg = new AskedInfoMsg();
        askedInfoMsg.setIntentId(intentId);
        askedInfoMsg.setParameterName(parameterName);
        List<AskedInfoMsg> askedInfos = new ArrayList<>();
        askedInfos.add(askedInfoMsg);
        taskResult.setAskedInfos(askedInfos);
        res.setReturnValue(taskResult);
        return res;
    }
}           

11. 送出完成後要選擇部署環境,打開 CloudIDE 左側的 部署調試插件,進入到部署面闆,選擇預發環境進行部署;

天貓精靈與雲開發平台在一起,零門檻打造你的私人暖心小管家

5分鐘零基礎打造你的私人暖心小管家,領阿裡雲定制衛衣

有了雲開發平台,可以快速上線你的定制技能,不用受限于伺服器等資源。讓你的AI音箱,可以在秋季提醒你天氣的變化,及時加減衣物,在你疲憊的時候可以推薦一部溫暖治愈的電影讓你放松放松。不會寫代碼?都有現成的保姆式文檔,跟着文檔5分鐘輕輕松完成。

這還沒完哦,天氣轉涼,秋天的第一杯奶茶喝過了, 秋天的第一件衛衣你們買了嗎?打造完的小管家還要送你秋天的第一件衛衣,陪你度過一個微暖的秋季。阿裡雲雲開發平台這裡為各位粉絲們準備了1000件寵粉禮,粉絲們僅需5分鐘完成2個任務中的任意一個就能夠拿到我們為粉絲們準備的寵粉禮,讓這份寵粉禮溫暖粉絲們的整個秋天!最後有一句話想對你們說:天氣多變,寵“AI”你們的心不變!

天貓精靈與雲開發平台在一起,零門檻打造你的私人暖心小管家
天貓精靈與雲開發平台在一起,零門檻打造你的私人暖心小管家

體驗還不過瘾,實戰營等你來踢館!

10月18号開始我們邀請天貓精靈智能應用平台的大神們手把手教大家開發技能,從歡迎語的實作到、單輪對話、多輪對話、有屏音箱技能了解技能開發的方方面面嗎,同時還有一個小百科的全實戰演練,你可以改成你的畫畫小百科、廚藝小百科、數學小百科等等,是不是很期待啊?!直接在活動頁面報名即可。

天貓精靈與雲開發平台在一起,零門檻打造你的私人暖心小管家

獲獎方式與活動時間

活動頁面:

https://workbench.aliyun.com/activities/aligenie

9月22日到9月30日,僅需完成頁面上的2個任務中的任意一個即可領取呦!定制衛衣會在每個工作日的10點補充到150件,這周日也是工作日,那就也會照常補貨哦。當天沒有領到的同學也不要着急,第二天10點重新補貨後可以直接領取的!

繼續閱讀