tencentcloud-sdk-python-ccc 3.1.85__tar.gz → 3.1.95__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {tencentcloud_sdk_python_ccc-3.1.85 → tencentcloud_sdk_python_ccc-3.1.95}/PKG-INFO +2 -2
- {tencentcloud_sdk_python_ccc-3.1.85 → tencentcloud_sdk_python_ccc-3.1.95}/setup.py +1 -1
- {tencentcloud_sdk_python_ccc-3.1.85 → tencentcloud_sdk_python_ccc-3.1.95}/tencentcloud/__init__.py +1 -1
- {tencentcloud_sdk_python_ccc-3.1.85 → tencentcloud_sdk_python_ccc-3.1.95}/tencentcloud/ccc/v20200210/ccc_client.py +23 -0
- {tencentcloud_sdk_python_ccc-3.1.85 → tencentcloud_sdk_python_ccc-3.1.95}/tencentcloud/ccc/v20200210/ccc_client_async.py +18 -0
- {tencentcloud_sdk_python_ccc-3.1.85 → tencentcloud_sdk_python_ccc-3.1.95}/tencentcloud/ccc/v20200210/models.py +588 -0
- {tencentcloud_sdk_python_ccc-3.1.85 → tencentcloud_sdk_python_ccc-3.1.95}/tencentcloud_sdk_python_ccc.egg-info/PKG-INFO +2 -2
- tencentcloud_sdk_python_ccc-3.1.95/tencentcloud_sdk_python_ccc.egg-info/requires.txt +1 -0
- tencentcloud_sdk_python_ccc-3.1.85/tencentcloud_sdk_python_ccc.egg-info/requires.txt +0 -1
- {tencentcloud_sdk_python_ccc-3.1.85 → tencentcloud_sdk_python_ccc-3.1.95}/README.rst +0 -0
- {tencentcloud_sdk_python_ccc-3.1.85 → tencentcloud_sdk_python_ccc-3.1.95}/setup.cfg +0 -0
- {tencentcloud_sdk_python_ccc-3.1.85 → tencentcloud_sdk_python_ccc-3.1.95}/tencentcloud/ccc/__init__.py +0 -0
- {tencentcloud_sdk_python_ccc-3.1.85 → tencentcloud_sdk_python_ccc-3.1.95}/tencentcloud/ccc/v20200210/__init__.py +0 -0
- {tencentcloud_sdk_python_ccc-3.1.85 → tencentcloud_sdk_python_ccc-3.1.95}/tencentcloud/ccc/v20200210/errorcodes.py +0 -0
- {tencentcloud_sdk_python_ccc-3.1.85 → tencentcloud_sdk_python_ccc-3.1.95}/tencentcloud_sdk_python_ccc.egg-info/SOURCES.txt +0 -0
- {tencentcloud_sdk_python_ccc-3.1.85 → tencentcloud_sdk_python_ccc-3.1.95}/tencentcloud_sdk_python_ccc.egg-info/dependency_links.txt +0 -0
- {tencentcloud_sdk_python_ccc-3.1.85 → tencentcloud_sdk_python_ccc-3.1.95}/tencentcloud_sdk_python_ccc.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: tencentcloud-sdk-python-ccc
|
|
3
|
-
Version: 3.1.
|
|
3
|
+
Version: 3.1.95
|
|
4
4
|
Summary: Tencent Cloud Ccc SDK for Python
|
|
5
5
|
Home-page: https://github.com/TencentCloud/tencentcloud-sdk-python
|
|
6
6
|
Author: Tencent Cloud
|
|
@@ -15,7 +15,7 @@ Classifier: Programming Language :: Python :: 2.7
|
|
|
15
15
|
Classifier: Programming Language :: Python :: 3
|
|
16
16
|
Classifier: Programming Language :: Python :: 3.6
|
|
17
17
|
Classifier: Programming Language :: Python :: 3.7
|
|
18
|
-
Requires-Dist: tencentcloud-sdk-python-common<4.0.0,>=3.1.
|
|
18
|
+
Requires-Dist: tencentcloud-sdk-python-common<4.0.0,>=3.1.95
|
|
19
19
|
|
|
20
20
|
============================
|
|
21
21
|
Tencent Cloud SDK for Python
|
|
@@ -8,7 +8,7 @@ ROOT = os.path.dirname(__file__)
|
|
|
8
8
|
|
|
9
9
|
setup(
|
|
10
10
|
name='tencentcloud-sdk-python-ccc',
|
|
11
|
-
install_requires=["tencentcloud-sdk-python-common>=3.1.
|
|
11
|
+
install_requires=["tencentcloud-sdk-python-common>=3.1.95,<4.0.0"],
|
|
12
12
|
|
|
13
13
|
version=tencentcloud.__version__,
|
|
14
14
|
description='Tencent Cloud Ccc SDK for Python',
|
|
@@ -703,6 +703,29 @@ class CccClient(AbstractClient):
|
|
|
703
703
|
raise TencentCloudSDKException(type(e).__name__, str(e))
|
|
704
704
|
|
|
705
705
|
|
|
706
|
+
def DescribeAICallInteractionRecords(self, request):
|
|
707
|
+
r"""获取AI 会话交互事件流
|
|
708
|
+
|
|
709
|
+
:param request: Request instance for DescribeAICallInteractionRecords.
|
|
710
|
+
:type request: :class:`tencentcloud.ccc.v20200210.models.DescribeAICallInteractionRecordsRequest`
|
|
711
|
+
:rtype: :class:`tencentcloud.ccc.v20200210.models.DescribeAICallInteractionRecordsResponse`
|
|
712
|
+
|
|
713
|
+
"""
|
|
714
|
+
try:
|
|
715
|
+
params = request._serialize()
|
|
716
|
+
headers = request.headers
|
|
717
|
+
body = self.call("DescribeAICallInteractionRecords", params, headers=headers)
|
|
718
|
+
response = json.loads(body)
|
|
719
|
+
model = models.DescribeAICallInteractionRecordsResponse()
|
|
720
|
+
model._deserialize(response["Response"])
|
|
721
|
+
return model
|
|
722
|
+
except Exception as e:
|
|
723
|
+
if isinstance(e, TencentCloudSDKException):
|
|
724
|
+
raise
|
|
725
|
+
else:
|
|
726
|
+
raise TencentCloudSDKException(type(e).__name__, str(e))
|
|
727
|
+
|
|
728
|
+
|
|
706
729
|
def DescribeAILatency(self, request):
|
|
707
730
|
r"""调用该接口,可以通过 Session ID 查询指定会话在特定时间段内,AI服务的处理时延明细与统计数据,时延信息包括:
|
|
708
731
|
- 端到端(ETE)时延:统计从用户语音输入到 AI 返回完整响应的整体耗时。
|
|
@@ -557,6 +557,24 @@ class CccClient(AbstractClient):
|
|
|
557
557
|
|
|
558
558
|
return await self.call_and_deserialize(**kwargs)
|
|
559
559
|
|
|
560
|
+
async def DescribeAICallInteractionRecords(
|
|
561
|
+
self,
|
|
562
|
+
request: models.DescribeAICallInteractionRecordsRequest,
|
|
563
|
+
opts: Dict = None,
|
|
564
|
+
) -> models.DescribeAICallInteractionRecordsResponse:
|
|
565
|
+
"""
|
|
566
|
+
获取AI 会话交互事件流
|
|
567
|
+
"""
|
|
568
|
+
|
|
569
|
+
kwargs = {}
|
|
570
|
+
kwargs["action"] = "DescribeAICallInteractionRecords"
|
|
571
|
+
kwargs["params"] = request._serialize()
|
|
572
|
+
kwargs["resp_cls"] = models.DescribeAICallInteractionRecordsResponse
|
|
573
|
+
kwargs["headers"] = request.headers
|
|
574
|
+
kwargs["opts"] = opts or {}
|
|
575
|
+
|
|
576
|
+
return await self.call_and_deserialize(**kwargs)
|
|
577
|
+
|
|
560
578
|
async def DescribeAILatency(
|
|
561
579
|
self,
|
|
562
580
|
request: models.DescribeAILatencyRequest,
|
|
@@ -415,6 +415,193 @@ class AICallExtractResultInfo(AbstractModel):
|
|
|
415
415
|
|
|
416
416
|
|
|
417
417
|
|
|
418
|
+
class AICallInteractionRound(AbstractModel):
|
|
419
|
+
r"""表示一轮完整的对话交互
|
|
420
|
+
|
|
421
|
+
"""
|
|
422
|
+
|
|
423
|
+
def __init__(self):
|
|
424
|
+
r"""
|
|
425
|
+
:param _RoundId: <p>本轮对话的唯一标识 Id</p>
|
|
426
|
+
:type RoundId: str
|
|
427
|
+
:param _RoundIndex: <p>轮次</p>
|
|
428
|
+
:type RoundIndex: int
|
|
429
|
+
:param _Tags: <p>用户回复分类的标签, json序列化后的表示</p>
|
|
430
|
+
:type Tags: str
|
|
431
|
+
:param _Messages: <p>本轮涉及到的消息内容</p>
|
|
432
|
+
:type Messages: list of AIRoundMessage
|
|
433
|
+
:param _Paths: <p>本轮对话在画布中经过的节点路径</p>
|
|
434
|
+
:type Paths: list of AIRoundPath
|
|
435
|
+
"""
|
|
436
|
+
self._RoundId = None
|
|
437
|
+
self._RoundIndex = None
|
|
438
|
+
self._Tags = None
|
|
439
|
+
self._Messages = None
|
|
440
|
+
self._Paths = None
|
|
441
|
+
|
|
442
|
+
@property
|
|
443
|
+
def RoundId(self):
|
|
444
|
+
r"""<p>本轮对话的唯一标识 Id</p>
|
|
445
|
+
:rtype: str
|
|
446
|
+
"""
|
|
447
|
+
return self._RoundId
|
|
448
|
+
|
|
449
|
+
@RoundId.setter
|
|
450
|
+
def RoundId(self, RoundId):
|
|
451
|
+
self._RoundId = RoundId
|
|
452
|
+
|
|
453
|
+
@property
|
|
454
|
+
def RoundIndex(self):
|
|
455
|
+
r"""<p>轮次</p>
|
|
456
|
+
:rtype: int
|
|
457
|
+
"""
|
|
458
|
+
return self._RoundIndex
|
|
459
|
+
|
|
460
|
+
@RoundIndex.setter
|
|
461
|
+
def RoundIndex(self, RoundIndex):
|
|
462
|
+
self._RoundIndex = RoundIndex
|
|
463
|
+
|
|
464
|
+
@property
|
|
465
|
+
def Tags(self):
|
|
466
|
+
r"""<p>用户回复分类的标签, json序列化后的表示</p>
|
|
467
|
+
:rtype: str
|
|
468
|
+
"""
|
|
469
|
+
return self._Tags
|
|
470
|
+
|
|
471
|
+
@Tags.setter
|
|
472
|
+
def Tags(self, Tags):
|
|
473
|
+
self._Tags = Tags
|
|
474
|
+
|
|
475
|
+
@property
|
|
476
|
+
def Messages(self):
|
|
477
|
+
r"""<p>本轮涉及到的消息内容</p>
|
|
478
|
+
:rtype: list of AIRoundMessage
|
|
479
|
+
"""
|
|
480
|
+
return self._Messages
|
|
481
|
+
|
|
482
|
+
@Messages.setter
|
|
483
|
+
def Messages(self, Messages):
|
|
484
|
+
self._Messages = Messages
|
|
485
|
+
|
|
486
|
+
@property
|
|
487
|
+
def Paths(self):
|
|
488
|
+
r"""<p>本轮对话在画布中经过的节点路径</p>
|
|
489
|
+
:rtype: list of AIRoundPath
|
|
490
|
+
"""
|
|
491
|
+
return self._Paths
|
|
492
|
+
|
|
493
|
+
@Paths.setter
|
|
494
|
+
def Paths(self, Paths):
|
|
495
|
+
self._Paths = Paths
|
|
496
|
+
|
|
497
|
+
|
|
498
|
+
def _deserialize(self, params):
|
|
499
|
+
self._RoundId = params.get("RoundId")
|
|
500
|
+
self._RoundIndex = params.get("RoundIndex")
|
|
501
|
+
self._Tags = params.get("Tags")
|
|
502
|
+
if params.get("Messages") is not None:
|
|
503
|
+
self._Messages = []
|
|
504
|
+
for item in params.get("Messages"):
|
|
505
|
+
obj = AIRoundMessage()
|
|
506
|
+
obj._deserialize(item)
|
|
507
|
+
self._Messages.append(obj)
|
|
508
|
+
if params.get("Paths") is not None:
|
|
509
|
+
self._Paths = []
|
|
510
|
+
for item in params.get("Paths"):
|
|
511
|
+
obj = AIRoundPath()
|
|
512
|
+
obj._deserialize(item)
|
|
513
|
+
self._Paths.append(obj)
|
|
514
|
+
memeber_set = set(params.keys())
|
|
515
|
+
for name, value in vars(self).items():
|
|
516
|
+
property_name = name[1:]
|
|
517
|
+
if property_name in memeber_set:
|
|
518
|
+
memeber_set.remove(property_name)
|
|
519
|
+
if len(memeber_set) > 0:
|
|
520
|
+
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
|
|
521
|
+
|
|
522
|
+
|
|
523
|
+
|
|
524
|
+
class AICallLatencyMetrics(AbstractModel):
|
|
525
|
+
r"""智能体的响应延时
|
|
526
|
+
|
|
527
|
+
"""
|
|
528
|
+
|
|
529
|
+
def __init__(self):
|
|
530
|
+
r"""
|
|
531
|
+
:param _AsrLatency: <p>asr时延(毫秒)</p><p>-1 表示无 asr时延</p>
|
|
532
|
+
:type AsrLatency: int
|
|
533
|
+
:param _LLMFirstTokenLatency: <p>llm首token时延(毫秒)</p>
|
|
534
|
+
:type LLMFirstTokenLatency: int
|
|
535
|
+
:param _TTSLatency: <p>tts时延(毫秒)</p><p>-1 表示无 tts时延</p>
|
|
536
|
+
:type TTSLatency: int
|
|
537
|
+
:param _TotalLatency: <p>总时延</p>
|
|
538
|
+
:type TotalLatency: int
|
|
539
|
+
"""
|
|
540
|
+
self._AsrLatency = None
|
|
541
|
+
self._LLMFirstTokenLatency = None
|
|
542
|
+
self._TTSLatency = None
|
|
543
|
+
self._TotalLatency = None
|
|
544
|
+
|
|
545
|
+
@property
|
|
546
|
+
def AsrLatency(self):
|
|
547
|
+
r"""<p>asr时延(毫秒)</p><p>-1 表示无 asr时延</p>
|
|
548
|
+
:rtype: int
|
|
549
|
+
"""
|
|
550
|
+
return self._AsrLatency
|
|
551
|
+
|
|
552
|
+
@AsrLatency.setter
|
|
553
|
+
def AsrLatency(self, AsrLatency):
|
|
554
|
+
self._AsrLatency = AsrLatency
|
|
555
|
+
|
|
556
|
+
@property
|
|
557
|
+
def LLMFirstTokenLatency(self):
|
|
558
|
+
r"""<p>llm首token时延(毫秒)</p>
|
|
559
|
+
:rtype: int
|
|
560
|
+
"""
|
|
561
|
+
return self._LLMFirstTokenLatency
|
|
562
|
+
|
|
563
|
+
@LLMFirstTokenLatency.setter
|
|
564
|
+
def LLMFirstTokenLatency(self, LLMFirstTokenLatency):
|
|
565
|
+
self._LLMFirstTokenLatency = LLMFirstTokenLatency
|
|
566
|
+
|
|
567
|
+
@property
|
|
568
|
+
def TTSLatency(self):
|
|
569
|
+
r"""<p>tts时延(毫秒)</p><p>-1 表示无 tts时延</p>
|
|
570
|
+
:rtype: int
|
|
571
|
+
"""
|
|
572
|
+
return self._TTSLatency
|
|
573
|
+
|
|
574
|
+
@TTSLatency.setter
|
|
575
|
+
def TTSLatency(self, TTSLatency):
|
|
576
|
+
self._TTSLatency = TTSLatency
|
|
577
|
+
|
|
578
|
+
@property
|
|
579
|
+
def TotalLatency(self):
|
|
580
|
+
r"""<p>总时延</p>
|
|
581
|
+
:rtype: int
|
|
582
|
+
"""
|
|
583
|
+
return self._TotalLatency
|
|
584
|
+
|
|
585
|
+
@TotalLatency.setter
|
|
586
|
+
def TotalLatency(self, TotalLatency):
|
|
587
|
+
self._TotalLatency = TotalLatency
|
|
588
|
+
|
|
589
|
+
|
|
590
|
+
def _deserialize(self, params):
|
|
591
|
+
self._AsrLatency = params.get("AsrLatency")
|
|
592
|
+
self._LLMFirstTokenLatency = params.get("LLMFirstTokenLatency")
|
|
593
|
+
self._TTSLatency = params.get("TTSLatency")
|
|
594
|
+
self._TotalLatency = params.get("TotalLatency")
|
|
595
|
+
memeber_set = set(params.keys())
|
|
596
|
+
for name, value in vars(self).items():
|
|
597
|
+
property_name = name[1:]
|
|
598
|
+
if property_name in memeber_set:
|
|
599
|
+
memeber_set.remove(property_name)
|
|
600
|
+
if len(memeber_set) > 0:
|
|
601
|
+
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
|
|
602
|
+
|
|
603
|
+
|
|
604
|
+
|
|
418
605
|
class AILatencyDetail(AbstractModel):
|
|
419
606
|
r"""AI时延明细
|
|
420
607
|
|
|
@@ -681,6 +868,227 @@ class AILatencyStatisticsInfo(AbstractModel):
|
|
|
681
868
|
|
|
682
869
|
|
|
683
870
|
|
|
871
|
+
class AIRoundMessage(AbstractModel):
|
|
872
|
+
r"""表示一轮对话中的用户和 AI 消息
|
|
873
|
+
|
|
874
|
+
"""
|
|
875
|
+
|
|
876
|
+
def __init__(self):
|
|
877
|
+
r"""
|
|
878
|
+
:param _Timestamp: <p>消息的毫秒级时间戳</p><p>单位:ms</p>
|
|
879
|
+
:type Timestamp: int
|
|
880
|
+
:param _UserReply: <p>用户消息</p>
|
|
881
|
+
:type UserReply: :class:`tencentcloud.ccc.v20200210.models.UserReplyEvent`
|
|
882
|
+
:param _AISpeak: <p>智能体响应消息</p>
|
|
883
|
+
:type AISpeak: :class:`tencentcloud.ccc.v20200210.models.AISpeakEvent`
|
|
884
|
+
"""
|
|
885
|
+
self._Timestamp = None
|
|
886
|
+
self._UserReply = None
|
|
887
|
+
self._AISpeak = None
|
|
888
|
+
|
|
889
|
+
@property
|
|
890
|
+
def Timestamp(self):
|
|
891
|
+
r"""<p>消息的毫秒级时间戳</p><p>单位:ms</p>
|
|
892
|
+
:rtype: int
|
|
893
|
+
"""
|
|
894
|
+
return self._Timestamp
|
|
895
|
+
|
|
896
|
+
@Timestamp.setter
|
|
897
|
+
def Timestamp(self, Timestamp):
|
|
898
|
+
self._Timestamp = Timestamp
|
|
899
|
+
|
|
900
|
+
@property
|
|
901
|
+
def UserReply(self):
|
|
902
|
+
r"""<p>用户消息</p>
|
|
903
|
+
:rtype: :class:`tencentcloud.ccc.v20200210.models.UserReplyEvent`
|
|
904
|
+
"""
|
|
905
|
+
return self._UserReply
|
|
906
|
+
|
|
907
|
+
@UserReply.setter
|
|
908
|
+
def UserReply(self, UserReply):
|
|
909
|
+
self._UserReply = UserReply
|
|
910
|
+
|
|
911
|
+
@property
|
|
912
|
+
def AISpeak(self):
|
|
913
|
+
r"""<p>智能体响应消息</p>
|
|
914
|
+
:rtype: :class:`tencentcloud.ccc.v20200210.models.AISpeakEvent`
|
|
915
|
+
"""
|
|
916
|
+
return self._AISpeak
|
|
917
|
+
|
|
918
|
+
@AISpeak.setter
|
|
919
|
+
def AISpeak(self, AISpeak):
|
|
920
|
+
self._AISpeak = AISpeak
|
|
921
|
+
|
|
922
|
+
|
|
923
|
+
def _deserialize(self, params):
|
|
924
|
+
self._Timestamp = params.get("Timestamp")
|
|
925
|
+
if params.get("UserReply") is not None:
|
|
926
|
+
self._UserReply = UserReplyEvent()
|
|
927
|
+
self._UserReply._deserialize(params.get("UserReply"))
|
|
928
|
+
if params.get("AISpeak") is not None:
|
|
929
|
+
self._AISpeak = AISpeakEvent()
|
|
930
|
+
self._AISpeak._deserialize(params.get("AISpeak"))
|
|
931
|
+
memeber_set = set(params.keys())
|
|
932
|
+
for name, value in vars(self).items():
|
|
933
|
+
property_name = name[1:]
|
|
934
|
+
if property_name in memeber_set:
|
|
935
|
+
memeber_set.remove(property_name)
|
|
936
|
+
if len(memeber_set) > 0:
|
|
937
|
+
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
|
|
938
|
+
|
|
939
|
+
|
|
940
|
+
|
|
941
|
+
class AIRoundPath(AbstractModel):
|
|
942
|
+
r"""本轮对话在画布中经过的节点路径
|
|
943
|
+
|
|
944
|
+
"""
|
|
945
|
+
|
|
946
|
+
def __init__(self):
|
|
947
|
+
r"""
|
|
948
|
+
:param _NodeName: <p>画布中的节点名称</p>
|
|
949
|
+
:type NodeName: str
|
|
950
|
+
:param _NodeType: <p>画布中的节点类型</p><p>枚举值:</p><ul><li>DIALOGUE: 对话节点</li><li>API_CALL: 接口调用节点</li><li>TRANSFER: 转接节点</li><li>KEY_PRESS: 按键节点</li><li>END_CALL: 挂断节点</li></ul>
|
|
951
|
+
:type NodeType: str
|
|
952
|
+
:param _Timestamp: <p>经过当前节点的时间戳</p><p>单位:ms</p>
|
|
953
|
+
:type Timestamp: int
|
|
954
|
+
"""
|
|
955
|
+
self._NodeName = None
|
|
956
|
+
self._NodeType = None
|
|
957
|
+
self._Timestamp = None
|
|
958
|
+
|
|
959
|
+
@property
|
|
960
|
+
def NodeName(self):
|
|
961
|
+
r"""<p>画布中的节点名称</p>
|
|
962
|
+
:rtype: str
|
|
963
|
+
"""
|
|
964
|
+
return self._NodeName
|
|
965
|
+
|
|
966
|
+
@NodeName.setter
|
|
967
|
+
def NodeName(self, NodeName):
|
|
968
|
+
self._NodeName = NodeName
|
|
969
|
+
|
|
970
|
+
@property
|
|
971
|
+
def NodeType(self):
|
|
972
|
+
r"""<p>画布中的节点类型</p><p>枚举值:</p><ul><li>DIALOGUE: 对话节点</li><li>API_CALL: 接口调用节点</li><li>TRANSFER: 转接节点</li><li>KEY_PRESS: 按键节点</li><li>END_CALL: 挂断节点</li></ul>
|
|
973
|
+
:rtype: str
|
|
974
|
+
"""
|
|
975
|
+
return self._NodeType
|
|
976
|
+
|
|
977
|
+
@NodeType.setter
|
|
978
|
+
def NodeType(self, NodeType):
|
|
979
|
+
self._NodeType = NodeType
|
|
980
|
+
|
|
981
|
+
@property
|
|
982
|
+
def Timestamp(self):
|
|
983
|
+
r"""<p>经过当前节点的时间戳</p><p>单位:ms</p>
|
|
984
|
+
:rtype: int
|
|
985
|
+
"""
|
|
986
|
+
return self._Timestamp
|
|
987
|
+
|
|
988
|
+
@Timestamp.setter
|
|
989
|
+
def Timestamp(self, Timestamp):
|
|
990
|
+
self._Timestamp = Timestamp
|
|
991
|
+
|
|
992
|
+
|
|
993
|
+
def _deserialize(self, params):
|
|
994
|
+
self._NodeName = params.get("NodeName")
|
|
995
|
+
self._NodeType = params.get("NodeType")
|
|
996
|
+
self._Timestamp = params.get("Timestamp")
|
|
997
|
+
memeber_set = set(params.keys())
|
|
998
|
+
for name, value in vars(self).items():
|
|
999
|
+
property_name = name[1:]
|
|
1000
|
+
if property_name in memeber_set:
|
|
1001
|
+
memeber_set.remove(property_name)
|
|
1002
|
+
if len(memeber_set) > 0:
|
|
1003
|
+
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
|
|
1004
|
+
|
|
1005
|
+
|
|
1006
|
+
|
|
1007
|
+
class AISpeakEvent(AbstractModel):
|
|
1008
|
+
r"""智能体发言事件
|
|
1009
|
+
|
|
1010
|
+
"""
|
|
1011
|
+
|
|
1012
|
+
def __init__(self):
|
|
1013
|
+
r"""
|
|
1014
|
+
:param _CanBeInterrupted: <p>本次话术是否允许被用户VAD打断</p>
|
|
1015
|
+
:type CanBeInterrupted: bool
|
|
1016
|
+
:param _SpokenText: <p>智能体播报的话术文本内容</p>
|
|
1017
|
+
:type SpokenText: str
|
|
1018
|
+
:param _SpokenType: <p>智能体发言类型</p><p>枚举值:</p><ul><li>Script: 智能体话术</li><li>KnowledgeBase: 知识库</li><li>LLMFallback: 大模型兜底</li><li>NoResponseTip: 无响应提示</li><li>智能追问: SmartFollowUp</li><li>FAQ: FAQ</li><li>转人工 - 排队等待音: TransferWaitingPrompt</li><li>无响应挂断前放音: PlayNoResponseEndPrompt</li><li>转人工 - 排队前放音: PlayQueuePrompt</li><li>转人工 - 接待前放音: PlayPromptBeforeReception</li><li>转人工 - 排队超时放音: PlayQueueTimeoutPrompt</li><li>转人工 - 转人工失败放音: PlayTransferFailPrompt</li><li>DTMF收号(按键用户输入): Dtmf</li><li>按键节点 - 播放提示音: PlayDtmfPrompt</li><li>按键节点 - 输入错误提示音: PlayInvalidDtmfPrompt</li><li>按键节点 - 超时提示音: PlayDtmfTimeoutPrompt</li><li>其他类型: Other</li></ul>
|
|
1019
|
+
:type SpokenType: str
|
|
1020
|
+
:param _LatencyMetrics: <p>本次响应生成的时延结果</p>
|
|
1021
|
+
注意:此字段可能返回 null,表示取不到有效值。
|
|
1022
|
+
:type LatencyMetrics: :class:`tencentcloud.ccc.v20200210.models.AICallLatencyMetrics`
|
|
1023
|
+
"""
|
|
1024
|
+
self._CanBeInterrupted = None
|
|
1025
|
+
self._SpokenText = None
|
|
1026
|
+
self._SpokenType = None
|
|
1027
|
+
self._LatencyMetrics = None
|
|
1028
|
+
|
|
1029
|
+
@property
|
|
1030
|
+
def CanBeInterrupted(self):
|
|
1031
|
+
r"""<p>本次话术是否允许被用户VAD打断</p>
|
|
1032
|
+
:rtype: bool
|
|
1033
|
+
"""
|
|
1034
|
+
return self._CanBeInterrupted
|
|
1035
|
+
|
|
1036
|
+
@CanBeInterrupted.setter
|
|
1037
|
+
def CanBeInterrupted(self, CanBeInterrupted):
|
|
1038
|
+
self._CanBeInterrupted = CanBeInterrupted
|
|
1039
|
+
|
|
1040
|
+
@property
|
|
1041
|
+
def SpokenText(self):
|
|
1042
|
+
r"""<p>智能体播报的话术文本内容</p>
|
|
1043
|
+
:rtype: str
|
|
1044
|
+
"""
|
|
1045
|
+
return self._SpokenText
|
|
1046
|
+
|
|
1047
|
+
@SpokenText.setter
|
|
1048
|
+
def SpokenText(self, SpokenText):
|
|
1049
|
+
self._SpokenText = SpokenText
|
|
1050
|
+
|
|
1051
|
+
@property
|
|
1052
|
+
def SpokenType(self):
|
|
1053
|
+
r"""<p>智能体发言类型</p><p>枚举值:</p><ul><li>Script: 智能体话术</li><li>KnowledgeBase: 知识库</li><li>LLMFallback: 大模型兜底</li><li>NoResponseTip: 无响应提示</li><li>智能追问: SmartFollowUp</li><li>FAQ: FAQ</li><li>转人工 - 排队等待音: TransferWaitingPrompt</li><li>无响应挂断前放音: PlayNoResponseEndPrompt</li><li>转人工 - 排队前放音: PlayQueuePrompt</li><li>转人工 - 接待前放音: PlayPromptBeforeReception</li><li>转人工 - 排队超时放音: PlayQueueTimeoutPrompt</li><li>转人工 - 转人工失败放音: PlayTransferFailPrompt</li><li>DTMF收号(按键用户输入): Dtmf</li><li>按键节点 - 播放提示音: PlayDtmfPrompt</li><li>按键节点 - 输入错误提示音: PlayInvalidDtmfPrompt</li><li>按键节点 - 超时提示音: PlayDtmfTimeoutPrompt</li><li>其他类型: Other</li></ul>
|
|
1054
|
+
:rtype: str
|
|
1055
|
+
"""
|
|
1056
|
+
return self._SpokenType
|
|
1057
|
+
|
|
1058
|
+
@SpokenType.setter
|
|
1059
|
+
def SpokenType(self, SpokenType):
|
|
1060
|
+
self._SpokenType = SpokenType
|
|
1061
|
+
|
|
1062
|
+
@property
|
|
1063
|
+
def LatencyMetrics(self):
|
|
1064
|
+
r"""<p>本次响应生成的时延结果</p>
|
|
1065
|
+
注意:此字段可能返回 null,表示取不到有效值。
|
|
1066
|
+
:rtype: :class:`tencentcloud.ccc.v20200210.models.AICallLatencyMetrics`
|
|
1067
|
+
"""
|
|
1068
|
+
return self._LatencyMetrics
|
|
1069
|
+
|
|
1070
|
+
@LatencyMetrics.setter
|
|
1071
|
+
def LatencyMetrics(self, LatencyMetrics):
|
|
1072
|
+
self._LatencyMetrics = LatencyMetrics
|
|
1073
|
+
|
|
1074
|
+
|
|
1075
|
+
def _deserialize(self, params):
|
|
1076
|
+
self._CanBeInterrupted = params.get("CanBeInterrupted")
|
|
1077
|
+
self._SpokenText = params.get("SpokenText")
|
|
1078
|
+
self._SpokenType = params.get("SpokenType")
|
|
1079
|
+
if params.get("LatencyMetrics") is not None:
|
|
1080
|
+
self._LatencyMetrics = AICallLatencyMetrics()
|
|
1081
|
+
self._LatencyMetrics._deserialize(params.get("LatencyMetrics"))
|
|
1082
|
+
memeber_set = set(params.keys())
|
|
1083
|
+
for name, value in vars(self).items():
|
|
1084
|
+
property_name = name[1:]
|
|
1085
|
+
if property_name in memeber_set:
|
|
1086
|
+
memeber_set.remove(property_name)
|
|
1087
|
+
if len(memeber_set) > 0:
|
|
1088
|
+
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
|
|
1089
|
+
|
|
1090
|
+
|
|
1091
|
+
|
|
684
1092
|
class AITransferItem(AbstractModel):
|
|
685
1093
|
r"""AI转人工配置项
|
|
686
1094
|
|
|
@@ -7542,6 +7950,105 @@ class DescribeAICallExtractResultResponse(AbstractModel):
|
|
|
7542
7950
|
self._RequestId = params.get("RequestId")
|
|
7543
7951
|
|
|
7544
7952
|
|
|
7953
|
+
class DescribeAICallInteractionRecordsRequest(AbstractModel):
|
|
7954
|
+
r"""DescribeAICallInteractionRecords请求参数结构体
|
|
7955
|
+
|
|
7956
|
+
"""
|
|
7957
|
+
|
|
7958
|
+
def __init__(self):
|
|
7959
|
+
r"""
|
|
7960
|
+
:param _SdkAppId: <p>应用 ID,可以查看 https://console.cloud.tencent.com/ccc。</p>
|
|
7961
|
+
:type SdkAppId: int
|
|
7962
|
+
:param _SessionId: <p>查询的会话SessionID</p>
|
|
7963
|
+
:type SessionId: str
|
|
7964
|
+
"""
|
|
7965
|
+
self._SdkAppId = None
|
|
7966
|
+
self._SessionId = None
|
|
7967
|
+
|
|
7968
|
+
@property
|
|
7969
|
+
def SdkAppId(self):
|
|
7970
|
+
r"""<p>应用 ID,可以查看 https://console.cloud.tencent.com/ccc。</p>
|
|
7971
|
+
:rtype: int
|
|
7972
|
+
"""
|
|
7973
|
+
return self._SdkAppId
|
|
7974
|
+
|
|
7975
|
+
@SdkAppId.setter
|
|
7976
|
+
def SdkAppId(self, SdkAppId):
|
|
7977
|
+
self._SdkAppId = SdkAppId
|
|
7978
|
+
|
|
7979
|
+
@property
|
|
7980
|
+
def SessionId(self):
|
|
7981
|
+
r"""<p>查询的会话SessionID</p>
|
|
7982
|
+
:rtype: str
|
|
7983
|
+
"""
|
|
7984
|
+
return self._SessionId
|
|
7985
|
+
|
|
7986
|
+
@SessionId.setter
|
|
7987
|
+
def SessionId(self, SessionId):
|
|
7988
|
+
self._SessionId = SessionId
|
|
7989
|
+
|
|
7990
|
+
|
|
7991
|
+
def _deserialize(self, params):
|
|
7992
|
+
self._SdkAppId = params.get("SdkAppId")
|
|
7993
|
+
self._SessionId = params.get("SessionId")
|
|
7994
|
+
memeber_set = set(params.keys())
|
|
7995
|
+
for name, value in vars(self).items():
|
|
7996
|
+
property_name = name[1:]
|
|
7997
|
+
if property_name in memeber_set:
|
|
7998
|
+
memeber_set.remove(property_name)
|
|
7999
|
+
if len(memeber_set) > 0:
|
|
8000
|
+
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
|
|
8001
|
+
|
|
8002
|
+
|
|
8003
|
+
|
|
8004
|
+
class DescribeAICallInteractionRecordsResponse(AbstractModel):
|
|
8005
|
+
r"""DescribeAICallInteractionRecords返回参数结构体
|
|
8006
|
+
|
|
8007
|
+
"""
|
|
8008
|
+
|
|
8009
|
+
def __init__(self):
|
|
8010
|
+
r"""
|
|
8011
|
+
:param _InteractionEventList: <p>返回的会话交互结果</p>
|
|
8012
|
+
:type InteractionEventList: list of AICallInteractionRound
|
|
8013
|
+
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
|
|
8014
|
+
:type RequestId: str
|
|
8015
|
+
"""
|
|
8016
|
+
self._InteractionEventList = None
|
|
8017
|
+
self._RequestId = None
|
|
8018
|
+
|
|
8019
|
+
@property
|
|
8020
|
+
def InteractionEventList(self):
|
|
8021
|
+
r"""<p>返回的会话交互结果</p>
|
|
8022
|
+
:rtype: list of AICallInteractionRound
|
|
8023
|
+
"""
|
|
8024
|
+
return self._InteractionEventList
|
|
8025
|
+
|
|
8026
|
+
@InteractionEventList.setter
|
|
8027
|
+
def InteractionEventList(self, InteractionEventList):
|
|
8028
|
+
self._InteractionEventList = InteractionEventList
|
|
8029
|
+
|
|
8030
|
+
@property
|
|
8031
|
+
def RequestId(self):
|
|
8032
|
+
r"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
|
|
8033
|
+
:rtype: str
|
|
8034
|
+
"""
|
|
8035
|
+
return self._RequestId
|
|
8036
|
+
|
|
8037
|
+
@RequestId.setter
|
|
8038
|
+
def RequestId(self, RequestId):
|
|
8039
|
+
self._RequestId = RequestId
|
|
8040
|
+
|
|
8041
|
+
|
|
8042
|
+
def _deserialize(self, params):
|
|
8043
|
+
if params.get("InteractionEventList") is not None:
|
|
8044
|
+
self._InteractionEventList = []
|
|
8045
|
+
for item in params.get("InteractionEventList"):
|
|
8046
|
+
obj = AICallInteractionRound()
|
|
8047
|
+
obj._deserialize(item)
|
|
8048
|
+
self._InteractionEventList.append(obj)
|
|
8049
|
+
self._RequestId = params.get("RequestId")
|
|
8050
|
+
|
|
8051
|
+
|
|
7545
8052
|
class DescribeAILatencyRequest(AbstractModel):
|
|
7546
8053
|
r"""DescribeAILatency请求参数结构体
|
|
7547
8054
|
|
|
@@ -21657,6 +22164,87 @@ class UploadIvrAudioResponse(AbstractModel):
|
|
|
21657
22164
|
self._RequestId = params.get("RequestId")
|
|
21658
22165
|
|
|
21659
22166
|
|
|
22167
|
+
class UserReplyEvent(AbstractModel):
|
|
22168
|
+
r"""用户发言事件
|
|
22169
|
+
|
|
22170
|
+
"""
|
|
22171
|
+
|
|
22172
|
+
def __init__(self):
|
|
22173
|
+
r"""
|
|
22174
|
+
:param _ASRTranscript: <p>ASR语音识别引擎将用户语音转换成的原始文本结果</p>
|
|
22175
|
+
:type ASRTranscript: str
|
|
22176
|
+
:param _MatchedIntent: <p>命中画布中该对话节点配置的回复分类</p>
|
|
22177
|
+
:type MatchedIntent: str
|
|
22178
|
+
:param _ExtractedSlots: <p>用户回复分类的标签, json序列化后的信息</p>
|
|
22179
|
+
:type ExtractedSlots: str
|
|
22180
|
+
:param _BranchType: <p>用户回复命中的分支类型</p><p>枚举值:</p><ul><li>Intent: 用户意图</li><li>Fallback: 兜底分支</li><li>NoResponse: 无响应跳转分支</li><li>SlotCollectionSuccess: 词槽收集完成跳转分支</li><li>SlotCollectionFail: 词槽收集失败跳转分支</li><li>GlobalIntent: 全局节点意图</li><li>LogicAnd: 逻辑判断节点 and</li><li>LogicOr: 逻辑判断节点 or</li><li>DTMF成功: DTMFSuccess</li><li>DTMF失败: DTMFFail</li><li>DTMF导航: DTMFNavigation</li><li>DTMF分机: DTMFExtension</li><li>DTMF收号: DTMFCollection</li><li>转接智能体节点失败: TransferAgentFail</li></ul>
|
|
22181
|
+
:type BranchType: str
|
|
22182
|
+
"""
|
|
22183
|
+
self._ASRTranscript = None
|
|
22184
|
+
self._MatchedIntent = None
|
|
22185
|
+
self._ExtractedSlots = None
|
|
22186
|
+
self._BranchType = None
|
|
22187
|
+
|
|
22188
|
+
@property
|
|
22189
|
+
def ASRTranscript(self):
|
|
22190
|
+
r"""<p>ASR语音识别引擎将用户语音转换成的原始文本结果</p>
|
|
22191
|
+
:rtype: str
|
|
22192
|
+
"""
|
|
22193
|
+
return self._ASRTranscript
|
|
22194
|
+
|
|
22195
|
+
@ASRTranscript.setter
|
|
22196
|
+
def ASRTranscript(self, ASRTranscript):
|
|
22197
|
+
self._ASRTranscript = ASRTranscript
|
|
22198
|
+
|
|
22199
|
+
@property
|
|
22200
|
+
def MatchedIntent(self):
|
|
22201
|
+
r"""<p>命中画布中该对话节点配置的回复分类</p>
|
|
22202
|
+
:rtype: str
|
|
22203
|
+
"""
|
|
22204
|
+
return self._MatchedIntent
|
|
22205
|
+
|
|
22206
|
+
@MatchedIntent.setter
|
|
22207
|
+
def MatchedIntent(self, MatchedIntent):
|
|
22208
|
+
self._MatchedIntent = MatchedIntent
|
|
22209
|
+
|
|
22210
|
+
@property
|
|
22211
|
+
def ExtractedSlots(self):
|
|
22212
|
+
r"""<p>用户回复分类的标签, json序列化后的信息</p>
|
|
22213
|
+
:rtype: str
|
|
22214
|
+
"""
|
|
22215
|
+
return self._ExtractedSlots
|
|
22216
|
+
|
|
22217
|
+
@ExtractedSlots.setter
|
|
22218
|
+
def ExtractedSlots(self, ExtractedSlots):
|
|
22219
|
+
self._ExtractedSlots = ExtractedSlots
|
|
22220
|
+
|
|
22221
|
+
@property
|
|
22222
|
+
def BranchType(self):
|
|
22223
|
+
r"""<p>用户回复命中的分支类型</p><p>枚举值:</p><ul><li>Intent: 用户意图</li><li>Fallback: 兜底分支</li><li>NoResponse: 无响应跳转分支</li><li>SlotCollectionSuccess: 词槽收集完成跳转分支</li><li>SlotCollectionFail: 词槽收集失败跳转分支</li><li>GlobalIntent: 全局节点意图</li><li>LogicAnd: 逻辑判断节点 and</li><li>LogicOr: 逻辑判断节点 or</li><li>DTMF成功: DTMFSuccess</li><li>DTMF失败: DTMFFail</li><li>DTMF导航: DTMFNavigation</li><li>DTMF分机: DTMFExtension</li><li>DTMF收号: DTMFCollection</li><li>转接智能体节点失败: TransferAgentFail</li></ul>
|
|
22224
|
+
:rtype: str
|
|
22225
|
+
"""
|
|
22226
|
+
return self._BranchType
|
|
22227
|
+
|
|
22228
|
+
@BranchType.setter
|
|
22229
|
+
def BranchType(self, BranchType):
|
|
22230
|
+
self._BranchType = BranchType
|
|
22231
|
+
|
|
22232
|
+
|
|
22233
|
+
def _deserialize(self, params):
|
|
22234
|
+
self._ASRTranscript = params.get("ASRTranscript")
|
|
22235
|
+
self._MatchedIntent = params.get("MatchedIntent")
|
|
22236
|
+
self._ExtractedSlots = params.get("ExtractedSlots")
|
|
22237
|
+
self._BranchType = params.get("BranchType")
|
|
22238
|
+
memeber_set = set(params.keys())
|
|
22239
|
+
for name, value in vars(self).items():
|
|
22240
|
+
property_name = name[1:]
|
|
22241
|
+
if property_name in memeber_set:
|
|
22242
|
+
memeber_set.remove(property_name)
|
|
22243
|
+
if len(memeber_set) > 0:
|
|
22244
|
+
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
|
|
22245
|
+
|
|
22246
|
+
|
|
22247
|
+
|
|
21660
22248
|
class Variable(AbstractModel):
|
|
21661
22249
|
r"""变量
|
|
21662
22250
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: tencentcloud-sdk-python-ccc
|
|
3
|
-
Version: 3.1.
|
|
3
|
+
Version: 3.1.95
|
|
4
4
|
Summary: Tencent Cloud Ccc SDK for Python
|
|
5
5
|
Home-page: https://github.com/TencentCloud/tencentcloud-sdk-python
|
|
6
6
|
Author: Tencent Cloud
|
|
@@ -15,7 +15,7 @@ Classifier: Programming Language :: Python :: 2.7
|
|
|
15
15
|
Classifier: Programming Language :: Python :: 3
|
|
16
16
|
Classifier: Programming Language :: Python :: 3.6
|
|
17
17
|
Classifier: Programming Language :: Python :: 3.7
|
|
18
|
-
Requires-Dist: tencentcloud-sdk-python-common<4.0.0,>=3.1.
|
|
18
|
+
Requires-Dist: tencentcloud-sdk-python-common<4.0.0,>=3.1.95
|
|
19
19
|
|
|
20
20
|
============================
|
|
21
21
|
Tencent Cloud SDK for Python
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
tencentcloud-sdk-python-common<4.0.0,>=3.1.95
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
tencentcloud-sdk-python-common<4.0.0,>=3.1.85
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|