diff --git a/libs/api/hiagent_api/eva.py b/libs/api/hiagent_api/eva.py index fc68c22..42d8dc6 100644 --- a/libs/api/hiagent_api/eva.py +++ b/libs/api/hiagent_api/eva.py @@ -166,8 +166,11 @@ def CreateEvaTask( Returns: CreateEvaTaskResponse: Created evaluation task information """ + params_dict = params.model_dump() + if params.RunConfig is not None: + params_dict["RunConfig"] = params.RunConfig.model_dump(exclude_none=True) return eva_types.CreateEvaTaskResponse.model_validate( - self.__request("CreateEvaTask", params.model_dump()) + self.__request("CreateEvaTask", params_dict) ) def ListDatasetCases( diff --git a/libs/api/hiagent_api/eva_types.py b/libs/api/hiagent_api/eva_types.py index 2781ec2..a6632b9 100644 --- a/libs/api/hiagent_api/eva_types.py +++ b/libs/api/hiagent_api/eva_types.py @@ -164,6 +164,24 @@ class EvaTaskSource(str, Enum): DATASET = "Dataset" TRACE = "Trace" + +class EvaTaskRunConfigInitiator(str, Enum): + PLATFORM = "Platform" + SDK = "SDK" + + +class EvaTaskRunConfig(BaseModel): + Initiator: Optional[EvaTaskRunConfigInitiator] = Field( + default=None, description="Task initiator: Platform or SDK" + ) + AgenticTaskID: Optional[str] = Field( + default=None, description="Auto-generated task ID" + ) + EnableAttribAnalysis: Optional[bool] = Field( + default=None, description="Whether to enable attribution analysis" + ) + + class EvaExecParam(BaseModel): Name: str = Field(..., description="Param name") Required: bool = Field(..., description="Whether required") @@ -254,6 +272,9 @@ class CreateEvaTaskRequest(BaseModel): default=None, title="Dataset Task Configuration", description="Dataset task configuration" ) Source: EvaTaskSource = Field(title="Task Source", description="Task source: Dataset or Trace") + RunConfig: Optional[EvaTaskRunConfig] = Field( + default=None, title="Run Config", description="Task run configuration" + ) class CreateEvaTaskResponse(BaseModel): diff --git a/libs/api/pyproject.toml b/libs/api/pyproject.toml index 08d166b..f4a07c4 100644 --- a/libs/api/pyproject.toml +++ b/libs/api/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "hiagent-api" -version = "2.5.0" +version = "2.6.0" description = "Add your description here" readme = "README.md" requires-python = ">=3.10" diff --git a/libs/eva/hiagent_eva/client.py b/libs/eva/hiagent_eva/client.py index 696fb72..75c0aa6 100644 --- a/libs/eva/hiagent_eva/client.py +++ b/libs/eva/hiagent_eva/client.py @@ -174,6 +174,10 @@ def create_task( VersionID=dataset_version_id, ), Source=eva_types.EvaTaskSource.DATASET, + RunConfig=eva_types.EvaTaskRunConfig( + Initiator=eva_types.EvaTaskRunConfigInitiator.SDK, + EnableAttribAnalysis=False, + ), ) return self.eva_service.CreateEvaTask(request) diff --git a/libs/eva/pyproject.toml b/libs/eva/pyproject.toml index ff43b0f..cf8db1a 100644 --- a/libs/eva/pyproject.toml +++ b/libs/eva/pyproject.toml @@ -1,13 +1,13 @@ [project] name = "hiagent-eva" -version = "2.5.0" +version = "2.6.0" description = "HiAgent Eva SDK" readme = "README.md" requires-python = ">=3.10" dependencies = [ "tenacity>=9.1.2", "python-dotenv>=1.1.0", - "hiagent-api>=2.5.0", + "hiagent-api>=2.6.0", "requests>=2.33.0", ]