《人工智能開放服務(wù)能力集成規(guī)范》_第1頁
《人工智能開放服務(wù)能力集成規(guī)范》_第2頁
《人工智能開放服務(wù)能力集成規(guī)范》_第3頁
《人工智能開放服務(wù)能力集成規(guī)范》_第4頁
《人工智能開放服務(wù)能力集成規(guī)范》_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

T/CESXXXXXXX

-

1范圍

本標(biāo)準(zhǔn)規(guī)定了放服務(wù)能力接入的術(shù)語與定義、認(rèn)證方式及服務(wù)接口說明,移動端智能交

互對話機(jī)器人業(yè)務(wù)接入的術(shù)語和定義、觸發(fā)的動作和支持的消息種類。

本標(biāo)準(zhǔn)適用于移動端智能交互開放服務(wù)能力的接入與應(yīng)用,移動端智能交互對話機(jī)器人

接入業(yè)務(wù)場景,指導(dǎo)業(yè)務(wù)開發(fā)人員完成業(yè)務(wù)集成工作。

2規(guī)范性引用文件

下列文件對于本文件的應(yīng)用是必不可少的。凡是注日期的引用文件,僅所注日期的版本

適用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改單)適用于本文件。

GB/T1.1-2020標(biāo)準(zhǔn)的結(jié)構(gòu)和編寫

IETFRFC2616超文本傳輸協(xié)議HTTP/1.1(HypertextTransferProtocol--HTTP/1.1)

IETFRFC5849TheOAuth2.0AuthorizationFramework

3術(shù)語和定義

下列術(shù)語和定義適用于本文件。

3.1

對話機(jī)器人ConversationalAI

移動端智能交互對話機(jī)器人的簡稱,又稱為聊天機(jī)器人,用來模擬人類對話或聊天的程

序,識別用戶輸入信息的意圖,并作出合理的反應(yīng)。

3.2

用戶user

使用對話機(jī)器人的個人或者業(yè)務(wù)系統(tǒng),在本文件中一般指個人。

3.3

業(yè)務(wù)定義businessdefinition

規(guī)范對話機(jī)器人能夠識別與處理的業(yè)務(wù)內(nèi)容,處理用戶輸入返回用戶希望的結(jié)果。例如

用戶輸入“明天上午九點(diǎn)半?yún)⒓硬块T例會”,對話機(jī)器人調(diào)用日程系統(tǒng)的數(shù)據(jù)接口生成日程,

給用戶返回新增的日程信息。

3.4

動作action

業(yè)務(wù)定義重要的組成部分,規(guī)定對話機(jī)器人對用戶輸入的直接反應(yīng),包括REST動作,

消息發(fā)送動作等。

3.5

消息message

用戶與對話機(jī)器人交互的信息載體,包括文本消息、音頻消息、圖片消息、視頻消息。

3.6

數(shù)據(jù)接口datainterface

對話機(jī)器人與業(yè)務(wù)系統(tǒng)交換數(shù)據(jù)的接口,一般是REST接口,采用HTTP協(xié)議。

3.7

業(yè)務(wù)系統(tǒng)businesssystem

滿足企業(yè)或個人某些需求的系統(tǒng)程序,在本標(biāo)準(zhǔn)中業(yè)務(wù)系統(tǒng)為對話機(jī)器人提供數(shù)據(jù)接

口,完成業(yè)務(wù)場景集成。

3.8

EL表達(dá)式ELexpression

表達(dá)式語言,簡稱EL(ExpressionLanguage),是一種特殊用途的編程語言,用于訪問

數(shù)據(jù)對象屬性、調(diào)用對象方法,真假結(jié)果計算。

1

T/CESXXXXXXX

-

3.9

RESTRepresentationalStateTransfer

REST即表述性狀態(tài)傳遞是一種軟件架構(gòu)風(fēng)格。它是一種針對網(wǎng)絡(luò)應(yīng)用的設(shè)計和開發(fā)方

式,可以降低開發(fā)的復(fù)雜性,提高系統(tǒng)的可伸縮性。

3.10

URLUniformResourceLocator

統(tǒng)一資源定位系統(tǒng)是因特網(wǎng)的萬維網(wǎng)服務(wù)程序上用于指定信息位置的表示方法。

3.11

OAuth2.0OAuthprotocol

開放授權(quán)標(biāo)準(zhǔn)協(xié)議OAuth的第二個版本。

3.12

GroovyGroovyscriptinglanguage

Groovy是用于Java虛擬機(jī)的一種敏捷的動態(tài)語言,用作純粹的腳本語言。

3.13

SM4SM4blockcipheralgorithm

國家密碼管理局頒布的對稱加密算法。

3.14

BearerBearerAccessToken

Bearer訪問令牌是OAuth2.0協(xié)議規(guī)定的一種訪問令牌類型。

3.15

自動語音識別技術(shù)AutomaticSpeechRecognition

自動語音識別技術(shù)(AutomaticSpeechRecognition),簡稱ASR,是一種將人的語音轉(zhuǎn)

換為文本的技術(shù)。

3.16

短語音ShortVoice

短語音通常為一分鐘以內(nèi)的語音信息。此類語音信息通常的應(yīng)用場景為實(shí)時交互場景,

如:語音搜索、語音命令、語音短消息等。

3.17

長語音LongVoice

長語音通常為超過一分鐘的語音信息。此類語音信息通常不要求實(shí)時性,應(yīng)用場景通常

為生成字幕、會議紀(jì)要等內(nèi)容。

3.18

自然語言NaturalLanguage

自然語言通常是指一種自然地隨文化演化的語言,是人類交流和思維的主要工具。

3.19

自然語言處理NaturalLanguageProcessing

通常而言,機(jī)器及應(yīng)用程序是無法理解自然語言中蘊(yùn)含的各類信息,這時就需要通過自

然語言處理程序進(jìn)行分析處理,從而使得計算機(jī)對其能夠可讀并理解。自然語言處理是一個

大范圍的概念,根據(jù)業(yè)務(wù)維度通常有意圖識別等。

3.20

意圖Intention

指一段自然語言文本信息中,用戶所表達(dá)的想要達(dá)到的某種目的。

3.21

意圖識別IntentionRecognition

2

T/CESXXXXXXX

-

通過技術(shù)手段識別出一段自然語言文本信息中,用戶想要達(dá)到的某種目的,這種技術(shù)稱

之為意圖識別。

3.22

光學(xué)字符識別技術(shù)OpticalCharacterRecognition

圖像識別技術(shù)它是指對圖像進(jìn)行對象識別,以識別各種不同模式的目標(biāo)和對像的技術(shù)。

本標(biāo)準(zhǔn)中主要用于識別圖像中但文本內(nèi)容與坐標(biāo)。

3.23

JavaScript對象表示法JavaScriptObjectNotation

JavaScript對象表示法,即JSON,是一種輕量級的數(shù)據(jù)交換格式。易于人閱讀和編寫,

可以在多種語言之間進(jìn)行數(shù)據(jù)交換。同時也易于機(jī)器解析和生成。

3.24

超文本傳輸協(xié)議HyperTextTransferProtocol

超文本傳輸協(xié)議,即HTTP,是一個簡單的請求-響應(yīng)協(xié)議,它通常運(yùn)行在TCP之上。

它指定了客戶端可能發(fā)送給服務(wù)器什么樣的消息以及得到什么樣的響應(yīng)。

3.25

二維碼2-DimensionalBarCode

二維碼,是用某種特定的幾何圖形按一定規(guī)律在平面(二維方向上)分布的、黑白相間

的、記錄數(shù)據(jù)符號信息的圖形。最常見的二維碼有QRCode(快速響應(yīng)碼,即QuickResponse

Code)等。

4整體結(jié)構(gòu)

用戶使用移動終端即時通訊能力,向?qū)υ挋C(jī)器人發(fā)送消息。消息可以是一段文本,例如

“查詢我的日程安排”,也可以采用更便捷的語音交互方式。另外支持圖片和視頻消息,多

運(yùn)用在圖像識別和視頻分析等業(yè)務(wù)場景,例如設(shè)備二維碼圖片掃一掃查看設(shè)備詳細(xì)信息運(yùn)用

了圖像識別二維碼技術(shù)。

對話機(jī)器人收到用戶發(fā)送的消息,先調(diào)用意圖識別模塊識別用戶的意圖,判斷用戶想干

什么,獲得前期定義的意圖編碼和動作編碼。對話機(jī)器人根據(jù)意圖編碼觸發(fā)業(yè)務(wù)定義,如果

未匹配上業(yè)務(wù)定義應(yīng)該給用戶返回一個友好的提示信息。

對話機(jī)器人在觸發(fā)業(yè)務(wù)定義時,根據(jù)動作編碼匹配業(yè)務(wù)定義中的動作。如果匹配上REST

動作,根據(jù)REST動作規(guī)范構(gòu)建HTTP請求對象,調(diào)用業(yè)務(wù)系統(tǒng)的數(shù)據(jù)接口,接口調(diào)用完成后,

需要觸發(fā)消息發(fā)送動作回復(fù)處理結(jié)果。例如“查詢我的日程安排”業(yè)務(wù)場景中,意圖識別為

查詢?nèi)粘瘫恚瑢υ挋C(jī)器人調(diào)用日程系統(tǒng)的查詢結(jié)果,將查詢的日程表數(shù)據(jù)采用文本消息發(fā)送

到用戶移動終端,用戶即可查看日程安排信息。

3

T/CESXXXXXXX

-

圖1整體結(jié)構(gòu)圖

不是所有的對話交互場景都是一問一答型的,其中相當(dāng)一部分的業(yè)務(wù)場景需要多輪對話

交互才能完成。示例“查詢我的日程安排”也可以是多輪對話類型的,在第一輪對話時對話

機(jī)器人會詢問用戶想查詢幾號的日程安排,在這一輪對話中只需要發(fā)送消息給用戶。第二輪

對話用戶需要輸入“明天”,對話機(jī)器人提取查詢時間實(shí)體數(shù)據(jù),在調(diào)用接口時將查詢時間

作為查詢參數(shù)發(fā)送給業(yè)務(wù)系統(tǒng)數(shù)據(jù)接口。最后將查詢的日程表數(shù)據(jù)采用文本消息發(fā)送到用戶

移動終端,用戶即可查看日程安排信息。

5數(shù)據(jù)模型

數(shù)據(jù)模型為業(yè)務(wù)動作的執(zhí)行提供基礎(chǔ)數(shù)據(jù),也用于緩存持有動作執(zhí)行的結(jié)果數(shù)據(jù)。數(shù)據(jù)

模型是有多個鍵值對構(gòu)成的Map數(shù)據(jù)結(jié)構(gòu),其中“l(fā)ucas_”開頭的鍵作為內(nèi)置鍵,提供了以

下內(nèi)置鍵值對:

表1數(shù)據(jù)模型內(nèi)置鍵值對

鍵名稱值類型描述

lucas_userId字符串類型用戶身份標(biāo)識主鍵

lucas_resultMap或字符串類型意圖識別實(shí)體提取的結(jié)果

lucas_currentDatetimeDate類型當(dāng)前時間

lucas_constantsMap類型業(yè)務(wù)定義中的常量

在業(yè)務(wù)定義中可以通過表達(dá)式語言使用數(shù)據(jù)模型中的數(shù)據(jù),例如使用表達(dá)式

“${lucas_userId}”獲得用戶身份標(biāo)識的值。

6業(yè)務(wù)定義

業(yè)務(wù)定義規(guī)范了智能交互對話中消息、意圖識別、動作(業(yè)務(wù)邏輯)三者的關(guān)系和處理

流程,業(yè)務(wù)定義的終極目的就是根據(jù)意圖識別觸發(fā)動作的執(zhí)行,使用消息回復(fù)處理結(jié)果,完

成業(yè)務(wù)功能場景,例如“查詢我的日程安排”。業(yè)務(wù)定義文件采用JSON格式表示和存儲。

業(yè)務(wù)定義必須指定意圖編碼(code)和協(xié)議版本號(version),業(yè)務(wù)定義的協(xié)議版本是0.9.0,

描述信息(description)是可選的。常量(constants)定義字面量鍵值對,為動作的觸發(fā)

執(zhí)行提供數(shù)據(jù),常量也是可選的。

表2業(yè)務(wù)定義的意圖編號和版本號

{

"code":"general.查詢?nèi)粘?,

4

T/CESXXXXXXX

-

"version":"0.9.0",

"description":"這是查詢?nèi)粘虡I(yè)務(wù)定義文件",

"constants":{

"appId":"a7f5024fe8954f63b891581b010581a6"

}

}

為完成業(yè)務(wù)場景功能,一個業(yè)務(wù)定義至少包含一個動作定義,在本標(biāo)準(zhǔn)中定義了多種工

作類型,滿足各種業(yè)務(wù)接入場景。業(yè)務(wù)定義中的每個動作都必須指定動作編碼(code)與意

圖識別的動作編碼匹配。

表3業(yè)務(wù)定義的動作

{

"code":"general.查詢?nèi)粘?,

"version":"0.9.0",

"description":"這是查詢?nèi)粘虡I(yè)務(wù)定義文件",

"constants":{

"appId":"a7f5024fe8954f63b891581b010581a6",

"queryUrl":"http://serverIP:port/query/path"

},

"action":[

{

"type":"rest",

"definition":{

"code":"querySchedule",

"url":"${lucas_constants.queryUrl}",

"method":"POST",

"responseAttr":"scheduleData",

"body":{

"template":"{\"appId\":\"${lucas_constants.appId}\"}"

}

}

}

]

}

業(yè)務(wù)系統(tǒng)開發(fā)人員依據(jù)對話交互模型和定義的意圖編碼與動作編碼設(shè)計開發(fā)業(yè)務(wù)定義

文件。移動端智能交互對話機(jī)器人不具備完善的業(yè)務(wù)二次開發(fā)能力,所以對話交互過程中涉

及到的業(yè)務(wù)邏輯需要業(yè)務(wù)系統(tǒng)方自行開發(fā)實(shí)現(xiàn),并根據(jù)REST動作要求完成與移動端智能交

互對話機(jī)器人的業(yè)務(wù)集成。

動作除了被意圖識別觸發(fā)執(zhí)行以外,動作可以定義出口流轉(zhuǎn),動作執(zhí)行完成后根據(jù)出口

流轉(zhuǎn)執(zhí)行指向的目標(biāo)動作,實(shí)現(xiàn)動作的鏈?zhǔn)綀?zhí)行。在出口流轉(zhuǎn)上需要設(shè)置EL表達(dá)式字符串,

EL表達(dá)式執(zhí)行結(jié)果為真后,才會執(zhí)行鏈接到工作。如果有多個出口流轉(zhuǎn)的EL表達(dá)式執(zhí)行結(jié)

果都為真,目標(biāo)動作會根據(jù)出口流轉(zhuǎn)定義的順序依次執(zhí)行。

表4業(yè)務(wù)定義出口流轉(zhuǎn)定義

{

"transitions":[

5

T/CESXXXXXXX

-

{

"source":"utter_search_schedule",

"destination":"sendSuccessMessage",

"expressionText":"!(['scheduleData']['data'].isEmpty())"

},

{

"source":"utter_search_schedule",

"destination":"sendEmptyDataMessage",

"expressionText":"['scheduleData']['data'].isEmpty()"

}

]

}

在業(yè)務(wù)定義的“transitions”中定義動作出口流轉(zhuǎn),“source”指定源動作的編碼,

“destination”指定目標(biāo)動作的編碼,“expressionText”指定EL表達(dá)式字符串。

7動作類型

動作是業(yè)務(wù)定義主要組成部分。本文件定義了REST動作、消息發(fā)送動作、Groovy工

作和組合動作,滿足不同的業(yè)務(wù)場景。動作的執(zhí)行根據(jù)人機(jī)對話的意圖觸發(fā)執(zhí)行,與其在業(yè)

務(wù)定義文件中的順序沒有關(guān)系。

7.1REST動作

REST動作是對數(shù)據(jù)接口調(diào)用的定義,規(guī)定數(shù)據(jù)接口調(diào)用方式,輸入?yún)?shù)和輸出參數(shù)的

處理。

表5REST動作定義格式

{

"type":"rest",

"description":"查詢業(yè)務(wù)數(shù)據(jù)",

"definition":{

"code":"token",

"url":"業(yè)務(wù)系統(tǒng)提供對數(shù)據(jù)接口URL地址",

"method":"POST",

"responseAttr":"informationData",

"body":{

"template":""

}

}

}

7.2消息發(fā)送動作

消息發(fā)送動作是對消息接口的定義,用于反饋用戶響應(yīng),規(guī)定了消息的類型。

表6消息發(fā)送動作定義格式

{

"type":"message",

"code":"sendMessage",

"definition":{

"template":"您沒有需要處理的日程安排,可以問我一些其他的問題哦",

"type":"text"

6

T/CESXXXXXXX

-

}

}

7.3Groovy動作

Groovy動作是對Groovy腳本執(zhí)行的定義,讓移動端智能交互對話機(jī)器人具備一定的編

程能力,在動作觸發(fā)過程中執(zhí)行業(yè)務(wù)腳本,可以對數(shù)據(jù)模型中對數(shù)據(jù)進(jìn)行修改、添加鍵值對

數(shù)據(jù)等。

表7Groovy動作定義格式

{

"type":"groovy",

"code":"modifySchedule",

"definition":{

"content":"Groovy腳本的內(nèi)容"

}

}

7.4組合動作

組合動作可以將REST動作、消息發(fā)送動作、Groovy動作靈活的組合在一起作為一個動

作被觸發(fā)執(zhí)行。被組合的動作根據(jù)定義的先后順序依次執(zhí)行。例如在“查詢我的日程安排”

多輪對話業(yè)務(wù)場景中,在執(zhí)行REST動作調(diào)用數(shù)據(jù)接口之前可以先執(zhí)行Groovy動作修改查詢

參數(shù)。

表8組合動作定義格式

{

"type":"delegate",

"code":"modifySchedule",

"action":[

{

"type":"groovy",

"definition":{

"content":"Groovy腳本的內(nèi)容"

}

},

{

"type":"rest",

"definition":{

"url":"${lucas_constants.queryUrl}"

}

}

]

}

8消息種類

消息是用戶與移動端智能交互對話機(jī)器人之間溝通交流的信息載體,本標(biāo)準(zhǔn)規(guī)定了4

個消息類型:文本消息、音頻消息、圖片消息、視頻消息。消息體采用JSON格式表示,其

中音頻消息、圖片消息、視頻消息涉及到的文件需要通過臨時素材庫中轉(zhuǎn)。

8.1文本消息

表9文本消息定義格式

7

T/CESXXXXXXX

-

{

"type":"text",

"content":"文本內(nèi)容",

"touser":"消息接受者身份標(biāo)識",

"fromUserId":"消息發(fā)送者者身份標(biāo)識"

}

8.2音頻消息

表10音頻消息定義格式

{

"type":"voice",

"mediaId":"素材ID,通過素材庫上傳接口獲得",

"touser":"消息接受者身份標(biāo)識",

"fromUserId":"消息發(fā)送者者身份標(biāo)識"

}

8.3圖片消息

表11圖片消息定義格式

{

"type":"image",

"mediaId":"素材ID,通過素材庫上傳接口獲得",

"touser":"消息接受者身份標(biāo)識",

"fromUserId":"消息發(fā)送者者身份標(biāo)識"

}

8.4視頻消息

表12視頻消息定義格式

{

"type":"video",

"mediaId":"素材ID,通過素材庫上傳接口獲得",

"touser":"消息接受者身份標(biāo)識",

"fromUserId":"消息發(fā)送者者身份標(biāo)識"

}

9接口與認(rèn)證方式

9.1接口范圍與內(nèi)容

開放服務(wù)平臺提供的服務(wù)接口,應(yīng)包括但不限于以下能力范圍:意圖識別、語音處理、

圖像識別、基礎(chǔ)能力。其中語音處理又包括短語音識別、長語音識別、長語音結(jié)果查詢,圖

像識別又包括二維碼識別接口,通用能力接口是其他開放服務(wù)的底層接口。如圖一所示。

8

T/CESXXXXXXX

-

圖2開放服務(wù)接口范圍

9.2認(rèn)證方式

本標(biāo)準(zhǔn)的開放服務(wù)接口采用OAuth2.0授權(quán)協(xié)議保證接口的安全訪問,接口使用方在調(diào)

用接口前必須獲得訪問令牌,調(diào)用接口時需要在HTTP請求頭中添加訪問令牌。開放服務(wù)接

口采用國密SM4的CBC模式加密傳輸?shù)姆绞奖U辖涌跀?shù)據(jù)在不安全網(wǎng)絡(luò)中數(shù)據(jù)傳輸?shù)谋C?/p>

性。下面正文內(nèi)容將詳細(xì)說明接口安全訪問控制和數(shù)據(jù)加密傳輸?shù)木唧w細(xì)節(jié)。

10接口說明

10.1請求方式與數(shù)據(jù)格式

本文件中接口采用何種請求方式、何種數(shù)據(jù)類型作為數(shù)據(jù)傳輸格式,均以接口說明為準(zhǔn)。

10.2數(shù)據(jù)接口

智能交互對話機(jī)器人與業(yè)務(wù)系統(tǒng)之間主要采用數(shù)據(jù)接口進(jìn)行業(yè)務(wù)場景集成,完成數(shù)據(jù)交

換。

10.2.1標(biāo)準(zhǔn)數(shù)據(jù)接口

對話機(jī)器人調(diào)用下表定義的接口發(fā)送給業(yè)務(wù)系統(tǒng)。

表13數(shù)據(jù)接口定義

接口名稱業(yè)務(wù)集成數(shù)據(jù)接口

請求地址接口地址由業(yè)務(wù)系統(tǒng)定義并提供

HTTP方法POST媒體類型application/json;charset=UTF-8

請求頭AuthorizationBearer訪問令牌

請求{

"屬性1":"字符串類型",

"屬性2":數(shù)值類型,

"屬性3":"日期時間類型yyyy-MM-ddHH:mm:ss"

}

響應(yīng)正常200{

"message":"處理結(jié)果,可能會直接發(fā)送給用戶手機(jī)端",

"type":"消息的類型:text|textcard",

"subject":"消息主題名稱",

"url":"URL地址,textcard類型消息需要指定用戶點(diǎn)擊跳轉(zhuǎn)的

地址"

}

9

T/CESXXXXXXX

-

異常500{

"message":"錯誤中文描述",

"status":"HTTP狀態(tài)碼"

}

異常401{

"error_message":"非法的訪問令牌",

"error":"invalid_request",

"status":401

}

備注請求的主體采用JSON格式,由業(yè)務(wù)系統(tǒng)定義包括哪些字段。對話機(jī)器人負(fù)責(zé)

收集定義的字段值并發(fā)送給業(yè)務(wù)系統(tǒng)。

正常200響應(yīng)主體如果執(zhí)行了消息的類型,則將“message”發(fā)送給用戶手機(jī)

端。

錯誤500響應(yīng)主體中屬性“message”可能會直接發(fā)送到用戶手機(jī)端。狀態(tài)碼

“status”與HTTP響應(yīng)的狀態(tài)碼保持一致,例如400、401、500等,一般業(yè)務(wù)

錯誤狀態(tài)碼為500。

安全保障數(shù)據(jù)接口支持OAuth2.0授權(quán)協(xié)議實(shí)現(xiàn)接口的授權(quán)訪問,在HTTP請求頭中添加

Authorization請求頭,使用bearer類型的訪問令牌。

示例下面演示對話機(jī)器人與日程助手集成新增日程場景。

1.從業(yè)務(wù)場景出發(fā),新增日程需要知道主題和開始時間兩個屬性;

2.對話機(jī)器人需要從用戶對話中識別出日程主題和開始時間。并分別賦值給

開始時間“startTime”和主題“title”兩個屬性。其中兩個屬性名稱由對話機(jī)

器人與日程助手一起約定;

3.用戶通過對話機(jī)器人,發(fā)送“明天上午9點(diǎn)半在1205會議室參加部門周例

會”,識別出開始時間是“2021-12-2509:30:00”,主題是“在1205會議室參

加部門周例會”。在這個過程中對話機(jī)器人可能會與用戶進(jìn)行多輪對話;

4.對話機(jī)器人成功收集到日程主題和開始時間后,封裝成JSON對象:

{

"startTime":"2021-12-2509:30:00",

"title":"在1205會議室參加部門周例會"

}

調(diào)用日程業(yè)務(wù)集成接口,將JSON對象發(fā)送給日程應(yīng)用,日程完成自己的業(yè)務(wù)

后,返回200響應(yīng)數(shù)據(jù):

{

"message":"日程新增成功,您可以點(diǎn)擊繼續(xù)完善日程信息。",

"type":"textcard",

"subject":"日程新增通知",

"url":"/schedule/#update?id=日程主鍵ID"

}

5.對話機(jī)器人收到日程返回的響應(yīng)后,給用戶發(fā)送日程新增通知;

6.用戶在對話機(jī)器人消息頁面可以點(diǎn)擊“日程新增通知”,跳轉(zhuǎn)到URL地址

"/schedule/#update?id=日程主鍵ID"界面,其中日程

主鍵ID由接口成功返回獲得。

7.如果接口調(diào)用失敗,返回500錯誤消息:

10

T/CESXXXXXXX

-

{

"message":"業(yè)務(wù)系統(tǒng)需要提示給用戶的可讀信息",

"status":500

}

默認(rèn)將屬性message的值返回給用戶手機(jī)端。

到此就完成了對話機(jī)器人日程新增場景集成。

10.2.2加密數(shù)據(jù)接口

在非安全的網(wǎng)絡(luò)環(huán)境中調(diào)用數(shù)據(jù)接口,在訪問控制的基礎(chǔ)上需要額外的安全措施保障數(shù)

據(jù)的安全。下表的數(shù)據(jù)接口規(guī)范在上面標(biāo)準(zhǔn)數(shù)據(jù)接口的基礎(chǔ)上采用國密SM4算法對數(shù)據(jù)進(jìn)行

加密傳輸。

表14數(shù)據(jù)接口定義

接口名稱業(yè)務(wù)集成數(shù)據(jù)接口,支持SM4加密傳輸

請求地址接口地址由業(yè)務(wù)系統(tǒng)定義并提供

HTTP方法POST媒體類型application/json;charset=UTF-8

請求頭AuthorizationBearer訪問令牌

請求{

"cryptoType":"SM4",

"data":"標(biāo)準(zhǔn)數(shù)據(jù)接口請求JSON字符串經(jīng)過SM4加密后的字符串?dāng)?shù)據(jù)"

}

響應(yīng)正常200{

"cryptoType":"SM4",

"data":"標(biāo)準(zhǔn)數(shù)據(jù)接口響應(yīng)JSON字符串經(jīng)過SM4加密后的

字符串?dāng)?shù)據(jù)"

}

異常500{

"message":"錯誤中文描述",

"status":"HTTP狀態(tài)碼"

}

異常401{

"error_message":"非法的訪問令牌",

"error":"invalid_request",

"status":401

}

10.3語音識別接口

語音識別接口用于將語音文件中的語音信息轉(zhuǎn)換為文本信息,主要功能應(yīng)包括短語音文

件識別、長語音識別,以及長語音識別任務(wù)結(jié)果查詢。

語音識別區(qū)分短語音與長語音的主要原因是它們各自的業(yè)務(wù)場景通常對識別接口有著

不同的要求。例如:短語音識別接口與長語音識別接口相比,前者需要盡快地獲得識別結(jié)果,

后者通常需要更長的耗時且時長不確定,所以還需要一個專有的接口用以查詢識別的結(jié)果。

10.3.1短語音識別

短語音識別的識別對象為一分鐘以內(nèi)的語音文件,該語音文件的來源通常是語音搜索、

語音命令、語音消息等業(yè)務(wù)場景,這些場景下需要識別接口能夠快速響應(yīng),利于業(yè)務(wù)能夠更

快地進(jìn)行下一步的業(yè)務(wù)邏輯。

11

T/CESXXXXXXX

-

表15短語音識別接口定義

接口名稱根據(jù)語音文件,提供對短語音進(jìn)行識別的接口,返回識別的結(jié)果

請求地址http://serverurl/open/v1/asr/convert

HTTP方法POST媒體類型multipart/form-data

請求頭AuthorizationBearer訪問令牌

請求file語音文件

響應(yīng)正常200{

"cryptoType":"SM4",

"data":"標(biāo)準(zhǔn)數(shù)據(jù)接口響應(yīng)字符串經(jīng)過SM4加密后的字符串

數(shù)據(jù)"

}

解密后數(shù)據(jù)是字符串類型的文本,例如“提醒我明早十點(diǎn)開會”

異常500{

"message":"錯誤中文描述",

"status":"HTTP狀態(tài)碼",

"code":"錯誤編碼"

}

異常401{

"error_message":"非法的訪問令牌",

"error":"invalid_request",

"status":401

}

備注請求的主體采用表單提交上傳語音文件,屬性名稱是“file”。

正常200響應(yīng)主體是JSON格式,實(shí)際數(shù)據(jù)采用SM4加密,有屬性“cryptoType”

制定加密類型。

錯誤500響應(yīng)主體采用明文傳輸未加密,描述錯誤原因。狀態(tài)碼“status”與

HTTP響應(yīng)的狀態(tài)碼保持一致,例如400、401、500等,一般業(yè)務(wù)錯誤狀態(tài)碼

為500。

錯誤編碼10006獲取某個參數(shù)失敗

10043音頻解碼失敗

10700系統(tǒng)內(nèi)部錯誤

10.3.2長語音識別

長語音識別的識別對象為一分鐘以上的語音文件,該語音文件的來源通常是生成字幕、

會議紀(jì)要等業(yè)務(wù)場景,這些場景的識別過程耗時較長,不需要識別接口能立馬返回識別結(jié)果,

只需要后續(xù)進(jìn)行結(jié)果查詢即可。

表16長語音識別接口定義

接口名稱根據(jù)語音文件,提供對長語音進(jìn)行識別的接口,返回當(dāng)前識別請求的編號,用

于識別結(jié)果的查詢

請求地址http://serverurl/open/v1/lfasr/convert

HTTP方法POST媒體類型multipart/form-data

請求頭AuthorizationBearer訪問令牌

請求file語音文件

響應(yīng)正常200{

"cryptoType":"SM4",

12

T/CESXXXXXXX

-

"data":"標(biāo)準(zhǔn)數(shù)據(jù)接口響應(yīng)字符串經(jīng)過SM4加密后的字符串

數(shù)據(jù)"

}

解密后數(shù)據(jù)是字符串類型的識別任務(wù)編號,示例:

“111111111111111111”

異常500{

"message":"錯誤中文描述",

"status":"HTTP狀態(tài)碼",

"code":"錯誤編碼"

}

異常401{

"error_message":"非法的訪問令牌",

"error":"invalid_request",

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論