mmar-mapi 1.0.23__py3-none-any.whl → 1.0.25__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.

Potentially problematic release.


This version of mmar-mapi might be problematic. Click here for more details.

mmar_mapi/api.py CHANGED
@@ -44,7 +44,7 @@ class BinaryClassifiersAPI:
44
44
  def get_classifiers(self) -> list[str]:
45
45
  raise NotImplementedError
46
46
 
47
- def evaluate(self, *, classifier: str, text: str) -> bool:
47
+ def evaluate(self, *, classifier: str | None = None, text: str) -> bool:
48
48
  raise NotImplementedError
49
49
 
50
50
 
@@ -52,18 +52,34 @@ class LLMAccessorAPI:
52
52
  def get_entrypoint_keys(self) -> list[str]:
53
53
  raise NotImplementedError
54
54
 
55
- def get_response(self, *, prompt: str, entrypoint_key: str | None = None, max_retries: int = 1) -> str:
55
+ def get_response(
56
+ self,
57
+ *,
58
+ prompt: str,
59
+ resource_id: ResourceId | None = None,
60
+ entrypoint_key: str | None = None,
61
+ max_retries: int = 1,
62
+ ) -> str:
56
63
  raise NotImplementedError
57
64
 
58
- def get_response_by_payload(self, *, payload: dict[str, Any], entrypoint_key: str | None = None, max_retries: int = 1) -> str:
65
+ def get_response_by_payload(
66
+ self,
67
+ *,
68
+ payload: dict[str, Any],
69
+ resource_id: ResourceId | None = None,
70
+ entrypoint_key: str | None = None,
71
+ max_retries: int = 1,
72
+ ) -> str:
59
73
  raise NotImplementedError
60
74
 
61
- def get_embedding(self, *, prompt: str, entrypoint_key: str | None = None, max_retries: int = 1) -> list[float]:
62
- raise NotImplementedError
63
-
64
- def get_image_response(
65
- self, *, prompt: str, resource_id: ResourceId, entrypoint_key: str | None = None, max_retries: int = 1
66
- ) -> str:
75
+ def get_embedding(
76
+ self,
77
+ *,
78
+ prompt: str,
79
+ resource_id: ResourceId | None = None,
80
+ entrypoint_key: str | None = None,
81
+ max_retries: int = 1,
82
+ ) -> list[float]:
67
83
  raise NotImplementedError
68
84
 
69
85
 
@@ -71,12 +87,12 @@ class TranslatorAPI:
71
87
  def get_lang_codes(self) -> list[str]:
72
88
  raise NotImplementedError
73
89
 
74
- def translate(self, *, text: str, lang_code_from: str | None, lang_code_to: str) -> str:
90
+ def translate(self, *, text: str, lang_code_from: str | None = None, lang_code_to: str) -> str:
75
91
  raise NotImplementedError
76
92
 
77
93
 
78
94
  class CriticAPI:
79
- def evaluate(self, *, text: str, chat: Chat | None = None) -> float:
95
+ def evaluate(self, *, text: str, chat: Chat | None = None) -> float: # TODO replace float with bool
80
96
  raise NotImplementedError
81
97
 
82
98
 
@@ -159,6 +175,8 @@ class ExtractedImageMetadata(BaseModel):
159
175
 
160
176
 
161
177
  class ExtractedPicture(ExtractedImage, ExtractedImageMetadata):
178
+ "Image of part of page"
179
+
162
180
  pass
163
181
 
164
182
 
@@ -167,6 +185,8 @@ class ExtractedTable(ExtractedImage, ExtractedImageMetadata):
167
185
 
168
186
 
169
187
  class ExtractedPageImage(ExtractedImage):
188
+ "Image of all page"
189
+
170
190
  pass
171
191
 
172
192
 
mmar_mapi/file_storage.py CHANGED
@@ -78,7 +78,7 @@ class FileStorage:
78
78
 
79
79
  def upload_dir(self, resource_ids: list[ResourceId]) -> ResourceId:
80
80
  content = "\n".join(resource_ids)
81
- res = self.upload(content, "dir")
81
+ res = self.upload(content=content, fname=".dir")
82
82
  return res
83
83
 
84
84
  def download(self, resource_id: ResourceId) -> bytes:
mmar_mapi/models/chat.py CHANGED
@@ -244,8 +244,8 @@ class Chat(Base):
244
244
  def parse(chat_obj: str | dict | ChatItem) -> "Chat":
245
245
  return _parse_chat_compat(chat_obj)
246
246
 
247
- def to_chat_item(self) -> ChatItem:
248
- return convert_chat_to_chat_item(self)
247
+ def to_chat_item(self, failsafe: bool=False) -> ChatItem:
248
+ return convert_chat_to_chat_item(self, failsafe)
249
249
 
250
250
  def add_message(self, message: ChatMessage):
251
251
  self.messages.append(message)
@@ -392,19 +392,24 @@ def convert_chat_item_to_chat(chat_item: ChatItem) -> Chat:
392
392
  return res
393
393
 
394
394
 
395
- def convert_context_to_outer_context(context: Context) -> OuterContextItem:
395
+ def convert_context_to_outer_context(context: Context, failsafe: bool=False) -> OuterContextItem:
396
396
  # legacy: eliminate after migration
397
397
  extra = context.extra or {}
398
+ if failsafe:
399
+ extra['sex'] = extra.get('sex') or True
400
+ extra['age'] = extra.get('age') or 42
401
+ extra['language_code'] = extra.get('language_code') or ''
402
+ extra['entrypoint_key'] = extra.get('entrypoint_key') or ''
398
403
  return OuterContextItem(
399
404
  client_id=context.client_id,
400
405
  user_id=context.user_id,
401
406
  session_id=context.session_id,
402
407
  track_id=context.track_id,
403
- sex=extra.get("sex"),
404
- age=extra.get("age"),
408
+ sex=extra["sex"],
409
+ age=extra["age"],
410
+ entrypoint_key=extra["entrypoint_key"],
411
+ language_code=extra["language_code"],
405
412
  parent_session_id=extra.get("parent_session_id"),
406
- entrypoint_key=extra.get("entrypoint_key"),
407
- language_code=extra.get("language_code"),
408
413
  )
409
414
 
410
415
 
@@ -436,10 +441,10 @@ def convert_message_to_replica_item(message: ChatMessage) -> ReplicaItem | None:
436
441
  return ReplicaItem(**kwargs)
437
442
 
438
443
 
439
- def convert_chat_to_chat_item(chat: Chat) -> ChatItem:
444
+ def convert_chat_to_chat_item(chat: Chat, failsafe: bool=False) -> ChatItem:
440
445
  # legacy: eliminate after migration
441
446
  res = ChatItem(
442
- outer_context=convert_context_to_outer_context(chat.context),
447
+ outer_context=convert_context_to_outer_context(chat.context, failsafe=failsafe),
443
448
  inner_context=dict(replicas=list(map(convert_message_to_replica_item, chat.messages))),
444
449
  )
445
450
  return res
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mmar-mapi
3
- Version: 1.0.23
3
+ Version: 1.0.25
4
4
  Summary: Common pure/IO utilities for multi-modal architectures team
5
5
  Keywords:
6
6
  Author: Eugene Tagin
@@ -1,10 +1,10 @@
1
1
  mmar_mapi/__init__.py,sha256=9Q5xsrj26uUnn7ZWvvJUvdVIuzC2oCIeNB4dEoqjF-o,1256
2
- mmar_mapi/api.py,sha256=QvbFY-r5d_V6jb9zBj_BL-tbquynR4v1K_8OjMBtXJU,5908
2
+ mmar_mapi/api.py,sha256=VGoZ2nYIvm35U4FO4yhFG9nYSaK-gjOUC3pNyfBrq3o,6109
3
3
  mmar_mapi/decorators_maybe_lru_cache.py,sha256=eO2I6t1fHLUNRABClK1c8EZzHAmCeSK6O-hbJGb2c9E,444
4
- mmar_mapi/file_storage.py,sha256=xJU59HmXFsfc53XALdx53IwyqV_k4218AzzXq1Q65Js,5052
4
+ mmar_mapi/file_storage.py,sha256=km4xA0h-GU07kBc6v3cG2fd9gDF75OfwBJiy0WOmtn4,5067
5
5
  mmar_mapi/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
6
  mmar_mapi/models/base.py,sha256=mKtXV2x51XVj7W-et9tjGcPMDUUUMelW-BywMgFc2p0,411
7
- mmar_mapi/models/chat.py,sha256=-XilkiderIOFG1oSKRDG9NDOEN21sBpbTPHUrqVPjc4,15400
7
+ mmar_mapi/models/chat.py,sha256=GP5XzOEtLjXUZRvKms8Fa874JOkfeu3vgiqitdoXj10,15724
8
8
  mmar_mapi/models/chat_item.py,sha256=TRuV5qn7pi3eOvSG7GUqtTHEaq4b7fPoCCZtW-TyEIU,5702
9
9
  mmar_mapi/models/enums.py,sha256=J-GNpql9MCnKnWiV9aJRQGI-pAybvV86923RZs99grA,1006
10
10
  mmar_mapi/models/tracks.py,sha256=HKDp-BX1p7AlDfSEKfOKCu0TRSK9cD4Dmq1vJt8oRjw,307
@@ -13,7 +13,7 @@ mmar_mapi/type_union.py,sha256=diwmzcnbqkpGFckPHNw9o8zyQ955mOGNvhTlcBJ0RMI,1905
13
13
  mmar_mapi/utils.py,sha256=FlW9n-84xz2zSHsahHzJ3Y4Wu5mjpFer6t9z6PF6lS0,488
14
14
  mmar_mapi/utils_import.py,sha256=pUyMFd8SItTxBKI-GO9JhRmy43jG_OQlUPr8QCBOSwg,1682
15
15
  mmar_mapi/xml_parser.py,sha256=VvLIX_XCZao9i0qqpTVx8nx0vbFXSe8pEbdJdXnj97g,568
16
- mmar_mapi-1.0.23.dist-info/licenses/LICENSE,sha256=2A90w8WjhOgQXnFuUijKJYazaqZ4_NTokYb9Po4y-9k,1061
17
- mmar_mapi-1.0.23.dist-info/WHEEL,sha256=eh7sammvW2TypMMMGKgsM83HyA_3qQ5Lgg3ynoecH3M,79
18
- mmar_mapi-1.0.23.dist-info/METADATA,sha256=5PQS2XT9NvB5gYkSANUn441g0NUP3famSLZPt69V5ZU,944
19
- mmar_mapi-1.0.23.dist-info/RECORD,,
16
+ mmar_mapi-1.0.25.dist-info/licenses/LICENSE,sha256=2A90w8WjhOgQXnFuUijKJYazaqZ4_NTokYb9Po4y-9k,1061
17
+ mmar_mapi-1.0.25.dist-info/WHEEL,sha256=eh7sammvW2TypMMMGKgsM83HyA_3qQ5Lgg3ynoecH3M,79
18
+ mmar_mapi-1.0.25.dist-info/METADATA,sha256=Jc4gOROtsYCnECtEltlL_OJfEFJkUSc1kvgiOOPlAPg,944
19
+ mmar_mapi-1.0.25.dist-info/RECORD,,