本文為您介紹如何使用 ASW 編排云函式與 AI 產品服務,快速搭建一個 AI 智能識別的處理流水線,通過 ASW 編排呼叫騰訊云 AI 能力,完成 活體檢測、語音識別、關鍵字采樣、自動審核 等一系列自動化識別認證流程,提供開箱即用、靈活便捷、高彈性高可用的 AI 智能識別處理場景,
尤其適合社區人臉識別,金融交易人臉支付,智能線上開戶等 AI 人工智能場景,
01. ASW 作業流 - 「AI 識別」系統架構
在「智能線上開戶」的場景中,用戶在應用客戶端登錄,客戶端將用戶視頻采集后上傳到 COS,通過 COS 觸發函式調起 ASW 作業流執行智能識別處理流程,ASW 呼叫 AI 活體人臉,完成活體人臉識別,通過后由云函式向應用服務端推送語音播報(例如播報某個驗證問題),
推送成功后通過與服務端連接,調起客戶端錄音能力對用戶進行錄音,將錄音結果進行 AI 語音識別處理,處理后生成對應文字,通過關鍵字判斷用戶問題作答的正確情況,通知服務端處理判斷結果,完成整個智能線上開戶場景,
02. ASW 方案 VS 傳統方案
通過以上對比,ASW 編排的優勢如下:
- ASW 作業流使用 TCSL 定義編排,語法簡單,降低學習和使用成本,極大程度上縮短了專案周期,加快開發部署,
- ASW 作業流可以實作高度自定義的作業流流程,能適應快速變化的業務訴求,編排更新無需運維維護,為業務的持續更新提供了快速迭代的能力,
- ASW 作業流提供了友好的界面互動視圖,在運行除錯的程序中,能快速定位問題,
- ASW 作業流目前仍為免費階段,無需承擔服務器/集群相關費用,
03. 如何創建「AI 識別」作業流編排 - 方案示例
接下來將為大家介紹一個「智能在線開戶」的 ASW 作業流編排流程,
用戶登錄客戶端后,進入開戶流程,根據開戶流程的提示,采集用戶視頻及語音,然后將采集的音視頻進行 AI 處理分析,最后輸出開戶成功或失敗的結果,
這個程序中涉及資源如下:
-
Serverless 云函式:
-
- push-video 用于給應用服務端推送某個音視頻問題,
- record-request 用于向應用服務端發起錄制任務請求,
- check-result 用于分析語音識別的結果,
-
騰訊云 AI 能力:
-
- 活體人臉檢測,用于驗證用戶的身份資訊:https://cloud.tencent.com/document/product/1007/31818
- 語音識別,用于將用戶的回答識別成文字:https://cloud.tencent.com/document/product/1093/37823
-
COS 物件存盤:用于存盤中間錄制的音視頻,
-
ASW 作業流:AI 處理分析的作業流,其中每個節點將編排對應功能的云函式或 AI 服務,
-
運行角色:用于運行 AI 處理分析作業流,
1. 創建作業流
1. 創建作業流
- 登錄 應用與編排服務流控制臺,在作業流頁面,單擊「新建」,進入創建作業流頁面,
- 控制臺地址:https://console.cloud.tencent.com/asw
-
選擇 「代碼創建」,定義作業流,代碼示例 見下方,
-
點擊「下一步」,在「配置基本資訊」頁面填寫相關基本資訊,點擊「完成」,即可成功創建作業流,
以下代碼僅作為示例告知所涉及資源,作業流節點涉及呼叫的資源,需按業務需求進行創建和改造;
作業流定義涉及的語法請參考:https://cloud.tencent.com/document/product/1272/51544;
在使用創建程序中,如需更多支持幫助,請加入下方「ASW 用戶交流群」,與我們聯系,
代碼示例如下:
{
"Comment": "AI處理流水線",
"StartAt": "Recognition",
"TimeoutSeconds": 1000,
"States": {
"Recognition": {
"Type": "Task",
"Comment": "活體人臉",
"Parameters": {
"Idcard": "11204416541220243X",
"Name": "韋小寶",
"VideoBase64": "<VideoBase64>",
"LivenessType": "SILENT"
},
"Resource": "qrn:qcs:asw:ap-guangzhou:123456789:sdk:json:qcloud:faceid:LivenessRecognition",
"Next": "CheckRecognition"
},
"CheckRecognition": {
"Type": "choice",
"Comment": "校驗活體人臉是否成功",
"Choices": [{
"Variable": "$.Result",
"StringEquals": "Success",
"Next": "PushVideo"
}],
"Default": "Fail"
},
"PushVideo": {
"Type": "Task",
"Comment": "語音播報",
"Resource": "qrn:qcs:asw:ap-guangzhou:123456789:sdk:json:qcloud:scf:Invoke/push-video",
"Next": "RecordRequest"
},
"RecordRequest": {
"Type": "Task",
"Comment": "錄制請求",
"Resource": "qrn:qcs:asw:ap-guangzhou:123456789:sdk:json:qcloud:scf:Invoke/record-request",
"Next": "Asr"
},
"Asr": {
"Type": "Task",
"Comment": "語音識別",
"Resource": "qrn:qcs:asw:ap-guangzhou:1253970226:sdk:json:qcloud:asr:CreateRecTask",
"Parameters": {
"EngineModelType": "16k_zh",
"ChannelNum": 1,
"ResTextFormat": 0,
"SourceType": 0,
"Url.$": "$[0].value[0]"
},
"OutputPath": "$.Response.Data",
"Next": "CheckAsr"
},
"CheckAsr": {
"Type": "Task",
"Comment": "獲取語音識別結果",
"Resource": "qrn:qcs:asw:ap-guangzhou:1253970226:sdk:json:qcloud:asr:checkASR",
"Parameters": {
"TaskId.$": "$.TaskId"
},
"Next": "VerifyTask"
},
"VerifyTask": {
"Type": "Task",
"Comment": "函式判斷執行的語音結果是否正確",
"Resource": "qrn:qcs:asw:ap-guangzhou:123456789:sdk:json:qcloud:scf:Invoke/verify-result",
"End": true
},
"Fail": {
"Type": "Task",
"Comment": "錯誤處理",
"Resource": "qrn:qcs:asw:ap-guangzhou:123456789:sdk:json:qcloud:scf:Invoke/task-fail",
"End": true
}
}
}
2. 運行作業流
「運行作業流」操作流程請參考 《使用 ASW 作業流編排函式》中 03.3 的講解,
ASW 作業流是一個用來協調分布式任務執行的編排產品,根據騰訊云狀態語言定義來編排分布式任務和服務,作業流會按照設定好的順序可靠地協調執行,將云函式與多個騰訊云服務按步驟進行調度,通過低代碼配置,就可以完成開發和運行業務流程所需要的任務協調、狀態管理以及錯誤處理等繁瑣作業,
識別下方 ?? 二維碼,即可加入騰訊云 ASW 交流群,
One More Thing
立即體驗騰訊云 Serverless Demo,領取 Serverless 新用戶禮包 ?? 騰訊云 Serverless 新手體驗
歡迎訪問:Serverless 中文網!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/288787.html
標籤:其他
上一篇:Mac使用終端玩小游戲
下一篇:使用API網關,理順你的業務邏輯
