Duibonduil commited on
Commit
ee86eed
·
verified ·
1 Parent(s): 114b169

Upload __init__.py

Browse files
Files changed (1) hide show
  1. aworld/core/__init__.py +78 -0
aworld/core/__init__.py ADDED
@@ -0,0 +1,78 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # coding: utf-8
2
+ # Copyright (c) 2025 inclusionAI.
3
+
4
+
5
+ from dataclasses import dataclass
6
+ from enum import Enum
7
+ from typing import Any, Dict, List
8
+
9
+
10
+ class MessageType(Enum):
11
+ """Message type enum"""
12
+ TEXT = "text" # system, user, assistant messages
13
+ TOOL = "tool" # tool messages
14
+ UNKNOWN = "unknown"
15
+
16
+
17
+ @dataclass
18
+ class MessageChunk:
19
+ """Message chunk containing messages of the same type"""
20
+ message_type: MessageType
21
+ messages: List[Dict[str, Any]]
22
+ metadata: Dict[str, Any]
23
+
24
+ def __len__(self):
25
+ return len(self.messages)
26
+
27
+ def is_empty(self):
28
+ return len(self.messages) == 0
29
+
30
+ @dataclass
31
+ class ChunkResult:
32
+ """Chunking result"""
33
+ chunks: List[MessageChunk]
34
+ total_messages: int
35
+ processing_time: float
36
+ metadata: Dict[str, Any]
37
+
38
+
39
+ class CompressionType(Enum):
40
+ LLM_BASED = "llm_based"
41
+ LLMLINGUA = "llmlingua"
42
+
43
+ @dataclass
44
+ class CompressionResult:
45
+ """Compression result data structure"""
46
+ original_content: str
47
+ compressed_content: str
48
+ compression_ratio: float
49
+ metadata: Dict[str, Any]
50
+ compression_type: CompressionType
51
+
52
+
53
+ @dataclass
54
+ class MessagesProcessingResult:
55
+ """Processing result"""
56
+ original_token_len: int
57
+ processing_token_len: int
58
+ original_messages_len: int
59
+ processing_messaged_len: int
60
+ processing_time: float
61
+ method_used: str
62
+ processed_messages: List[Dict[str, Any]]
63
+
64
+ @dataclass
65
+ class ContextProcessingResult:
66
+ """Context processing result"""
67
+ processed_messages: List[Dict[str, Any]]
68
+ processed_tool_results: List[str]
69
+ statistics: Dict[str, Any]
70
+ chunk_info: Dict[str, Any] = None
71
+
72
+ @dataclass
73
+ class CompressionDecision:
74
+ """Compression decision result"""
75
+ should_compress: bool
76
+ compression_type: CompressionType
77
+ reason: str
78
+ token_count: int