deepgram.clients.analyze.v1.response
1# Copyright 2024 Deepgram SDK contributors. All Rights Reserved. 2# Use of this source code is governed by a MIT license that can be found in the LICENSE file. 3# SPDX-License-Identifier: MIT 4 5from typing import List, Optional, Dict, Any 6 7from dataclasses import dataclass, field 8from dataclasses_json import config as dataclass_config 9 10from ...common import ( 11 BaseResponse, 12 Average, 13 Intent, 14 Intents, 15 IntentsInfo, 16 Segment, 17 SentimentInfo, 18 Sentiment, 19 Sentiments, 20 SummaryInfo, 21 Topic, 22 Topics, 23 TopicsInfo, 24) 25 26 27# Async Analyze Response Types: 28 29 30@dataclass 31class AsyncAnalyzeResponse(BaseResponse): 32 """ 33 Async Analyze Response 34 """ 35 36 request_id: str = "" 37 38 39# Analyze Response Types: 40 41 42@dataclass 43class Metadata(BaseResponse): 44 """ 45 Metadata 46 """ 47 48 request_id: str = "" 49 created: str = "" 50 language: str = "" 51 intents_info: Optional[IntentsInfo] = field( 52 default=None, metadata=dataclass_config(exclude=lambda f: f is None) 53 ) 54 sentiment_info: Optional[SentimentInfo] = field( 55 default=None, metadata=dataclass_config(exclude=lambda f: f is None) 56 ) 57 summary_info: Optional[SummaryInfo] = field( 58 default=None, metadata=dataclass_config(exclude=lambda f: f is None) 59 ) 60 topics_info: Optional[TopicsInfo] = field( 61 default=None, metadata=dataclass_config(exclude=lambda f: f is None) 62 ) 63 64 def __getitem__(self, key): 65 _dict = self.to_dict() 66 if "intents_info" in _dict: 67 _dict["intents_info"] = IntentsInfo.from_dict(_dict["intents_info"]) 68 if "sentiment_info" in _dict: 69 _dict["sentiment_info"] = SentimentInfo.from_dict(_dict["sentiment_info"]) 70 if "summary_info" in _dict: 71 _dict["summary_info"] = SummaryInfo.from_dict(_dict["summary_info"]) 72 if "topics_info" in _dict: 73 _dict["topics_info"] = TopicsInfo.from_dict(_dict["topics_info"]) 74 return _dict[key] 75 76 77@dataclass 78class Summary(BaseResponse): 79 """ 80 Summary 81 """ 82 83 text: str = "" 84 85 86@dataclass 87class Results(BaseResponse): 88 """ 89 Results 90 """ 91 92 summary: Optional[Summary] = field( 93 default=None, metadata=dataclass_config(exclude=lambda f: f is None) 94 ) 95 sentiments: Optional[Sentiments] = field( 96 default=None, metadata=dataclass_config(exclude=lambda f: f is None) 97 ) 98 topics: Optional[Topics] = field( 99 default=None, metadata=dataclass_config(exclude=lambda f: f is None) 100 ) 101 intents: Optional[Intents] = field( 102 default=None, metadata=dataclass_config(exclude=lambda f: f is None) 103 ) 104 105 def __getitem__(self, key): 106 _dict = self.to_dict() 107 if "summary" in _dict: 108 _dict["summary"] = Summary.from_dict(_dict["summary"]) 109 if "sentiments" in _dict: 110 _dict["sentiments"] = Sentiments.from_dict(_dict["sentiments"]) 111 if "topics" in _dict: 112 _dict["topics"] = Topics.from_dict(_dict["topics"]) 113 if "intents" in _dict: 114 _dict["intents"] = Intents.from_dict(_dict["intents"]) 115 return _dict[key] 116 117 118# Analyze Response Result: 119 120 121@dataclass 122class AnalyzeResponse(BaseResponse): 123 """ 124 Analyze Response 125 """ 126 127 metadata: Optional[Metadata] = field( 128 default=None, metadata=dataclass_config(exclude=lambda f: f is None) 129 ) 130 results: Optional[Results] = field( 131 default=None, metadata=dataclass_config(exclude=lambda f: f is None) 132 ) 133 134 def __getitem__(self, key): 135 _dict = self.to_dict() 136 if "metadata" in _dict: 137 _dict["metadata"] = Metadata.from_dict(_dict["metadata"]) 138 if "results" in _dict: 139 _dict["results"] = Results.from_dict(_dict["results"]) 140 return _dict[key] 141 142 143SyncAnalyzeResponse = AnalyzeResponse
31@dataclass 32class AsyncAnalyzeResponse(BaseResponse): 33 """ 34 Async Analyze Response 35 """ 36 37 request_id: str = ""
Async Analyze Response
Inherited Members
43@dataclass 44class Metadata(BaseResponse): 45 """ 46 Metadata 47 """ 48 49 request_id: str = "" 50 created: str = "" 51 language: str = "" 52 intents_info: Optional[IntentsInfo] = field( 53 default=None, metadata=dataclass_config(exclude=lambda f: f is None) 54 ) 55 sentiment_info: Optional[SentimentInfo] = field( 56 default=None, metadata=dataclass_config(exclude=lambda f: f is None) 57 ) 58 summary_info: Optional[SummaryInfo] = field( 59 default=None, metadata=dataclass_config(exclude=lambda f: f is None) 60 ) 61 topics_info: Optional[TopicsInfo] = field( 62 default=None, metadata=dataclass_config(exclude=lambda f: f is None) 63 ) 64 65 def __getitem__(self, key): 66 _dict = self.to_dict() 67 if "intents_info" in _dict: 68 _dict["intents_info"] = IntentsInfo.from_dict(_dict["intents_info"]) 69 if "sentiment_info" in _dict: 70 _dict["sentiment_info"] = SentimentInfo.from_dict(_dict["sentiment_info"]) 71 if "summary_info" in _dict: 72 _dict["summary_info"] = SummaryInfo.from_dict(_dict["summary_info"]) 73 if "topics_info" in _dict: 74 _dict["topics_info"] = TopicsInfo.from_dict(_dict["topics_info"]) 75 return _dict[key]
Metadata
Metadata( request_id: str = '', created: str = '', language: str = '', intents_info: Optional[deepgram.clients.common.IntentsInfo] = None, sentiment_info: Optional[deepgram.clients.common.SentimentInfo] = None, summary_info: Optional[deepgram.clients.common.SummaryInfo] = None, topics_info: Optional[deepgram.clients.common.TopicsInfo] = None)
Inherited Members
Summary
Inherited Members
87@dataclass 88class Results(BaseResponse): 89 """ 90 Results 91 """ 92 93 summary: Optional[Summary] = field( 94 default=None, metadata=dataclass_config(exclude=lambda f: f is None) 95 ) 96 sentiments: Optional[Sentiments] = field( 97 default=None, metadata=dataclass_config(exclude=lambda f: f is None) 98 ) 99 topics: Optional[Topics] = field( 100 default=None, metadata=dataclass_config(exclude=lambda f: f is None) 101 ) 102 intents: Optional[Intents] = field( 103 default=None, metadata=dataclass_config(exclude=lambda f: f is None) 104 ) 105 106 def __getitem__(self, key): 107 _dict = self.to_dict() 108 if "summary" in _dict: 109 _dict["summary"] = Summary.from_dict(_dict["summary"]) 110 if "sentiments" in _dict: 111 _dict["sentiments"] = Sentiments.from_dict(_dict["sentiments"]) 112 if "topics" in _dict: 113 _dict["topics"] = Topics.from_dict(_dict["topics"]) 114 if "intents" in _dict: 115 _dict["intents"] = Intents.from_dict(_dict["intents"]) 116 return _dict[key]
Results
Results( summary: Optional[Summary] = None, sentiments: Optional[deepgram.clients.common.Sentiments] = None, topics: Optional[deepgram.clients.common.Topics] = None, intents: Optional[deepgram.clients.common.Intents] = None)
Inherited Members
122@dataclass 123class AnalyzeResponse(BaseResponse): 124 """ 125 Analyze Response 126 """ 127 128 metadata: Optional[Metadata] = field( 129 default=None, metadata=dataclass_config(exclude=lambda f: f is None) 130 ) 131 results: Optional[Results] = field( 132 default=None, metadata=dataclass_config(exclude=lambda f: f is None) 133 ) 134 135 def __getitem__(self, key): 136 _dict = self.to_dict() 137 if "metadata" in _dict: 138 _dict["metadata"] = Metadata.from_dict(_dict["metadata"]) 139 if "results" in _dict: 140 _dict["results"] = Results.from_dict(_dict["results"]) 141 return _dict[key]
Analyze Response
Inherited Members
SyncAnalyzeResponse =
<class 'AnalyzeResponse'>