@@ -52,6 +52,13 @@ class CellContentPartType(str, Enum):
5252 VIDEO_URL = "video_url"
5353
5454
55+ class ColumnSchemaType (str , Enum ):
56+ """Schema type"""
57+
58+ TEXT = "Text"
59+ MULTI_CONTENT = "MultiContent"
60+
61+
5562class ChatMessageImageURL (BaseModel ):
5663 """Chat message image URL"""
5764
@@ -68,6 +75,21 @@ class CellContentPart(BaseModel):
6875 """Cell content part"""
6976
7077 Type : Optional [CellContentPartType ] = Field (
78+ default = None , description = "Content part type"
79+ )
80+ Text : Optional [str ] = Field (default = None , description = "Text content" )
81+ ImageURL : Optional [ChatMessageImageURL ] = Field (
82+ default = None , description = "Image URL"
83+ )
84+ VideoURL : Optional [ChatMessageVideoURL ] = Field (
85+ default = None , description = "Video URL"
86+ )
87+
88+
89+ class CellContent (BaseModel ):
90+ """Cell content"""
91+
92+ Type : CellContentPartType = Field (
7193 default = None , alias = "type" , description = "Content part type"
7294 )
7395 Text : Optional [str ] = Field (default = None , alias = "text" , description = "Text content" )
@@ -79,8 +101,13 @@ class CellContentPart(BaseModel):
79101 )
80102
81103
82- # CellContent is a list of CellContentPart
83- CellContent = List [CellContentPart ]
104+ class Cell (BaseModel ):
105+ """Repeated data"""
106+
107+ CellContent : Optional [List [CellContentPart ]] = Field (
108+ default = None , description = "Cell content"
109+ )
110+ Text : Optional [str ] = Field (default = None , description = "Text content" )
84111
85112
86113class ModelAgentConfig (BaseModel ):
@@ -196,6 +223,10 @@ class CreateEvaTaskRequest(BaseModel):
196223 title = "Dataset Task Configuration" ,
197224 description = "Dataset task configuration" ,
198225 )
226+ DatasetVersionID : str = Field (
227+ title = "Dataset Version ID" ,
228+ description = "Dataset version ID" ,
229+ )
199230
200231
201232class CreateEvaTaskResponse (BaseModel ):
@@ -210,12 +241,18 @@ class CreateEvaTaskResponse(BaseModel):
210241 )
211242
212243
213- class ListEvaDatasetConversationsRequest (BaseModel ):
244+ class ListDatasetCasesRequest (BaseModel ):
214245 WorkspaceID : str = Field (
215246 title = "Workspace ID" ,
216247 description = "Workspace ID" ,
217248 )
218249 DatasetID : str = Field (title = "Dataset ID" , description = "Dataset ID" )
250+ VersionID : str = Field (title = "Dataset Version ID" , description = "Dataset version ID" )
251+ UseLatestPublishedVersion : bool = Field (
252+ default = False ,
253+ title = "Use Latest Published Version" ,
254+ description = "Whether to use the latest published version" ,
255+ )
219256 PageNumber : Optional [int ] = Field (
220257 default = 1 ,
221258 title = "Page Number" ,
@@ -298,7 +335,6 @@ class EvaDatasetConversationData(BaseModel):
298335class EvaDatasetColumnCell (BaseModel ):
299336 """Evaluation dataset column cell data"""
300337
301- ColumnID : str = Field (title = "Column ID" , description = "Evaluation dataset column ID" )
302338 ConversationGroup : List [EvaDatasetConversationData ] = Field (
303339 title = "Conversation Group" ,
304340 description = "Evaluation dataset conversation round data" ,
@@ -310,52 +346,20 @@ class EvaDatasetColumn(BaseModel):
310346
311347 ID : str = Field (title = "Column ID" , description = "Column ID" )
312348 Name : str = Field (title = "Column Name" , description = "Column name" )
313- Description : Optional [str ] = Field (
314- default = None , title = "Column Description " , description = "Column description "
349+ SchemaType : Optional [ColumnSchemaType ] = Field (
350+ title = "Schema Type " , description = "Schema type "
315351 )
316352
317353
318- class EvaDatasetConversationItem (BaseModel ):
319- """Evaluation dataset conversation item"""
320-
321- RowID : str = Field (
322- title = "Data Row ID" , description = "Evaluation dataset data row ID"
323- )
324- DataRow : List [EvaDatasetColumnCell ] = Field (
325- title = "Data Row" , description = "Evaluation dataset conversation column data"
326- )
327-
328-
329- class ListEvaDatasetColumnsRequest (BaseModel ):
354+ class ListColumnsRequest (BaseModel ):
330355 """Get evaluation dataset column list request"""
331356
332357 WorkspaceID : str = Field (
333358 title = "Workspace ID" ,
334359 description = "Workspace ID" ,
335360 )
336361 DatasetID : str = Field (title = "Dataset ID" , description = "Dataset ID" )
337-
338-
339- class ListEvaDatasetColumnsResponse (BaseModel ):
340- """Get evaluation dataset column list response"""
341-
342- Columns : List [EvaDatasetColumn ] = Field (
343- title = "Evaluation Dataset Column List" ,
344- description = "Evaluation dataset column list" ,
345- )
346-
347-
348- class ListEvaDatasetConversationsResponse (BaseModel ):
349- """Evaluation dataset conversation list response"""
350-
351- Items : List [EvaDatasetConversationItem ] = Field (
352- title = "Conversation List" , description = "Evaluation dataset conversation list"
353- )
354- Total : int = Field (
355- title = "Total" ,
356- description = "Total number of evaluation dataset conversations" ,
357- example = 100 ,
358- )
362+ VersionID : str = Field (title = "Dataset Version ID" , description = "Dataset version ID" )
359363
360364
361365class InferenceResult (BaseModel ):
@@ -386,7 +390,7 @@ class CaseData(BaseModel):
386390
387391 model_config = {"extra" : "allow" } # Allow dynamic fields
388392
389- def get_column_data (self , column_name : str ) -> Optional [CellContent ]:
393+ def get_column_data (self , column_name : str ) -> Optional [Cell ]:
390394 """
391395 Get data from specified column
392396
@@ -401,21 +405,6 @@ def get_column_data(self, column_name: str) -> Optional[CellContent]:
401405 return self .__pydantic_extra__ .get (column_name )
402406 return None
403407
404- def get_column_text (self , column_name : str ) -> Optional [str ]:
405- """
406- Get text data from specified column
407-
408- Args:
409- column_name: Column name
410-
411- Returns:
412- Text content of the column, returns None if not exists or not text type
413- """
414- data = self .get_column_data (column_name )
415- if data and hasattr (data , "TextData" ):
416- return data .TextData
417- return None
418-
419408 def list_columns (self ) -> List [str ]:
420409 """
421410 Get all column names included in current round
@@ -429,7 +418,7 @@ def list_columns(self) -> List[str]:
429418 return []
430419
431420 # Dictionary-style operation support
432- def __getitem__ (self , column_name : str ) -> Optional [CellContent ]:
421+ def __getitem__ (self , column_name : str ) -> Optional [Cell ]:
433422 """
434423 Support case_data[column_name] access pattern
435424
@@ -441,7 +430,7 @@ def __getitem__(self, column_name: str) -> Optional[CellContent]:
441430 """
442431 return self .get_column_data (column_name )
443432
444- def __setitem__ (self , column_name : str , value : CellContent ):
433+ def __setitem__ (self , column_name : str , value : Cell ):
445434 """
446435 Support case_data[column_name] = value assignment pattern
447436
@@ -493,16 +482,14 @@ def keys(self) -> List[str]:
493482 """
494483 return self .list_columns ()
495484
496- def values (self ) -> List [Optional [CellContent ]]:
485+ def values (self ) -> List [Optional [Cell ]]:
497486 """
498487 Get data from all columns
499488
500489 Returns:
501490 List of cell content
502491 """
503- return [
504- self .get_column_data (column_name ) for column_name in self .list_columns ()
505- ]
492+ return [self .get_column_data (column_id ) for column_id in self .list_columns ()]
506493
507494 def get (self , column_name : str , default = None ):
508495 """
@@ -519,6 +506,17 @@ def get(self, column_name: str, default=None):
519506 return data if data is not None else default
520507
521508
509+ class EvaDatasetConversationItem (BaseModel ):
510+ """Evaluation dataset conversation item"""
511+
512+ DatasetCaseID : str = Field (
513+ title = "Dataset Case ID" , description = "Evaluation dataset case ID"
514+ )
515+ RepeatedData : List [Dict [str , Cell ]] = Field (
516+ title = "Repeated Data" , description = "Evaluation dataset case data"
517+ )
518+
519+
522520class EvaConversationStatus (str , Enum ):
523521 """Evaluation conversation status"""
524522
@@ -986,3 +984,23 @@ class GetEvaTaskRequest(BaseModel):
986984
987985# GetEvaTaskResponse 就是 EvaTaskItem
988986GetEvaTaskResponse = EvaTaskItem
987+
988+
989+ class ListColumnsResponse (BaseModel ):
990+ """Get evaluation dataset column list response"""
991+
992+ Columns : List [EvaDatasetColumn ] = Field (
993+ title = "Evaluation Dataset Column List" ,
994+ description = "Evaluation dataset column list" ,
995+ )
996+
997+
998+ class ListDatasetCasesResponse (BaseModel ):
999+ """Evaluation dataset conversation list response"""
1000+
1001+ Items : Optional [List [EvaDatasetConversationItem ]] = Field (
1002+ title = "Conversation List" , description = "Evaluation dataset conversation list"
1003+ )
1004+ Total : int = Field (
1005+ title = "Total" , description = "Total number of evaluation dataset conversations"
1006+ )
0 commit comments