robot.sdk package

Submodules

robot.sdk.AbstractPlugin module

class robot.sdk.AbstractPlugin.AbstractPlugin(con)[源代码]

基类:object

技能插件基类

IS_IMMERSIVE = False
SLUG = 'AbstractPlugin'
activeListen(silent=False)[源代码]
clearImmersive()[源代码]
handle(query, parsed)[源代码]

处理逻辑

参数: query – 用户的指令字符串 parsed – 用户指令经过 NLU 解析后的结果

isValid(query, parsed)[源代码]

是否适合由该插件处理

参数: query – 用户的指令字符串 parsed – 用户指令经过 NLU 解析后的结果

返回: True: 适合由该插件处理 False: 不适合由该插件处理

isValidImmersive(query, parsed)[源代码]

是否适合在沉浸模式下处理, 仅适用于有沉浸模式的插件(如音乐等) 当用户唤醒时,可以响应更多指令集。 例如:“”上一首”、”下一首” 等

pause()[源代码]

暂停当前正在处理的任务, 当处于该沉浸模式下且被唤醒时, 将自动触发这个方法, 可以用于强制暂停一个耗时的操作

play(src, delete=False, onCompleted=None, volume=1)[源代码]
restore()[源代码]

恢复当前插件, 仅适用于有沉浸模式的插件(如音乐等) 当用户误唤醒或者唤醒进行闲聊后, 可以自动恢复当前插件的处理逻辑

say(text, cache=False, onCompleted=None, wait=False)[源代码]

robot.sdk.AliSpeech module

robot.sdk.AliSpeech.asr(appKey, token, wave_file)[源代码]
robot.sdk.AliSpeech.process(request, token, audioContent)[源代码]
robot.sdk.AliSpeech.processGETRequest(appKey, token, voice, text, format, sampleRate)[源代码]
robot.sdk.AliSpeech.processPOSTRequest(appKey, token, voice, text, format, sampleRate)[源代码]
robot.sdk.AliSpeech.tts(appKey, token, voice, text)[源代码]

robot.sdk.RASRsdk module

robot.sdk.RASRsdk.formatSignString(param)[源代码]
robot.sdk.RASRsdk.randstr(n)[源代码]
robot.sdk.RASRsdk.sendVoice(secret_key, secretid, appid, engine_model_type, res_type, result_text_format, voice_format, filepath, cutlength, template_name='')[源代码]
robot.sdk.RASRsdk.sign(signstr, secret_key)[源代码]

robot.sdk.TencentSpeech module

Tencent ASR && TTS API

class robot.sdk.TencentSpeech.tencentSpeech(SECRET_KEY, SECRET_ID)[源代码]

基类:object

ASR(URL, voiceformat, sourcetype, region)[源代码]
PrimaryLanguage
Region
SECRET_ID
SECRET_KEY
SourceType
TTS(text, voicetype, primarylanguage, region)[源代码]
Text
URL
VoiceFormat
VoiceType
encode_sign(signstr, SECRET_KEY)[源代码]
formatSignString(config_dict)[源代码]
oneSentenceRecognition()[源代码]
primarylanguage
region
secret_id
secret_key
source_type
text
textToSpeech()[源代码]
url
voiceformat
voicetype

robot.sdk.XunfeiSpeech module

class robot.sdk.XunfeiSpeech.Ws_Param(APPID, APIKey, APISecret, AudioFile)[源代码]

基类:object

create_url()[源代码]
robot.sdk.XunfeiSpeech.on_close(ws)[源代码]
robot.sdk.XunfeiSpeech.on_error(ws, error)[源代码]
robot.sdk.XunfeiSpeech.on_message(ws, message)[源代码]
robot.sdk.XunfeiSpeech.on_open(ws)[源代码]
robot.sdk.XunfeiSpeech.transcribe(fpath, appid, api_key, api_secret)[源代码]

科大讯飞ASR

robot.sdk.unit module

robot.sdk.unit.getIntent(parsed)[源代码]

提取意图

参数:parsed – UNIT 解析结果
返回:意图数组
robot.sdk.unit.getSay(parsed, intent='')[源代码]

提取 UNIT 的回复文本

参数:
  • parsed – UNIT 解析结果
  • intent – 意图的名称
返回:

UNIT 的回复文本

robot.sdk.unit.getSlotWords(parsed, intent, name)[源代码]

找出命中某个词槽的内容

参数:
  • parsed – UNIT 解析结果
  • intent – 意图的名称
  • name – 词槽名
返回:

命中该词槽的值的列表。

robot.sdk.unit.getSlots(parsed, intent='')[源代码]

提取某个意图的所有词槽

param parsed:UNIT 解析结果
param intent:意图的名称
returns:词槽列表。你可以通过 name 属性筛选词槽,

再通过 normalized_word 属性取出相应的值

robot.sdk.unit.getUnit(query, service_id, api_key, secret_key)[源代码]

NLU 解析

参数:
  • query – 用户的指令字符串
  • service_id – UNIT 的 service_id
  • api_key – UNIT apk_key
  • secret_key – UNIT secret_key
返回:

UNIT 解析结果。如果解析失败,返回 None

robot.sdk.unit.get_token(api_key, secret_key)[源代码]
robot.sdk.unit.hasIntent(parsed, intent)[源代码]

判断是否包含某个意图

参数:
  • parsed – UNIT 解析结果
  • intent – 意图的名称
返回:

True: 包含; False: 不包含

Module contents