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.
Files changed (17) hide show
  1. {tencentcloud_sdk_python_ccc-3.1.85 → tencentcloud_sdk_python_ccc-3.1.95}/PKG-INFO +2 -2
  2. {tencentcloud_sdk_python_ccc-3.1.85 → tencentcloud_sdk_python_ccc-3.1.95}/setup.py +1 -1
  3. {tencentcloud_sdk_python_ccc-3.1.85 → tencentcloud_sdk_python_ccc-3.1.95}/tencentcloud/__init__.py +1 -1
  4. {tencentcloud_sdk_python_ccc-3.1.85 → tencentcloud_sdk_python_ccc-3.1.95}/tencentcloud/ccc/v20200210/ccc_client.py +23 -0
  5. {tencentcloud_sdk_python_ccc-3.1.85 → tencentcloud_sdk_python_ccc-3.1.95}/tencentcloud/ccc/v20200210/ccc_client_async.py +18 -0
  6. {tencentcloud_sdk_python_ccc-3.1.85 → tencentcloud_sdk_python_ccc-3.1.95}/tencentcloud/ccc/v20200210/models.py +588 -0
  7. {tencentcloud_sdk_python_ccc-3.1.85 → tencentcloud_sdk_python_ccc-3.1.95}/tencentcloud_sdk_python_ccc.egg-info/PKG-INFO +2 -2
  8. tencentcloud_sdk_python_ccc-3.1.95/tencentcloud_sdk_python_ccc.egg-info/requires.txt +1 -0
  9. tencentcloud_sdk_python_ccc-3.1.85/tencentcloud_sdk_python_ccc.egg-info/requires.txt +0 -1
  10. {tencentcloud_sdk_python_ccc-3.1.85 → tencentcloud_sdk_python_ccc-3.1.95}/README.rst +0 -0
  11. {tencentcloud_sdk_python_ccc-3.1.85 → tencentcloud_sdk_python_ccc-3.1.95}/setup.cfg +0 -0
  12. {tencentcloud_sdk_python_ccc-3.1.85 → tencentcloud_sdk_python_ccc-3.1.95}/tencentcloud/ccc/__init__.py +0 -0
  13. {tencentcloud_sdk_python_ccc-3.1.85 → tencentcloud_sdk_python_ccc-3.1.95}/tencentcloud/ccc/v20200210/__init__.py +0 -0
  14. {tencentcloud_sdk_python_ccc-3.1.85 → tencentcloud_sdk_python_ccc-3.1.95}/tencentcloud/ccc/v20200210/errorcodes.py +0 -0
  15. {tencentcloud_sdk_python_ccc-3.1.85 → tencentcloud_sdk_python_ccc-3.1.95}/tencentcloud_sdk_python_ccc.egg-info/SOURCES.txt +0 -0
  16. {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
  17. {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.85
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.85
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.85,<4.0.0"],
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',
@@ -14,4 +14,4 @@
14
14
  # limitations under the License.
15
15
 
16
16
 
17
- __version__ = '3.1.85'
17
+ __version__ = '3.1.95'
@@ -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.85
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.85
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