# -*- coding: utf8 -*- # Copyright (c) 2017-2021 THL A29 Limited, a Tencent company. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import warnings from tencentcloud.common.abstract_model import AbstractModel class ChatRequest(AbstractModel): """Chat请求参数结构体 """ def __init__(self): r""" :param _Text: 聊天输入文本 :type Text: str :param _ProjectId: 腾讯云项目 ID,可填 0,总长度不超过 1024 字节。 :type ProjectId: int :param _User: json格式,比如 {"id":"test","gender":"male"}。记录当前与机器人交互的用户id,非必须但强烈建议传入,否则多轮聊天功能会受影响 :type User: str """ self._Text = None self._ProjectId = None self._User = None @property def Text(self): """聊天输入文本 :rtype: str """ return self._Text @Text.setter def Text(self, Text): self._Text = Text @property def ProjectId(self): """腾讯云项目 ID,可填 0,总长度不超过 1024 字节。 :rtype: int """ return self._ProjectId @ProjectId.setter def ProjectId(self, ProjectId): self._ProjectId = ProjectId @property def User(self): """json格式,比如 {"id":"test","gender":"male"}。记录当前与机器人交互的用户id,非必须但强烈建议传入,否则多轮聊天功能会受影响 :rtype: str """ return self._User @User.setter def User(self, User): self._User = User def _deserialize(self, params): self._Text = params.get("Text") self._ProjectId = params.get("ProjectId") self._User = params.get("User") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ChatResponse(AbstractModel): """Chat返回参数结构体 """ def __init__(self): r""" :param _Answer: 聊天输出文本 :type Answer: str :param _RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Answer = None self._RequestId = None @property def Answer(self): """聊天输出文本 :rtype: str """ return self._Answer @Answer.setter def Answer(self, Answer): self._Answer = Answer @property def RequestId(self): """唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._Answer = params.get("Answer") self._RequestId = params.get("RequestId") class SentenceRecognitionRequest(AbstractModel): """SentenceRecognition请求参数结构体 """ def __init__(self): r""" :param _ProjectId: 腾讯云项目 ID,可填 0,总长度不超过 1024 字节。 :type ProjectId: int :param _SubServiceType: 子服务类型。2,一句话识别。 :type SubServiceType: int :param _EngSerViceType: 引擎类型。8k:电话 8k 通用模型;16k:16k 通用模型。只支持单声道音频识别。 :type EngSerViceType: str :param _SourceType: 语音数据来源。0:语音 URL;1:语音数据(post body)。 :type SourceType: int :param _VoiceFormat: 识别音频的音频格式(支持mp3,wav)。 :type VoiceFormat: str :param _UsrAudioKey: 用户端对此任务的唯一标识,用户自助生成,用于用户查找识别结果。 :type UsrAudioKey: str :param _Url: 语音 URL,公网可下载。当 SourceType 值为 0 时须填写该字段,为 1 时不填;URL 的长度大于 0,小于 2048,需进行urlencode编码。音频时间长度要小于60s。 :type Url: str :param _Data: 语音数据,当SourceType 值为1时必须填写,为0可不写。要base64编码(采用python语言时注意读取文件应该为string而不是byte,以byte格式读取后要decode()。编码后的数据不可带有回车换行符)。音频数据要小于600kB。 :type Data: str :param _DataLen: 数据长度,当 SourceType 值为1时必须填写,为0可不写(此数据长度为数据未进行base64编码时的数据长度)。 :type DataLen: int """ self._ProjectId = None self._SubServiceType = None self._EngSerViceType = None self._SourceType = None self._VoiceFormat = None self._UsrAudioKey = None self._Url = None self._Data = None self._DataLen = None @property def ProjectId(self): """腾讯云项目 ID,可填 0,总长度不超过 1024 字节。 :rtype: int """ return self._ProjectId @ProjectId.setter def ProjectId(self, ProjectId): self._ProjectId = ProjectId @property def SubServiceType(self): """子服务类型。2,一句话识别。 :rtype: int """ return self._SubServiceType @SubServiceType.setter def SubServiceType(self, SubServiceType): self._SubServiceType = SubServiceType @property def EngSerViceType(self): """引擎类型。8k:电话 8k 通用模型;16k:16k 通用模型。只支持单声道音频识别。 :rtype: str """ return self._EngSerViceType @EngSerViceType.setter def EngSerViceType(self, EngSerViceType): self._EngSerViceType = EngSerViceType @property def SourceType(self): """语音数据来源。0:语音 URL;1:语音数据(post body)。 :rtype: int """ return self._SourceType @SourceType.setter def SourceType(self, SourceType): self._SourceType = SourceType @property def VoiceFormat(self): """识别音频的音频格式(支持mp3,wav)。 :rtype: str """ return self._VoiceFormat @VoiceFormat.setter def VoiceFormat(self, VoiceFormat): self._VoiceFormat = VoiceFormat @property def UsrAudioKey(self): """用户端对此任务的唯一标识,用户自助生成,用于用户查找识别结果。 :rtype: str """ return self._UsrAudioKey @UsrAudioKey.setter def UsrAudioKey(self, UsrAudioKey): self._UsrAudioKey = UsrAudioKey @property def Url(self): """语音 URL,公网可下载。当 SourceType 值为 0 时须填写该字段,为 1 时不填;URL 的长度大于 0,小于 2048,需进行urlencode编码。音频时间长度要小于60s。 :rtype: str """ return self._Url @Url.setter def Url(self, Url): self._Url = Url @property def Data(self): """语音数据,当SourceType 值为1时必须填写,为0可不写。要base64编码(采用python语言时注意读取文件应该为string而不是byte,以byte格式读取后要decode()。编码后的数据不可带有回车换行符)。音频数据要小于600kB。 :rtype: str """ return self._Data @Data.setter def Data(self, Data): self._Data = Data @property def DataLen(self): """数据长度,当 SourceType 值为1时必须填写,为0可不写(此数据长度为数据未进行base64编码时的数据长度)。 :rtype: int """ return self._DataLen @DataLen.setter def DataLen(self, DataLen): self._DataLen = DataLen def _deserialize(self, params): self._ProjectId = params.get("ProjectId") self._SubServiceType = params.get("SubServiceType") self._EngSerViceType = params.get("EngSerViceType") self._SourceType = params.get("SourceType") self._VoiceFormat = params.get("VoiceFormat") self._UsrAudioKey = params.get("UsrAudioKey") self._Url = params.get("Url") self._Data = params.get("Data") self._DataLen = params.get("DataLen") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class SentenceRecognitionResponse(AbstractModel): """SentenceRecognition返回参数结构体 """ def __init__(self): r""" :param _Result: 识别结果。 :type Result: str :param _RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Result = None self._RequestId = None @property def Result(self): """识别结果。 :rtype: str """ return self._Result @Result.setter def Result(self, Result): self._Result = Result @property def RequestId(self): """唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._Result = params.get("Result") self._RequestId = params.get("RequestId") class SimultaneousInterpretingRequest(AbstractModel): """SimultaneousInterpreting请求参数结构体 """ def __init__(self): r""" :param _ProjectId: 腾讯云项目 ID,可填 0,总长度不超过 1024 字节。 :type ProjectId: int :param _SubServiceType: 子服务类型。0:离线语音识别。1:实时流式识别,2,一句话识别。3:同传。 :type SubServiceType: int :param _RecEngineModelType: 识别引擎类型。8k_zh: 8k 中文会场模型;16k_zh:16k 中文会场模型,8k_en: 8k 英文会场模型;16k_en:16k 英文会场模型。当前仅支持16K。 :type RecEngineModelType: str :param _Data: 语音数据,要base64编码。 :type Data: str :param _DataLen: 数据长度。 :type DataLen: int :param _VoiceId: 声音id,标识一句话。 :type VoiceId: str :param _IsEnd: 是否是一句话的结束。 :type IsEnd: int :param _VoiceFormat: 声音编码的格式1:pcm,4:speex,6:silk,默认为1。 :type VoiceFormat: int :param _OpenTranslate: 是否需要翻译结果,1表示需要翻译,0是不需要。 :type OpenTranslate: int :param _SourceLanguage: 如果需要翻译,表示源语言类型,可取值:zh,en。 :type SourceLanguage: str :param _TargetLanguage: 如果需要翻译,表示目标语言类型,可取值:zh,en。 :type TargetLanguage: str :param _Seq: 表明当前语音分片的索引,从0开始 :type Seq: int """ self._ProjectId = None self._SubServiceType = None self._RecEngineModelType = None self._Data = None self._DataLen = None self._VoiceId = None self._IsEnd = None self._VoiceFormat = None self._OpenTranslate = None self._SourceLanguage = None self._TargetLanguage = None self._Seq = None @property def ProjectId(self): """腾讯云项目 ID,可填 0,总长度不超过 1024 字节。 :rtype: int """ return self._ProjectId @ProjectId.setter def ProjectId(self, ProjectId): self._ProjectId = ProjectId @property def SubServiceType(self): """子服务类型。0:离线语音识别。1:实时流式识别,2,一句话识别。3:同传。 :rtype: int """ return self._SubServiceType @SubServiceType.setter def SubServiceType(self, SubServiceType): self._SubServiceType = SubServiceType @property def RecEngineModelType(self): """识别引擎类型。8k_zh: 8k 中文会场模型;16k_zh:16k 中文会场模型,8k_en: 8k 英文会场模型;16k_en:16k 英文会场模型。当前仅支持16K。 :rtype: str """ return self._RecEngineModelType @RecEngineModelType.setter def RecEngineModelType(self, RecEngineModelType): self._RecEngineModelType = RecEngineModelType @property def Data(self): """语音数据,要base64编码。 :rtype: str """ return self._Data @Data.setter def Data(self, Data): self._Data = Data @property def DataLen(self): """数据长度。 :rtype: int """ return self._DataLen @DataLen.setter def DataLen(self, DataLen): self._DataLen = DataLen @property def VoiceId(self): """声音id,标识一句话。 :rtype: str """ return self._VoiceId @VoiceId.setter def VoiceId(self, VoiceId): self._VoiceId = VoiceId @property def IsEnd(self): """是否是一句话的结束。 :rtype: int """ return self._IsEnd @IsEnd.setter def IsEnd(self, IsEnd): self._IsEnd = IsEnd @property def VoiceFormat(self): """声音编码的格式1:pcm,4:speex,6:silk,默认为1。 :rtype: int """ return self._VoiceFormat @VoiceFormat.setter def VoiceFormat(self, VoiceFormat): self._VoiceFormat = VoiceFormat @property def OpenTranslate(self): """是否需要翻译结果,1表示需要翻译,0是不需要。 :rtype: int """ return self._OpenTranslate @OpenTranslate.setter def OpenTranslate(self, OpenTranslate): self._OpenTranslate = OpenTranslate @property def SourceLanguage(self): """如果需要翻译,表示源语言类型,可取值:zh,en。 :rtype: str """ return self._SourceLanguage @SourceLanguage.setter def SourceLanguage(self, SourceLanguage): self._SourceLanguage = SourceLanguage @property def TargetLanguage(self): """如果需要翻译,表示目标语言类型,可取值:zh,en。 :rtype: str """ return self._TargetLanguage @TargetLanguage.setter def TargetLanguage(self, TargetLanguage): self._TargetLanguage = TargetLanguage @property def Seq(self): """表明当前语音分片的索引,从0开始 :rtype: int """ return self._Seq @Seq.setter def Seq(self, Seq): self._Seq = Seq def _deserialize(self, params): self._ProjectId = params.get("ProjectId") self._SubServiceType = params.get("SubServiceType") self._RecEngineModelType = params.get("RecEngineModelType") self._Data = params.get("Data") self._DataLen = params.get("DataLen") self._VoiceId = params.get("VoiceId") self._IsEnd = params.get("IsEnd") self._VoiceFormat = params.get("VoiceFormat") self._OpenTranslate = params.get("OpenTranslate") self._SourceLanguage = params.get("SourceLanguage") self._TargetLanguage = params.get("TargetLanguage") self._Seq = params.get("Seq") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class SimultaneousInterpretingResponse(AbstractModel): """SimultaneousInterpreting返回参数结构体 """ def __init__(self): r""" :param _AsrText: 语音识别的结果 :type AsrText: str :param _NmtText: 机器翻译的结果 :type NmtText: str :param _RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._AsrText = None self._NmtText = None self._RequestId = None @property def AsrText(self): """语音识别的结果 :rtype: str """ return self._AsrText @AsrText.setter def AsrText(self, AsrText): self._AsrText = AsrText @property def NmtText(self): """机器翻译的结果 :rtype: str """ return self._NmtText @NmtText.setter def NmtText(self, NmtText): self._NmtText = NmtText @property def RequestId(self): """唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._AsrText = params.get("AsrText") self._NmtText = params.get("NmtText") self._RequestId = params.get("RequestId") class TextToVoiceRequest(AbstractModel): """TextToVoice请求参数结构体 """ def __init__(self): r""" :param _Text: 合成语音的源文本,按UTF-8编码统一计算。 中文最大支持100个汉字(全角标点符号算一个汉字);英文最大支持400个字母(半角标点符号算一个字母)。包含空格等字符时需要url encode再传输。 :type Text: str :param _SessionId: 一次请求对应一个SessionId,会原样返回,建议传入类似于uuid的字符串防止重复。 :type SessionId: str :param _ModelType: 模型类型,1-默认模型。 :type ModelType: int :param _Volume: 音量大小,范围:[0,10],分别对应11个等级的音量,默认为0,代表正常音量。没有静音选项。 输入除以上整数之外的其他参数不生效,按默认值处理。 :type Volume: float :param _Speed: 语速,范围:[-2,2],分别对应不同语速:<li>-2代表0.6倍</li><li>-1代表0.8倍</li><li>0代表1.0倍(默认)</li><li>1代表1.2倍</li><li>2代表1.5倍</li>输入除以上整数之外的其他参数不生效,按默认值处理。 :type Speed: float :param _ProjectId: 项目id,用户自定义,默认为0。 :type ProjectId: int :param _VoiceType: 音色<li>0-亲和女声(默认)</li><li>1-亲和男声</li><li>2-成熟男声</li><li>3-活力男声</li><li>4-温暖女声</li><li>5-情感女声</li><li>6-情感男声</li> :type VoiceType: int :param _PrimaryLanguage: 主语言类型:<li>1-中文(默认)</li><li>2-英文</li> :type PrimaryLanguage: int :param _SampleRate: 音频采样率:<li>16000:16k(默认)</li><li>8000:8k</li> :type SampleRate: int :param _Codec: 返回音频格式,可取值:wav(默认),mp3 :type Codec: str """ self._Text = None self._SessionId = None self._ModelType = None self._Volume = None self._Speed = None self._ProjectId = None self._VoiceType = None self._PrimaryLanguage = None self._SampleRate = None self._Codec = None @property def Text(self): """合成语音的源文本,按UTF-8编码统一计算。 中文最大支持100个汉字(全角标点符号算一个汉字);英文最大支持400个字母(半角标点符号算一个字母)。包含空格等字符时需要url encode再传输。 :rtype: str """ return self._Text @Text.setter def Text(self, Text): self._Text = Text @property def SessionId(self): """一次请求对应一个SessionId,会原样返回,建议传入类似于uuid的字符串防止重复。 :rtype: str """ return self._SessionId @SessionId.setter def SessionId(self, SessionId): self._SessionId = SessionId @property def ModelType(self): """模型类型,1-默认模型。 :rtype: int """ return self._ModelType @ModelType.setter def ModelType(self, ModelType): self._ModelType = ModelType @property def Volume(self): """音量大小,范围:[0,10],分别对应11个等级的音量,默认为0,代表正常音量。没有静音选项。 输入除以上整数之外的其他参数不生效,按默认值处理。 :rtype: float """ return self._Volume @Volume.setter def Volume(self, Volume): self._Volume = Volume @property def Speed(self): """语速,范围:[-2,2],分别对应不同语速:<li>-2代表0.6倍</li><li>-1代表0.8倍</li><li>0代表1.0倍(默认)</li><li>1代表1.2倍</li><li>2代表1.5倍</li>输入除以上整数之外的其他参数不生效,按默认值处理。 :rtype: float """ return self._Speed @Speed.setter def Speed(self, Speed): self._Speed = Speed @property def ProjectId(self): """项目id,用户自定义,默认为0。 :rtype: int """ return self._ProjectId @ProjectId.setter def ProjectId(self, ProjectId): self._ProjectId = ProjectId @property def VoiceType(self): """音色<li>0-亲和女声(默认)</li><li>1-亲和男声</li><li>2-成熟男声</li><li>3-活力男声</li><li>4-温暖女声</li><li>5-情感女声</li><li>6-情感男声</li> :rtype: int """ return self._VoiceType @VoiceType.setter def VoiceType(self, VoiceType): self._VoiceType = VoiceType @property def PrimaryLanguage(self): """主语言类型:<li>1-中文(默认)</li><li>2-英文</li> :rtype: int """ return self._PrimaryLanguage @PrimaryLanguage.setter def PrimaryLanguage(self, PrimaryLanguage): self._PrimaryLanguage = PrimaryLanguage @property def SampleRate(self): """音频采样率:<li>16000:16k(默认)</li><li>8000:8k</li> :rtype: int """ return self._SampleRate @SampleRate.setter def SampleRate(self, SampleRate): self._SampleRate = SampleRate @property def Codec(self): """返回音频格式,可取值:wav(默认),mp3 :rtype: str """ return self._Codec @Codec.setter def Codec(self, Codec): self._Codec = Codec def _deserialize(self, params): self._Text = params.get("Text") self._SessionId = params.get("SessionId") self._ModelType = params.get("ModelType") self._Volume = params.get("Volume") self._Speed = params.get("Speed") self._ProjectId = params.get("ProjectId") self._VoiceType = params.get("VoiceType") self._PrimaryLanguage = params.get("PrimaryLanguage") self._SampleRate = params.get("SampleRate") self._Codec = params.get("Codec") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class TextToVoiceResponse(AbstractModel): """TextToVoice返回参数结构体 """ def __init__(self): r""" :param _Audio: base64编码的wav/mp3音频数据 :type Audio: str :param _SessionId: 一次请求对应一个SessionId :type SessionId: str :param _RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Audio = None self._SessionId = None self._RequestId = None @property def Audio(self): """base64编码的wav/mp3音频数据 :rtype: str """ return self._Audio @Audio.setter def Audio(self, Audio): self._Audio = Audio @property def SessionId(self): """一次请求对应一个SessionId :rtype: str """ return self._SessionId @SessionId.setter def SessionId(self, SessionId): self._SessionId = SessionId @property def RequestId(self): """唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._Audio = params.get("Audio") self._SessionId = params.get("SessionId") self._RequestId = params.get("RequestId")
Memory