agi-med-common 1.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ __version__ = "1.0.0"
@@ -0,0 +1,2 @@
1
+ from ._base import _Base
2
+ from .chat_item import ChatItem, OuterContextItem, InnerContextItem, ReplicaItem
@@ -0,0 +1,5 @@
1
+ from pydantic import ConfigDict, BaseModel
2
+
3
+
4
+ class _Base(BaseModel):
5
+ model_config = ConfigDict(populate_by_name=True, str_strip_whitespace=True)
@@ -0,0 +1,4 @@
1
+ from .replica_item import ReplicaItem
2
+ from .outer_context_item import OuterContextItem
3
+ from .inner_context_item import InnerContextItem
4
+ from .chat_item import ChatItem
@@ -0,0 +1,9 @@
1
+ from pydantic import Field
2
+
3
+ from . import OuterContextItem, InnerContextItem
4
+ from .. import _Base
5
+
6
+
7
+ class ChatItem(_Base):
8
+ outer_context: OuterContextItem = Field(alias="OuterContext")
9
+ inner_context: InnerContextItem = Field(alias="InnerContext")
@@ -0,0 +1,8 @@
1
+ from pydantic import Field
2
+
3
+ from . import ReplicaItem
4
+ from .. import _Base
5
+
6
+
7
+ class InnerContextItem(_Base):
8
+ replicas: list[ReplicaItem] = Field(alias="Replicas")
@@ -0,0 +1,18 @@
1
+ from pydantic import Field
2
+
3
+ from .. import _Base
4
+ from ..enums import TrackIdEnum
5
+
6
+
7
+ class OuterContextItem(_Base):
8
+ sex: bool = Field(alias="Sex", description="True = male, False = female")
9
+ age: int = Field(alias="Age")
10
+ user_id: str = Field(alias="UserId")
11
+ session_id: str = Field(alias="SessionId")
12
+ client_id: str = Field(alias="ClientId")
13
+ track_id: TrackIdEnum = Field(TrackIdEnum.DIAGNOSTIC, alias="TrackId")
14
+
15
+ def create_id(self, short: bool = False) -> str:
16
+ if short:
17
+ return f"{self.user_id}_{self.session_id}_{self.client_id}"
18
+ return f"user_{self.user_id}_session_{self.session_id}_client_{self.client_id}"
@@ -0,0 +1,9 @@
1
+ from pydantic import Field
2
+
3
+ from .. import _Base
4
+
5
+
6
+ class ReplicaItem(_Base):
7
+ body: str = Field(alias="Body")
8
+ role: bool = Field(alias="Role", description="True = ai, False = client")
9
+ date_time: str = Field(alias="DateTime")
@@ -0,0 +1 @@
1
+ from .track_id_enum import TrackIdEnum
@@ -0,0 +1,13 @@
1
+ from enum import StrEnum, auto
2
+
3
+
4
+ class TrackIdEnum(StrEnum):
5
+ @staticmethod
6
+ def _generate_next_value_(name: str, start: int, count: int, last_values: list[str]) -> str:
7
+ return "".join([word.title() for word in name.lower().split("_")])
8
+
9
+ DIAGNOSTIC = auto()
10
+ SECOND_OPINION = auto()
11
+ MEDICAL_TEST_DECRYPTION = auto()
12
+ CONSULTATION = auto()
13
+ SUMMARIZATION = auto()
@@ -0,0 +1,25 @@
1
+ Metadata-Version: 2.1
2
+ Name: agi_med_common
3
+ Version: 1.0.0
4
+ Summary: Сommon for agi-med team
5
+ Author: AGI-MED-TEAM
6
+ Requires-Python: >=3.13
7
+ Description-Content-Type: text/markdown
8
+ Requires-Dist: pydantic<=3.0.0,>=2.9.2
9
+
10
+ # agi-med-common
11
+
12
+ Common компонент
13
+
14
+ ## Ответственный разработчик
15
+
16
+ @zhelvakov
17
+
18
+ ## Общая информация
19
+
20
+ - Общий ChatItem для сервисов
21
+ - Общей TrackId
22
+ -
23
+ ## Тесты
24
+
25
+ - `sudo docker compose up --build`
@@ -0,0 +1,14 @@
1
+ agi_med_common/__init__.py,sha256=J-j-u0itpEFT6irdmWmixQqYMadNl1X91TxUmoiLHMI,22
2
+ agi_med_common/models/__init__.py,sha256=v4Iwdw7EdGBoBf50LyFsxn99sDABf6z9hOko7Lmi9NM,106
3
+ agi_med_common/models/_base.py,sha256=qNdH8x3x3mYbo5XgWtR9VpEarxsEvXvzynadUlDvHmU,149
4
+ agi_med_common/models/chat_item/__init__.py,sha256=MoZFnZQV-tWJTHmH1OhRBRkrc5cGWAfdJ6QfHDg6TDk,168
5
+ agi_med_common/models/chat_item/chat_item.py,sha256=aCRR4OwL-YS6hvVSNkIg7FNpfvEGo8BESCY8BhiAlNk,255
6
+ agi_med_common/models/chat_item/inner_context_item.py,sha256=s17frAcwyi8WcHnBt-5LF8nUJeO-hnu7YMobYQO5a-c,166
7
+ agi_med_common/models/chat_item/outer_context_item.py,sha256=YMkR_ZAXPK6AKQUnRy4mFqVNGFu4jtsQ7pOlf3xXrLs,666
8
+ agi_med_common/models/chat_item/replica_item.py,sha256=MCk0B8fHMQiwFYqdWCNnJgKhbJvQ2ujQP7nu-ztN87I,236
9
+ agi_med_common/models/enums/__init__.py,sha256=ooZLUfkRKeJDeTROAAqdRsMoqKBKmgnuGZXWQf9r83Y,39
10
+ agi_med_common/models/enums/track_id_enum.py,sha256=flKTRX4Th-bbMdqYiYj4Rj4Mku-p586bdKZS1YqfK6E,394
11
+ agi_med_common-1.0.0.dist-info/METADATA,sha256=YPHa887inQzItVEyOOwiYTObCwUwYlcs-dvsbPWMSVk,484
12
+ agi_med_common-1.0.0.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
13
+ agi_med_common-1.0.0.dist-info/top_level.txt,sha256=26o565jF_7wYQj7-YJfTedtT9yDxDcf8RNikOYuPq78,15
14
+ agi_med_common-1.0.0.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (75.6.0)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1 @@
1
+ agi_med_common