paillmtrace-20240311/alibabacloud_paillmtrace20240311/models.py (2,289 lines of code) (raw):

# -*- coding: utf-8 -*- # This file is auto-generated, don't edit it. Thanks. from Tea.model import TeaModel from typing import List, Dict, Any class EvaluationConfigAnswer(TeaModel): def __init__( self, json_path_in_span: str = None, json_path_in_span_value: str = None, span_name: str = None, ): self.json_path_in_span = json_path_in_span self.json_path_in_span_value = json_path_in_span_value self.span_name = span_name def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.json_path_in_span is not None: result['JsonPathInSpan'] = self.json_path_in_span if self.json_path_in_span_value is not None: result['JsonPathInSpanValue'] = self.json_path_in_span_value if self.span_name is not None: result['SpanName'] = self.span_name return result def from_map(self, m: dict = None): m = m or dict() if m.get('JsonPathInSpan') is not None: self.json_path_in_span = m.get('JsonPathInSpan') if m.get('JsonPathInSpanValue') is not None: self.json_path_in_span_value = m.get('JsonPathInSpanValue') if m.get('SpanName') is not None: self.span_name = m.get('SpanName') return self class EvaluationConfigContext(TeaModel): def __init__( self, json_path_in_span: str = None, json_path_in_span_value: str = None, span_name: str = None, ): self.json_path_in_span = json_path_in_span self.json_path_in_span_value = json_path_in_span_value self.span_name = span_name def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.json_path_in_span is not None: result['JsonPathInSpan'] = self.json_path_in_span if self.json_path_in_span_value is not None: result['JsonPathInSpanValue'] = self.json_path_in_span_value if self.span_name is not None: result['SpanName'] = self.span_name return result def from_map(self, m: dict = None): m = m or dict() if m.get('JsonPathInSpan') is not None: self.json_path_in_span = m.get('JsonPathInSpan') if m.get('JsonPathInSpanValue') is not None: self.json_path_in_span_value = m.get('JsonPathInSpanValue') if m.get('SpanName') is not None: self.span_name = m.get('SpanName') return self class EvaluationConfigQuery(TeaModel): def __init__( self, json_path_in_span: str = None, json_path_in_span_value: str = None, span_name: str = None, ): self.json_path_in_span = json_path_in_span self.json_path_in_span_value = json_path_in_span_value self.span_name = span_name def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.json_path_in_span is not None: result['JsonPathInSpan'] = self.json_path_in_span if self.json_path_in_span_value is not None: result['JsonPathInSpanValue'] = self.json_path_in_span_value if self.span_name is not None: result['SpanName'] = self.span_name return result def from_map(self, m: dict = None): m = m or dict() if m.get('JsonPathInSpan') is not None: self.json_path_in_span = m.get('JsonPathInSpan') if m.get('JsonPathInSpanValue') is not None: self.json_path_in_span_value = m.get('JsonPathInSpanValue') if m.get('SpanName') is not None: self.span_name = m.get('SpanName') return self class EvaluationConfig(TeaModel): def __init__( self, answer: EvaluationConfigAnswer = None, context: EvaluationConfigContext = None, query: EvaluationConfigQuery = None, ): self.answer = answer self.context = context self.query = query def validate(self): if self.answer: self.answer.validate() if self.context: self.context.validate() if self.query: self.query.validate() def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.answer is not None: result['Answer'] = self.answer.to_map() if self.context is not None: result['Context'] = self.context.to_map() if self.query is not None: result['Query'] = self.query.to_map() return result def from_map(self, m: dict = None): m = m or dict() if m.get('Answer') is not None: temp_model = EvaluationConfigAnswer() self.answer = temp_model.from_map(m['Answer']) if m.get('Context') is not None: temp_model = EvaluationConfigContext() self.context = temp_model.from_map(m['Context']) if m.get('Query') is not None: temp_model = EvaluationConfigQuery() self.query = temp_model.from_map(m['Query']) return self class ModelConfig(TeaModel): def __init__( self, api_key: str = None, endpoint: str = None, is_self_host: bool = None, name: str = None, temperature: float = None, top_p: float = None, use_function_call: bool = None, ): self.api_key = api_key self.endpoint = endpoint self.is_self_host = is_self_host self.name = name self.temperature = temperature self.top_p = top_p self.use_function_call = use_function_call def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.api_key is not None: result['ApiKey'] = self.api_key if self.endpoint is not None: result['Endpoint'] = self.endpoint if self.is_self_host is not None: result['IsSelfHost'] = self.is_self_host if self.name is not None: result['Name'] = self.name if self.temperature is not None: result['Temperature'] = self.temperature if self.top_p is not None: result['TopP'] = self.top_p if self.use_function_call is not None: result['UseFunctionCall'] = self.use_function_call return result def from_map(self, m: dict = None): m = m or dict() if m.get('ApiKey') is not None: self.api_key = m.get('ApiKey') if m.get('Endpoint') is not None: self.endpoint = m.get('Endpoint') if m.get('IsSelfHost') is not None: self.is_self_host = m.get('IsSelfHost') if m.get('Name') is not None: self.name = m.get('Name') if m.get('Temperature') is not None: self.temperature = m.get('Temperature') if m.get('TopP') is not None: self.top_p = m.get('TopP') if m.get('UseFunctionCall') is not None: self.use_function_call = m.get('UseFunctionCall') return self class CreateOnlineEvalTaskRequestBodyFilters(TeaModel): def __init__( self, key: str = None, operator: str = None, value: str = None, ): self.key = key self.operator = operator self.value = value def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.key is not None: result['Key'] = self.key if self.operator is not None: result['Operator'] = self.operator if self.value is not None: result['Value'] = self.value return result def from_map(self, m: dict = None): m = m or dict() if m.get('Key') is not None: self.key = m.get('Key') if m.get('Operator') is not None: self.operator = m.get('Operator') if m.get('Value') is not None: self.value = m.get('Value') return self class CreateOnlineEvalTaskRequestBody(TeaModel): def __init__( self, app_name: str = None, description: str = None, end_time: str = None, evaluation_config: EvaluationConfig = None, filters: List[CreateOnlineEvalTaskRequestBodyFilters] = None, model_config: ModelConfig = None, sampling_frequency_minutes: int = None, sampling_ratio: int = None, start_time: str = None, task_name: str = None, ): self.app_name = app_name self.description = description self.end_time = end_time self.evaluation_config = evaluation_config self.filters = filters self.model_config = model_config self.sampling_frequency_minutes = sampling_frequency_minutes self.sampling_ratio = sampling_ratio self.start_time = start_time self.task_name = task_name def validate(self): if self.evaluation_config: self.evaluation_config.validate() if self.filters: for k in self.filters: if k: k.validate() if self.model_config: self.model_config.validate() def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.app_name is not None: result['AppName'] = self.app_name if self.description is not None: result['Description'] = self.description if self.end_time is not None: result['EndTime'] = self.end_time if self.evaluation_config is not None: result['EvaluationConfig'] = self.evaluation_config.to_map() result['Filters'] = [] if self.filters is not None: for k in self.filters: result['Filters'].append(k.to_map() if k else None) if self.model_config is not None: result['ModelConfig'] = self.model_config.to_map() if self.sampling_frequency_minutes is not None: result['SamplingFrequencyMinutes'] = self.sampling_frequency_minutes if self.sampling_ratio is not None: result['SamplingRatio'] = self.sampling_ratio if self.start_time is not None: result['StartTime'] = self.start_time if self.task_name is not None: result['TaskName'] = self.task_name return result def from_map(self, m: dict = None): m = m or dict() if m.get('AppName') is not None: self.app_name = m.get('AppName') if m.get('Description') is not None: self.description = m.get('Description') if m.get('EndTime') is not None: self.end_time = m.get('EndTime') if m.get('EvaluationConfig') is not None: temp_model = EvaluationConfig() self.evaluation_config = temp_model.from_map(m['EvaluationConfig']) self.filters = [] if m.get('Filters') is not None: for k in m.get('Filters'): temp_model = CreateOnlineEvalTaskRequestBodyFilters() self.filters.append(temp_model.from_map(k)) if m.get('ModelConfig') is not None: temp_model = ModelConfig() self.model_config = temp_model.from_map(m['ModelConfig']) if m.get('SamplingFrequencyMinutes') is not None: self.sampling_frequency_minutes = m.get('SamplingFrequencyMinutes') if m.get('SamplingRatio') is not None: self.sampling_ratio = m.get('SamplingRatio') if m.get('StartTime') is not None: self.start_time = m.get('StartTime') if m.get('TaskName') is not None: self.task_name = m.get('TaskName') return self class CreateOnlineEvalTaskRequest(TeaModel): def __init__( self, body: CreateOnlineEvalTaskRequestBody = None, ): self.body = body def validate(self): if self.body: self.body.validate() def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m: dict = None): m = m or dict() if m.get('body') is not None: temp_model = CreateOnlineEvalTaskRequestBody() self.body = temp_model.from_map(m['body']) return self class CreateOnlineEvalTaskShrinkRequest(TeaModel): def __init__( self, body_shrink: str = None, ): self.body_shrink = body_shrink def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.body_shrink is not None: result['body'] = self.body_shrink return result def from_map(self, m: dict = None): m = m or dict() if m.get('body') is not None: self.body_shrink = m.get('body') return self class CreateOnlineEvalTaskResponseBody(TeaModel): def __init__( self, code: str = None, message: str = None, request_id: str = None, task_id: str = None, ): self.code = code self.message = message # Id of the request self.request_id = request_id self.task_id = task_id def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.message is not None: result['Message'] = self.message if self.request_id is not None: result['RequestId'] = self.request_id if self.task_id is not None: result['TaskId'] = self.task_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('Message') is not None: self.message = m.get('Message') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('TaskId') is not None: self.task_id = m.get('TaskId') return self class CreateOnlineEvalTaskResponse(TeaModel): def __init__( self, headers: Dict[str, str] = None, status_code: int = None, body: CreateOnlineEvalTaskResponseBody = None, ): self.headers = headers self.status_code = status_code self.body = body def validate(self): if self.body: self.body.validate() def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m: dict = None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = CreateOnlineEvalTaskResponseBody() self.body = temp_model.from_map(m['body']) return self class CreateServiceIdentityRoleResponseBody(TeaModel): def __init__( self, code: str = None, message: str = None, request_id: str = None, role_details: str = None, role_name: str = None, ): # The error code returned if the request fails. self.code = code # The error message returned if the request fails. self.message = message # Id of the request self.request_id = request_id # The role details. self.role_details = role_details # The name of the service-linked role. Default value: AliyunServiceRoleForPaiLLMTrace. self.role_name = role_name def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.message is not None: result['Message'] = self.message if self.request_id is not None: result['RequestId'] = self.request_id if self.role_details is not None: result['RoleDetails'] = self.role_details if self.role_name is not None: result['RoleName'] = self.role_name return result def from_map(self, m: dict = None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('Message') is not None: self.message = m.get('Message') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('RoleDetails') is not None: self.role_details = m.get('RoleDetails') if m.get('RoleName') is not None: self.role_name = m.get('RoleName') return self class CreateServiceIdentityRoleResponse(TeaModel): def __init__( self, headers: Dict[str, str] = None, status_code: int = None, body: CreateServiceIdentityRoleResponseBody = None, ): self.headers = headers self.status_code = status_code self.body = body def validate(self): if self.body: self.body.validate() def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m: dict = None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = CreateServiceIdentityRoleResponseBody() self.body = temp_model.from_map(m['body']) return self class DeleteOnlineEvalTaskResponseBody(TeaModel): def __init__( self, code: str = None, message: str = None, request_id: str = None, ): self.code = code self.message = message # Id of the request self.request_id = request_id def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.message is not None: result['Message'] = self.message if self.request_id is not None: result['RequestId'] = self.request_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('Message') is not None: self.message = m.get('Message') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') return self class DeleteOnlineEvalTaskResponse(TeaModel): def __init__( self, headers: Dict[str, str] = None, status_code: int = None, body: DeleteOnlineEvalTaskResponseBody = None, ): self.headers = headers self.status_code = status_code self.body = body def validate(self): if self.body: self.body.validate() def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m: dict = None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = DeleteOnlineEvalTaskResponseBody() self.body = temp_model.from_map(m['body']) return self class EvaluateTraceRequest(TeaModel): def __init__( self, app_name: str = None, evaluation_config: EvaluationConfig = None, evaluation_id: str = None, max_time: str = None, min_time: str = None, model_config: ModelConfig = None, ): self.app_name = app_name # This parameter is required. self.evaluation_config = evaluation_config self.evaluation_id = evaluation_id self.max_time = max_time self.min_time = min_time self.model_config = model_config def validate(self): if self.evaluation_config: self.evaluation_config.validate() if self.model_config: self.model_config.validate() def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.app_name is not None: result['AppName'] = self.app_name if self.evaluation_config is not None: result['EvaluationConfig'] = self.evaluation_config.to_map() if self.evaluation_id is not None: result['EvaluationId'] = self.evaluation_id if self.max_time is not None: result['MaxTime'] = self.max_time if self.min_time is not None: result['MinTime'] = self.min_time if self.model_config is not None: result['ModelConfig'] = self.model_config.to_map() return result def from_map(self, m: dict = None): m = m or dict() if m.get('AppName') is not None: self.app_name = m.get('AppName') if m.get('EvaluationConfig') is not None: temp_model = EvaluationConfig() self.evaluation_config = temp_model.from_map(m['EvaluationConfig']) if m.get('EvaluationId') is not None: self.evaluation_id = m.get('EvaluationId') if m.get('MaxTime') is not None: self.max_time = m.get('MaxTime') if m.get('MinTime') is not None: self.min_time = m.get('MinTime') if m.get('ModelConfig') is not None: temp_model = ModelConfig() self.model_config = temp_model.from_map(m['ModelConfig']) return self class EvaluateTraceResponseBody(TeaModel): def __init__( self, code: str = None, evaluation_id: str = None, message: str = None, request_id: str = None, ): self.code = code self.evaluation_id = evaluation_id self.message = message # Id of the request self.request_id = request_id def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.evaluation_id is not None: result['EvaluationId'] = self.evaluation_id if self.message is not None: result['Message'] = self.message if self.request_id is not None: result['RequestId'] = self.request_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('EvaluationId') is not None: self.evaluation_id = m.get('EvaluationId') if m.get('Message') is not None: self.message = m.get('Message') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') return self class EvaluateTraceResponse(TeaModel): def __init__( self, headers: Dict[str, str] = None, status_code: int = None, body: EvaluateTraceResponseBody = None, ): self.headers = headers self.status_code = status_code self.body = body def validate(self): if self.body: self.body.validate() def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m: dict = None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = EvaluateTraceResponseBody() self.body = temp_model.from_map(m['body']) return self class GetEvaluationTemplatesResponseBody(TeaModel): def __init__( self, code: str = None, evaluation_templates: List[Any] = None, message: str = None, request_id: str = None, ): self.code = code self.evaluation_templates = evaluation_templates self.message = message # Id of the request self.request_id = request_id def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.evaluation_templates is not None: result['EvaluationTemplates'] = self.evaluation_templates if self.message is not None: result['Message'] = self.message if self.request_id is not None: result['RequestId'] = self.request_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('EvaluationTemplates') is not None: self.evaluation_templates = m.get('EvaluationTemplates') if m.get('Message') is not None: self.message = m.get('Message') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') return self class GetEvaluationTemplatesResponse(TeaModel): def __init__( self, headers: Dict[str, str] = None, status_code: int = None, body: GetEvaluationTemplatesResponseBody = None, ): self.headers = headers self.status_code = status_code self.body = body def validate(self): if self.body: self.body.validate() def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m: dict = None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = GetEvaluationTemplatesResponseBody() self.body = temp_model.from_map(m['body']) return self class GetOnlineEvalTaskResponseBodyTaskFilters(TeaModel): def __init__( self, key: str = None, operator: str = None, value: str = None, ): self.key = key self.operator = operator self.value = value def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.key is not None: result['Key'] = self.key if self.operator is not None: result['Operator'] = self.operator if self.value is not None: result['Value'] = self.value return result def from_map(self, m: dict = None): m = m or dict() if m.get('Key') is not None: self.key = m.get('Key') if m.get('Operator') is not None: self.operator = m.get('Operator') if m.get('Value') is not None: self.value = m.get('Value') return self class GetOnlineEvalTaskResponseBodyTask(TeaModel): def __init__( self, aliyun_uid: str = None, app_name: str = None, description: str = None, eval_results: str = None, evaluation_config: EvaluationConfig = None, filters: List[GetOnlineEvalTaskResponseBodyTaskFilters] = None, gmt_create_time: str = None, gmt_end_time: str = None, gmt_last_sampling_window_end_time: str = None, gmt_last_sampling_window_start_time: str = None, gmt_start_time: str = None, id: str = None, model_config: ModelConfig = None, name: str = None, record_count: int = None, sampling_frequency_minutes: int = None, sampling_ratio: int = None, status: str = None, user_id: str = None, ): self.aliyun_uid = aliyun_uid self.app_name = app_name self.description = description self.eval_results = eval_results self.evaluation_config = evaluation_config self.filters = filters self.gmt_create_time = gmt_create_time self.gmt_end_time = gmt_end_time self.gmt_last_sampling_window_end_time = gmt_last_sampling_window_end_time self.gmt_last_sampling_window_start_time = gmt_last_sampling_window_start_time self.gmt_start_time = gmt_start_time self.id = id self.model_config = model_config self.name = name self.record_count = record_count self.sampling_frequency_minutes = sampling_frequency_minutes self.sampling_ratio = sampling_ratio self.status = status self.user_id = user_id def validate(self): if self.evaluation_config: self.evaluation_config.validate() if self.filters: for k in self.filters: if k: k.validate() if self.model_config: self.model_config.validate() def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.aliyun_uid is not None: result['AliyunUid'] = self.aliyun_uid if self.app_name is not None: result['AppName'] = self.app_name if self.description is not None: result['Description'] = self.description if self.eval_results is not None: result['EvalResults'] = self.eval_results if self.evaluation_config is not None: result['EvaluationConfig'] = self.evaluation_config.to_map() result['Filters'] = [] if self.filters is not None: for k in self.filters: result['Filters'].append(k.to_map() if k else None) if self.gmt_create_time is not None: result['GmtCreateTime'] = self.gmt_create_time if self.gmt_end_time is not None: result['GmtEndTime'] = self.gmt_end_time if self.gmt_last_sampling_window_end_time is not None: result['GmtLastSamplingWindowEndTime'] = self.gmt_last_sampling_window_end_time if self.gmt_last_sampling_window_start_time is not None: result['GmtLastSamplingWindowStartTime'] = self.gmt_last_sampling_window_start_time if self.gmt_start_time is not None: result['GmtStartTime'] = self.gmt_start_time if self.id is not None: result['Id'] = self.id if self.model_config is not None: result['ModelConfig'] = self.model_config.to_map() if self.name is not None: result['Name'] = self.name if self.record_count is not None: result['RecordCount'] = self.record_count if self.sampling_frequency_minutes is not None: result['SamplingFrequencyMinutes'] = self.sampling_frequency_minutes if self.sampling_ratio is not None: result['SamplingRatio'] = self.sampling_ratio if self.status is not None: result['Status'] = self.status if self.user_id is not None: result['UserId'] = self.user_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('AliyunUid') is not None: self.aliyun_uid = m.get('AliyunUid') if m.get('AppName') is not None: self.app_name = m.get('AppName') if m.get('Description') is not None: self.description = m.get('Description') if m.get('EvalResults') is not None: self.eval_results = m.get('EvalResults') if m.get('EvaluationConfig') is not None: temp_model = EvaluationConfig() self.evaluation_config = temp_model.from_map(m['EvaluationConfig']) self.filters = [] if m.get('Filters') is not None: for k in m.get('Filters'): temp_model = GetOnlineEvalTaskResponseBodyTaskFilters() self.filters.append(temp_model.from_map(k)) if m.get('GmtCreateTime') is not None: self.gmt_create_time = m.get('GmtCreateTime') if m.get('GmtEndTime') is not None: self.gmt_end_time = m.get('GmtEndTime') if m.get('GmtLastSamplingWindowEndTime') is not None: self.gmt_last_sampling_window_end_time = m.get('GmtLastSamplingWindowEndTime') if m.get('GmtLastSamplingWindowStartTime') is not None: self.gmt_last_sampling_window_start_time = m.get('GmtLastSamplingWindowStartTime') if m.get('GmtStartTime') is not None: self.gmt_start_time = m.get('GmtStartTime') if m.get('Id') is not None: self.id = m.get('Id') if m.get('ModelConfig') is not None: temp_model = ModelConfig() self.model_config = temp_model.from_map(m['ModelConfig']) if m.get('Name') is not None: self.name = m.get('Name') if m.get('RecordCount') is not None: self.record_count = m.get('RecordCount') if m.get('SamplingFrequencyMinutes') is not None: self.sampling_frequency_minutes = m.get('SamplingFrequencyMinutes') if m.get('SamplingRatio') is not None: self.sampling_ratio = m.get('SamplingRatio') if m.get('Status') is not None: self.status = m.get('Status') if m.get('UserId') is not None: self.user_id = m.get('UserId') return self class GetOnlineEvalTaskResponseBody(TeaModel): def __init__( self, code: str = None, message: str = None, request_id: str = None, task: GetOnlineEvalTaskResponseBodyTask = None, ): self.code = code self.message = message # POP request id self.request_id = request_id self.task = task def validate(self): if self.task: self.task.validate() def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.message is not None: result['Message'] = self.message if self.request_id is not None: result['RequestId'] = self.request_id if self.task is not None: result['Task'] = self.task.to_map() return result def from_map(self, m: dict = None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('Message') is not None: self.message = m.get('Message') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('Task') is not None: temp_model = GetOnlineEvalTaskResponseBodyTask() self.task = temp_model.from_map(m['Task']) return self class GetOnlineEvalTaskResponse(TeaModel): def __init__( self, headers: Dict[str, str] = None, status_code: int = None, body: GetOnlineEvalTaskResponseBody = None, ): self.headers = headers self.status_code = status_code self.body = body def validate(self): if self.body: self.body.validate() def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m: dict = None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = GetOnlineEvalTaskResponseBody() self.body = temp_model.from_map(m['body']) return self class GetServiceIdentityRoleResponseBody(TeaModel): def __init__( self, code: str = None, message: str = None, request_id: str = None, role_detail: str = None, role_name: str = None, ): # The internal error code. This parameter is returned only when an error occurs. self.code = code # The error message. This parameter is returned only when an error occurs. self.message = message # Id of the request self.request_id = request_id # The role details. self.role_detail = role_detail # The name of the service-linked role. Default value: AliyunServiceRoleForPaiLLMTrace. self.role_name = role_name def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.message is not None: result['Message'] = self.message if self.request_id is not None: result['RequestId'] = self.request_id if self.role_detail is not None: result['RoleDetail'] = self.role_detail if self.role_name is not None: result['RoleName'] = self.role_name return result def from_map(self, m: dict = None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('Message') is not None: self.message = m.get('Message') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('RoleDetail') is not None: self.role_detail = m.get('RoleDetail') if m.get('RoleName') is not None: self.role_name = m.get('RoleName') return self class GetServiceIdentityRoleResponse(TeaModel): def __init__( self, headers: Dict[str, str] = None, status_code: int = None, body: GetServiceIdentityRoleResponseBody = None, ): self.headers = headers self.status_code = status_code self.body = body def validate(self): if self.body: self.body.validate() def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m: dict = None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = GetServiceIdentityRoleResponseBody() self.body = temp_model.from_map(m['body']) return self class GetXtraceTokenResponseBody(TeaModel): def __init__( self, code: str = None, grpc_endpoint: str = None, grpc_internal_endpoint: str = None, http_endpoint: str = None, http_internal_endpoint: str = None, message: str = None, request_id: str = None, token: str = None, ): # The internal error code. This parameter is returned only when an error occurs. self.code = code # The gRPC endpoint used for uploading ARM traces. self.grpc_endpoint = grpc_endpoint # The internal gRPC endpoint used for uploading ARMS traces used by Alibaba Cloud. self.grpc_internal_endpoint = grpc_internal_endpoint # The endpoint used for uploading ARMS traces. self.http_endpoint = http_endpoint # The internal endpoint used for uploading ARMS traces used by Alibaba Cloud. self.http_internal_endpoint = http_internal_endpoint # The error message. This parameter is returned only when an error occurs. self.message = message # Id of the request self.request_id = request_id # The token used for uploading ARMS traces. self.token = token def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.grpc_endpoint is not None: result['GrpcEndpoint'] = self.grpc_endpoint if self.grpc_internal_endpoint is not None: result['GrpcInternalEndpoint'] = self.grpc_internal_endpoint if self.http_endpoint is not None: result['HttpEndpoint'] = self.http_endpoint if self.http_internal_endpoint is not None: result['HttpInternalEndpoint'] = self.http_internal_endpoint if self.message is not None: result['Message'] = self.message if self.request_id is not None: result['RequestId'] = self.request_id if self.token is not None: result['Token'] = self.token return result def from_map(self, m: dict = None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('GrpcEndpoint') is not None: self.grpc_endpoint = m.get('GrpcEndpoint') if m.get('GrpcInternalEndpoint') is not None: self.grpc_internal_endpoint = m.get('GrpcInternalEndpoint') if m.get('HttpEndpoint') is not None: self.http_endpoint = m.get('HttpEndpoint') if m.get('HttpInternalEndpoint') is not None: self.http_internal_endpoint = m.get('HttpInternalEndpoint') if m.get('Message') is not None: self.message = m.get('Message') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('Token') is not None: self.token = m.get('Token') return self class GetXtraceTokenResponse(TeaModel): def __init__( self, headers: Dict[str, str] = None, status_code: int = None, body: GetXtraceTokenResponseBody = None, ): self.headers = headers self.status_code = status_code self.body = body def validate(self): if self.body: self.body.validate() def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m: dict = None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = GetXtraceTokenResponseBody() self.body = temp_model.from_map(m['body']) return self class ListOnlineEvalTaskResultsRequest(TeaModel): def __init__( self, evaluation_id: str = None, most_recent_results_only: bool = None, page_number: int = None, page_size: int = None, trace_ids: List[str] = None, ): self.evaluation_id = evaluation_id self.most_recent_results_only = most_recent_results_only self.page_number = page_number self.page_size = page_size self.trace_ids = trace_ids def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.evaluation_id is not None: result['EvaluationId'] = self.evaluation_id if self.most_recent_results_only is not None: result['MostRecentResultsOnly'] = self.most_recent_results_only if self.page_number is not None: result['PageNumber'] = self.page_number if self.page_size is not None: result['PageSize'] = self.page_size if self.trace_ids is not None: result['TraceIds'] = self.trace_ids return result def from_map(self, m: dict = None): m = m or dict() if m.get('EvaluationId') is not None: self.evaluation_id = m.get('EvaluationId') if m.get('MostRecentResultsOnly') is not None: self.most_recent_results_only = m.get('MostRecentResultsOnly') if m.get('PageNumber') is not None: self.page_number = m.get('PageNumber') if m.get('PageSize') is not None: self.page_size = m.get('PageSize') if m.get('TraceIds') is not None: self.trace_ids = m.get('TraceIds') return self class ListOnlineEvalTaskResultsShrinkRequest(TeaModel): def __init__( self, evaluation_id: str = None, most_recent_results_only: bool = None, page_number: int = None, page_size: int = None, trace_ids_shrink: str = None, ): self.evaluation_id = evaluation_id self.most_recent_results_only = most_recent_results_only self.page_number = page_number self.page_size = page_size self.trace_ids_shrink = trace_ids_shrink def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.evaluation_id is not None: result['EvaluationId'] = self.evaluation_id if self.most_recent_results_only is not None: result['MostRecentResultsOnly'] = self.most_recent_results_only if self.page_number is not None: result['PageNumber'] = self.page_number if self.page_size is not None: result['PageSize'] = self.page_size if self.trace_ids_shrink is not None: result['TraceIds'] = self.trace_ids_shrink return result def from_map(self, m: dict = None): m = m or dict() if m.get('EvaluationId') is not None: self.evaluation_id = m.get('EvaluationId') if m.get('MostRecentResultsOnly') is not None: self.most_recent_results_only = m.get('MostRecentResultsOnly') if m.get('PageNumber') is not None: self.page_number = m.get('PageNumber') if m.get('PageSize') is not None: self.page_size = m.get('PageSize') if m.get('TraceIds') is not None: self.trace_ids_shrink = m.get('TraceIds') return self class ListOnlineEvalTaskResultsResponseBody(TeaModel): def __init__( self, code: str = None, evaluation_results: List[str] = None, message: str = None, request_id: str = None, total_count: int = None, ): self.code = code self.evaluation_results = evaluation_results self.message = message # Id of the request self.request_id = request_id self.total_count = total_count def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.evaluation_results is not None: result['EvaluationResults'] = self.evaluation_results if self.message is not None: result['Message'] = self.message if self.request_id is not None: result['RequestId'] = self.request_id if self.total_count is not None: result['TotalCount'] = self.total_count return result def from_map(self, m: dict = None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('EvaluationResults') is not None: self.evaluation_results = m.get('EvaluationResults') if m.get('Message') is not None: self.message = m.get('Message') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('TotalCount') is not None: self.total_count = m.get('TotalCount') return self class ListOnlineEvalTaskResultsResponse(TeaModel): def __init__( self, headers: Dict[str, str] = None, status_code: int = None, body: ListOnlineEvalTaskResultsResponseBody = None, ): self.headers = headers self.status_code = status_code self.body = body def validate(self): if self.body: self.body.validate() def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m: dict = None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = ListOnlineEvalTaskResultsResponseBody() self.body = temp_model.from_map(m['body']) return self class ListOnlineEvalTasksRequest(TeaModel): def __init__( self, keyword: str = None, max_time: str = None, min_time: str = None, page_number: int = None, page_size: int = None, ): self.keyword = keyword self.max_time = max_time self.min_time = min_time self.page_number = page_number self.page_size = page_size def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.keyword is not None: result['Keyword'] = self.keyword if self.max_time is not None: result['MaxTime'] = self.max_time if self.min_time is not None: result['MinTime'] = self.min_time if self.page_number is not None: result['PageNumber'] = self.page_number if self.page_size is not None: result['PageSize'] = self.page_size return result def from_map(self, m: dict = None): m = m or dict() if m.get('Keyword') is not None: self.keyword = m.get('Keyword') if m.get('MaxTime') is not None: self.max_time = m.get('MaxTime') if m.get('MinTime') is not None: self.min_time = m.get('MinTime') if m.get('PageNumber') is not None: self.page_number = m.get('PageNumber') if m.get('PageSize') is not None: self.page_size = m.get('PageSize') return self class ListOnlineEvalTasksResponseBodyTasksFilters(TeaModel): def __init__( self, key: str = None, operator: str = None, value: str = None, ): self.key = key self.operator = operator self.value = value def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.key is not None: result['Key'] = self.key if self.operator is not None: result['Operator'] = self.operator if self.value is not None: result['Value'] = self.value return result def from_map(self, m: dict = None): m = m or dict() if m.get('Key') is not None: self.key = m.get('Key') if m.get('Operator') is not None: self.operator = m.get('Operator') if m.get('Value') is not None: self.value = m.get('Value') return self class ListOnlineEvalTasksResponseBodyTasks(TeaModel): def __init__( self, aliyun_uid: str = None, app_name: str = None, description: str = None, evaluation_config: EvaluationConfig = None, filters: List[ListOnlineEvalTasksResponseBodyTasksFilters] = None, gmt_create_time: str = None, gmt_end_time: str = None, gmt_start_time: str = None, id: str = None, model_config: ModelConfig = None, name: str = None, sampling_frequency_minutes: int = None, sampling_ratio: int = None, status: str = None, user_id: str = None, ): self.aliyun_uid = aliyun_uid self.app_name = app_name self.description = description self.evaluation_config = evaluation_config self.filters = filters self.gmt_create_time = gmt_create_time self.gmt_end_time = gmt_end_time self.gmt_start_time = gmt_start_time self.id = id self.model_config = model_config self.name = name self.sampling_frequency_minutes = sampling_frequency_minutes self.sampling_ratio = sampling_ratio self.status = status self.user_id = user_id def validate(self): if self.evaluation_config: self.evaluation_config.validate() if self.filters: for k in self.filters: if k: k.validate() if self.model_config: self.model_config.validate() def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.aliyun_uid is not None: result['AliyunUid'] = self.aliyun_uid if self.app_name is not None: result['AppName'] = self.app_name if self.description is not None: result['Description'] = self.description if self.evaluation_config is not None: result['EvaluationConfig'] = self.evaluation_config.to_map() result['Filters'] = [] if self.filters is not None: for k in self.filters: result['Filters'].append(k.to_map() if k else None) if self.gmt_create_time is not None: result['GmtCreateTime'] = self.gmt_create_time if self.gmt_end_time is not None: result['GmtEndTime'] = self.gmt_end_time if self.gmt_start_time is not None: result['GmtStartTime'] = self.gmt_start_time if self.id is not None: result['Id'] = self.id if self.model_config is not None: result['ModelConfig'] = self.model_config.to_map() if self.name is not None: result['Name'] = self.name if self.sampling_frequency_minutes is not None: result['SamplingFrequencyMinutes'] = self.sampling_frequency_minutes if self.sampling_ratio is not None: result['SamplingRatio'] = self.sampling_ratio if self.status is not None: result['Status'] = self.status if self.user_id is not None: result['UserId'] = self.user_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('AliyunUid') is not None: self.aliyun_uid = m.get('AliyunUid') if m.get('AppName') is not None: self.app_name = m.get('AppName') if m.get('Description') is not None: self.description = m.get('Description') if m.get('EvaluationConfig') is not None: temp_model = EvaluationConfig() self.evaluation_config = temp_model.from_map(m['EvaluationConfig']) self.filters = [] if m.get('Filters') is not None: for k in m.get('Filters'): temp_model = ListOnlineEvalTasksResponseBodyTasksFilters() self.filters.append(temp_model.from_map(k)) if m.get('GmtCreateTime') is not None: self.gmt_create_time = m.get('GmtCreateTime') if m.get('GmtEndTime') is not None: self.gmt_end_time = m.get('GmtEndTime') if m.get('GmtStartTime') is not None: self.gmt_start_time = m.get('GmtStartTime') if m.get('Id') is not None: self.id = m.get('Id') if m.get('ModelConfig') is not None: temp_model = ModelConfig() self.model_config = temp_model.from_map(m['ModelConfig']) if m.get('Name') is not None: self.name = m.get('Name') if m.get('SamplingFrequencyMinutes') is not None: self.sampling_frequency_minutes = m.get('SamplingFrequencyMinutes') if m.get('SamplingRatio') is not None: self.sampling_ratio = m.get('SamplingRatio') if m.get('Status') is not None: self.status = m.get('Status') if m.get('UserId') is not None: self.user_id = m.get('UserId') return self class ListOnlineEvalTasksResponseBody(TeaModel): def __init__( self, code: str = None, message: str = None, request_id: str = None, tasks: List[ListOnlineEvalTasksResponseBodyTasks] = None, total_count: int = None, ): self.code = code self.message = message # Id of the request self.request_id = request_id self.tasks = tasks self.total_count = total_count def validate(self): if self.tasks: for k in self.tasks: if k: k.validate() def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.message is not None: result['Message'] = self.message if self.request_id is not None: result['RequestId'] = self.request_id result['Tasks'] = [] if self.tasks is not None: for k in self.tasks: result['Tasks'].append(k.to_map() if k else None) if self.total_count is not None: result['TotalCount'] = self.total_count return result def from_map(self, m: dict = None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('Message') is not None: self.message = m.get('Message') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') self.tasks = [] if m.get('Tasks') is not None: for k in m.get('Tasks'): temp_model = ListOnlineEvalTasksResponseBodyTasks() self.tasks.append(temp_model.from_map(k)) if m.get('TotalCount') is not None: self.total_count = m.get('TotalCount') return self class ListOnlineEvalTasksResponse(TeaModel): def __init__( self, headers: Dict[str, str] = None, status_code: int = None, body: ListOnlineEvalTasksResponseBody = None, ): self.headers = headers self.status_code = status_code self.body = body def validate(self): if self.body: self.body.validate() def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m: dict = None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = ListOnlineEvalTasksResponseBody() self.body = temp_model.from_map(m['body']) return self class ListTracesDatasRequestFilters(TeaModel): def __init__( self, key: str = None, operator: str = None, value: str = None, ): self.key = key self.operator = operator self.value = value def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.key is not None: result['Key'] = self.key if self.operator is not None: result['Operator'] = self.operator if self.value is not None: result['Value'] = self.value return result def from_map(self, m: dict = None): m = m or dict() if m.get('Key') is not None: self.key = m.get('Key') if m.get('Operator') is not None: self.operator = m.get('Operator') if m.get('Value') is not None: self.value = m.get('Value') return self class ListTracesDatasRequest(TeaModel): def __init__( self, end_user_id: str = None, filters: List[ListTracesDatasRequestFilters] = None, has_events: bool = None, has_status_message: bool = None, llm_app_name: str = None, max_time: str = None, min_time: str = None, opentelemetry_compatible: bool = None, owner_id: str = None, owner_sub_id: str = None, page_number: int = None, page_size: int = None, sort_by: str = None, sort_order: str = None, span_ids: List[str] = None, trace_ids: List[str] = None, trace_reduce_method: str = None, ): self.end_user_id = end_user_id self.filters = filters self.has_events = has_events self.has_status_message = has_status_message self.llm_app_name = llm_app_name self.max_time = max_time # This parameter is required. self.min_time = min_time self.opentelemetry_compatible = opentelemetry_compatible self.owner_id = owner_id self.owner_sub_id = owner_sub_id self.page_number = page_number self.page_size = page_size self.sort_by = sort_by self.sort_order = sort_order self.span_ids = span_ids self.trace_ids = trace_ids self.trace_reduce_method = trace_reduce_method def validate(self): if self.filters: for k in self.filters: if k: k.validate() def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.end_user_id is not None: result['EndUserId'] = self.end_user_id result['Filters'] = [] if self.filters is not None: for k in self.filters: result['Filters'].append(k.to_map() if k else None) if self.has_events is not None: result['HasEvents'] = self.has_events if self.has_status_message is not None: result['HasStatusMessage'] = self.has_status_message if self.llm_app_name is not None: result['LlmAppName'] = self.llm_app_name if self.max_time is not None: result['MaxTime'] = self.max_time if self.min_time is not None: result['MinTime'] = self.min_time if self.opentelemetry_compatible is not None: result['OpentelemetryCompatible'] = self.opentelemetry_compatible if self.owner_id is not None: result['OwnerId'] = self.owner_id if self.owner_sub_id is not None: result['OwnerSubId'] = self.owner_sub_id if self.page_number is not None: result['PageNumber'] = self.page_number if self.page_size is not None: result['PageSize'] = self.page_size if self.sort_by is not None: result['SortBy'] = self.sort_by if self.sort_order is not None: result['SortOrder'] = self.sort_order if self.span_ids is not None: result['SpanIds'] = self.span_ids if self.trace_ids is not None: result['TraceIds'] = self.trace_ids if self.trace_reduce_method is not None: result['TraceReduceMethod'] = self.trace_reduce_method return result def from_map(self, m: dict = None): m = m or dict() if m.get('EndUserId') is not None: self.end_user_id = m.get('EndUserId') self.filters = [] if m.get('Filters') is not None: for k in m.get('Filters'): temp_model = ListTracesDatasRequestFilters() self.filters.append(temp_model.from_map(k)) if m.get('HasEvents') is not None: self.has_events = m.get('HasEvents') if m.get('HasStatusMessage') is not None: self.has_status_message = m.get('HasStatusMessage') if m.get('LlmAppName') is not None: self.llm_app_name = m.get('LlmAppName') if m.get('MaxTime') is not None: self.max_time = m.get('MaxTime') if m.get('MinTime') is not None: self.min_time = m.get('MinTime') if m.get('OpentelemetryCompatible') is not None: self.opentelemetry_compatible = m.get('OpentelemetryCompatible') if m.get('OwnerId') is not None: self.owner_id = m.get('OwnerId') if m.get('OwnerSubId') is not None: self.owner_sub_id = m.get('OwnerSubId') if m.get('PageNumber') is not None: self.page_number = m.get('PageNumber') if m.get('PageSize') is not None: self.page_size = m.get('PageSize') if m.get('SortBy') is not None: self.sort_by = m.get('SortBy') if m.get('SortOrder') is not None: self.sort_order = m.get('SortOrder') if m.get('SpanIds') is not None: self.span_ids = m.get('SpanIds') if m.get('TraceIds') is not None: self.trace_ids = m.get('TraceIds') if m.get('TraceReduceMethod') is not None: self.trace_reduce_method = m.get('TraceReduceMethod') return self class ListTracesDatasShrinkRequest(TeaModel): def __init__( self, end_user_id: str = None, filters_shrink: str = None, has_events: bool = None, has_status_message: bool = None, llm_app_name: str = None, max_time: str = None, min_time: str = None, opentelemetry_compatible: bool = None, owner_id: str = None, owner_sub_id: str = None, page_number: int = None, page_size: int = None, sort_by: str = None, sort_order: str = None, span_ids_shrink: str = None, trace_ids_shrink: str = None, trace_reduce_method: str = None, ): self.end_user_id = end_user_id self.filters_shrink = filters_shrink self.has_events = has_events self.has_status_message = has_status_message self.llm_app_name = llm_app_name self.max_time = max_time # This parameter is required. self.min_time = min_time self.opentelemetry_compatible = opentelemetry_compatible self.owner_id = owner_id self.owner_sub_id = owner_sub_id self.page_number = page_number self.page_size = page_size self.sort_by = sort_by self.sort_order = sort_order self.span_ids_shrink = span_ids_shrink self.trace_ids_shrink = trace_ids_shrink self.trace_reduce_method = trace_reduce_method def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.end_user_id is not None: result['EndUserId'] = self.end_user_id if self.filters_shrink is not None: result['Filters'] = self.filters_shrink if self.has_events is not None: result['HasEvents'] = self.has_events if self.has_status_message is not None: result['HasStatusMessage'] = self.has_status_message if self.llm_app_name is not None: result['LlmAppName'] = self.llm_app_name if self.max_time is not None: result['MaxTime'] = self.max_time if self.min_time is not None: result['MinTime'] = self.min_time if self.opentelemetry_compatible is not None: result['OpentelemetryCompatible'] = self.opentelemetry_compatible if self.owner_id is not None: result['OwnerId'] = self.owner_id if self.owner_sub_id is not None: result['OwnerSubId'] = self.owner_sub_id if self.page_number is not None: result['PageNumber'] = self.page_number if self.page_size is not None: result['PageSize'] = self.page_size if self.sort_by is not None: result['SortBy'] = self.sort_by if self.sort_order is not None: result['SortOrder'] = self.sort_order if self.span_ids_shrink is not None: result['SpanIds'] = self.span_ids_shrink if self.trace_ids_shrink is not None: result['TraceIds'] = self.trace_ids_shrink if self.trace_reduce_method is not None: result['TraceReduceMethod'] = self.trace_reduce_method return result def from_map(self, m: dict = None): m = m or dict() if m.get('EndUserId') is not None: self.end_user_id = m.get('EndUserId') if m.get('Filters') is not None: self.filters_shrink = m.get('Filters') if m.get('HasEvents') is not None: self.has_events = m.get('HasEvents') if m.get('HasStatusMessage') is not None: self.has_status_message = m.get('HasStatusMessage') if m.get('LlmAppName') is not None: self.llm_app_name = m.get('LlmAppName') if m.get('MaxTime') is not None: self.max_time = m.get('MaxTime') if m.get('MinTime') is not None: self.min_time = m.get('MinTime') if m.get('OpentelemetryCompatible') is not None: self.opentelemetry_compatible = m.get('OpentelemetryCompatible') if m.get('OwnerId') is not None: self.owner_id = m.get('OwnerId') if m.get('OwnerSubId') is not None: self.owner_sub_id = m.get('OwnerSubId') if m.get('PageNumber') is not None: self.page_number = m.get('PageNumber') if m.get('PageSize') is not None: self.page_size = m.get('PageSize') if m.get('SortBy') is not None: self.sort_by = m.get('SortBy') if m.get('SortOrder') is not None: self.sort_order = m.get('SortOrder') if m.get('SpanIds') is not None: self.span_ids_shrink = m.get('SpanIds') if m.get('TraceIds') is not None: self.trace_ids_shrink = m.get('TraceIds') if m.get('TraceReduceMethod') is not None: self.trace_reduce_method = m.get('TraceReduceMethod') return self class ListTracesDatasResponseBody(TeaModel): def __init__( self, code: str = None, message: str = None, request_id: str = None, total_count: int = None, traces: List[Any] = None, ): self.code = code self.message = message # POP request id self.request_id = request_id self.total_count = total_count self.traces = traces def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.message is not None: result['Message'] = self.message if self.request_id is not None: result['RequestId'] = self.request_id if self.total_count is not None: result['TotalCount'] = self.total_count if self.traces is not None: result['Traces'] = self.traces return result def from_map(self, m: dict = None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('Message') is not None: self.message = m.get('Message') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('TotalCount') is not None: self.total_count = m.get('TotalCount') if m.get('Traces') is not None: self.traces = m.get('Traces') return self class ListTracesDatasResponse(TeaModel): def __init__( self, headers: Dict[str, str] = None, status_code: int = None, body: ListTracesDatasResponseBody = None, ): self.headers = headers self.status_code = status_code self.body = body def validate(self): if self.body: self.body.validate() def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m: dict = None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = ListTracesDatasResponseBody() self.body = temp_model.from_map(m['body']) return self class StopOnlineEvalTaskResponseBody(TeaModel): def __init__( self, code: str = None, message: str = None, request_id: str = None, ): self.code = code self.message = message # Id of the POP request self.request_id = request_id def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.message is not None: result['Message'] = self.message if self.request_id is not None: result['RequestId'] = self.request_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('Message') is not None: self.message = m.get('Message') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') return self class StopOnlineEvalTaskResponse(TeaModel): def __init__( self, headers: Dict[str, str] = None, status_code: int = None, body: StopOnlineEvalTaskResponseBody = None, ): self.headers = headers self.status_code = status_code self.body = body def validate(self): if self.body: self.body.validate() def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m: dict = None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = StopOnlineEvalTaskResponseBody() self.body = temp_model.from_map(m['body']) return self class UpdateOnlineEvalTaskRequestFilters(TeaModel): def __init__( self, key: str = None, operator: str = None, value: str = None, ): self.key = key self.operator = operator self.value = value def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.key is not None: result['Key'] = self.key if self.operator is not None: result['Operator'] = self.operator if self.value is not None: result['Value'] = self.value return result def from_map(self, m: dict = None): m = m or dict() if m.get('Key') is not None: self.key = m.get('Key') if m.get('Operator') is not None: self.operator = m.get('Operator') if m.get('Value') is not None: self.value = m.get('Value') return self class UpdateOnlineEvalTaskRequest(TeaModel): def __init__( self, app_name: str = None, description: str = None, end_time: str = None, evaluation_config: EvaluationConfig = None, filters: List[UpdateOnlineEvalTaskRequestFilters] = None, model_config: ModelConfig = None, sampling_frequency_minutes: int = None, sampling_ratio: int = None, start_time: str = None, task_name: str = None, ): self.app_name = app_name self.description = description self.end_time = end_time self.evaluation_config = evaluation_config self.filters = filters self.model_config = model_config self.sampling_frequency_minutes = sampling_frequency_minutes self.sampling_ratio = sampling_ratio self.start_time = start_time self.task_name = task_name def validate(self): if self.evaluation_config: self.evaluation_config.validate() if self.filters: for k in self.filters: if k: k.validate() if self.model_config: self.model_config.validate() def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.app_name is not None: result['AppName'] = self.app_name if self.description is not None: result['Description'] = self.description if self.end_time is not None: result['EndTime'] = self.end_time if self.evaluation_config is not None: result['EvaluationConfig'] = self.evaluation_config.to_map() result['Filters'] = [] if self.filters is not None: for k in self.filters: result['Filters'].append(k.to_map() if k else None) if self.model_config is not None: result['ModelConfig'] = self.model_config.to_map() if self.sampling_frequency_minutes is not None: result['SamplingFrequencyMinutes'] = self.sampling_frequency_minutes if self.sampling_ratio is not None: result['SamplingRatio'] = self.sampling_ratio if self.start_time is not None: result['StartTime'] = self.start_time if self.task_name is not None: result['TaskName'] = self.task_name return result def from_map(self, m: dict = None): m = m or dict() if m.get('AppName') is not None: self.app_name = m.get('AppName') if m.get('Description') is not None: self.description = m.get('Description') if m.get('EndTime') is not None: self.end_time = m.get('EndTime') if m.get('EvaluationConfig') is not None: temp_model = EvaluationConfig() self.evaluation_config = temp_model.from_map(m['EvaluationConfig']) self.filters = [] if m.get('Filters') is not None: for k in m.get('Filters'): temp_model = UpdateOnlineEvalTaskRequestFilters() self.filters.append(temp_model.from_map(k)) if m.get('ModelConfig') is not None: temp_model = ModelConfig() self.model_config = temp_model.from_map(m['ModelConfig']) if m.get('SamplingFrequencyMinutes') is not None: self.sampling_frequency_minutes = m.get('SamplingFrequencyMinutes') if m.get('SamplingRatio') is not None: self.sampling_ratio = m.get('SamplingRatio') if m.get('StartTime') is not None: self.start_time = m.get('StartTime') if m.get('TaskName') is not None: self.task_name = m.get('TaskName') return self class UpdateOnlineEvalTaskResponseBody(TeaModel): def __init__( self, code: str = None, message: str = None, request_id: str = None, ): self.code = code self.message = message # Id of the POP request self.request_id = request_id def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.message is not None: result['Message'] = self.message if self.request_id is not None: result['RequestId'] = self.request_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('Message') is not None: self.message = m.get('Message') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') return self class UpdateOnlineEvalTaskResponse(TeaModel): def __init__( self, headers: Dict[str, str] = None, status_code: int = None, body: UpdateOnlineEvalTaskResponseBody = None, ): self.headers = headers self.status_code = status_code self.body = body def validate(self): if self.body: self.body.validate() def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m: dict = None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = UpdateOnlineEvalTaskResponseBody() self.body = temp_model.from_map(m['body']) return self