unique_toolkit 0.7.31__tar.gz → 0.7.32__tar.gz

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.
Files changed (69) hide show
  1. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/CHANGELOG.md +3 -0
  2. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/PKG-INFO +5 -2
  3. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/pyproject.toml +2 -2
  4. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/language_model/schemas.py +34 -0
  5. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/LICENSE +0 -0
  6. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/README.md +0 -0
  7. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/__init__.py +0 -0
  8. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/_common/_base_service.py +0 -0
  9. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/_common/_time_utils.py +0 -0
  10. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/_common/exception.py +0 -0
  11. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/_common/validate_required_values.py +0 -0
  12. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/_common/validators.py +0 -0
  13. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/app/__init__.py +0 -0
  14. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/app/init_logging.py +0 -0
  15. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/app/init_sdk.py +0 -0
  16. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/app/performance/async_tasks.py +0 -0
  17. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/app/performance/async_wrapper.py +0 -0
  18. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/app/schemas.py +0 -0
  19. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/app/verification.py +0 -0
  20. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/chat/__init__.py +0 -0
  21. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/chat/constants.py +0 -0
  22. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/chat/functions.py +0 -0
  23. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/chat/schemas.py +0 -0
  24. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/chat/service.py +0 -0
  25. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/chat/state.py +0 -0
  26. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/chat/utils.py +0 -0
  27. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/content/__init__.py +0 -0
  28. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/content/constants.py +0 -0
  29. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/content/functions.py +0 -0
  30. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/content/schemas.py +0 -0
  31. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/content/service.py +0 -0
  32. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/content/utils.py +0 -0
  33. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/embedding/__init__.py +0 -0
  34. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/embedding/constants.py +0 -0
  35. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/embedding/functions.py +0 -0
  36. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/embedding/schemas.py +0 -0
  37. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/embedding/service.py +0 -0
  38. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/embedding/utils.py +0 -0
  39. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/evaluators/__init__.py +0 -0
  40. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/evaluators/config.py +0 -0
  41. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/evaluators/constants.py +0 -0
  42. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/evaluators/context_relevancy/constants.py +0 -0
  43. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/evaluators/context_relevancy/prompts.py +0 -0
  44. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/evaluators/context_relevancy/service.py +0 -0
  45. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/evaluators/context_relevancy/utils.py +0 -0
  46. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/evaluators/exception.py +0 -0
  47. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/evaluators/hallucination/constants.py +0 -0
  48. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/evaluators/hallucination/prompts.py +0 -0
  49. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/evaluators/hallucination/service.py +0 -0
  50. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/evaluators/hallucination/utils.py +0 -0
  51. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/evaluators/output_parser.py +0 -0
  52. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/evaluators/schemas.py +0 -0
  53. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/language_model/__init__.py +0 -0
  54. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/language_model/builder.py +0 -0
  55. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/language_model/constants.py +0 -0
  56. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/language_model/functions.py +0 -0
  57. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/language_model/infos.py +0 -0
  58. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/language_model/prompt.py +0 -0
  59. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/language_model/reference.py +0 -0
  60. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/language_model/service.py +0 -0
  61. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/language_model/utils.py +0 -0
  62. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/protocols/support.py +0 -0
  63. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/short_term_memory/__init__.py +0 -0
  64. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/short_term_memory/constants.py +0 -0
  65. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/short_term_memory/functions.py +0 -0
  66. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/short_term_memory/schemas.py +0 -0
  67. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/short_term_memory/service.py +0 -0
  68. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/smart_rules/__init__.py +0 -0
  69. {unique_toolkit-0.7.31 → unique_toolkit-0.7.32}/unique_toolkit/smart_rules/compile.py +0 -0
@@ -5,6 +5,9 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.7.32] - 2025-06-24
9
+ - Create `classmethod` for `LanguageModelMessages` to load raw messages to root
10
+
8
11
  ## [0.7.31] - 2025-06-19
9
12
  - Add typings to references in payload from `LanguageModelStreamResponseMessage`
10
13
  - Add `original_index` to the base reference to reflect updated api
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: unique_toolkit
3
- Version: 0.7.31
3
+ Version: 0.7.32
4
4
  Summary:
5
5
  License: Proprietary
6
6
  Author: Martin Fadler
@@ -17,7 +17,7 @@ Requires-Dist: python-dotenv (>=1.0.1,<2.0.0)
17
17
  Requires-Dist: regex (>=2024.5.15,<2025.0.0)
18
18
  Requires-Dist: tiktoken (>=0.7.0,<0.8.0)
19
19
  Requires-Dist: typing-extensions (>=4.9.0,<5.0.0)
20
- Requires-Dist: unique-sdk (>=0.9.33,<0.10.0)
20
+ Requires-Dist: unique-sdk (>=0.9.36,<0.10.0)
21
21
  Description-Content-Type: text/markdown
22
22
 
23
23
  # Unique Toolkit
@@ -111,6 +111,9 @@ All notable changes to this project will be documented in this file.
111
111
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
112
112
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
113
113
 
114
+ ## [0.7.32] - 2025-06-24
115
+ - Create `classmethod` for `LanguageModelMessages` to load raw messages to root
116
+
114
117
  ## [0.7.31] - 2025-06-19
115
118
  - Add typings to references in payload from `LanguageModelStreamResponseMessage`
116
119
  - Add `original_index` to the base reference to reflect updated api
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "unique_toolkit"
3
- version = "0.7.31"
3
+ version = "0.7.32"
4
4
  description = ""
5
5
  authors = [
6
6
  "Martin Fadler <martin.fadler@unique.ch>",
@@ -20,7 +20,7 @@ numpy = "^1.26.4"
20
20
  python-dotenv = "^1.0.1"
21
21
  regex = "^2024.5.15"
22
22
  tiktoken = "^0.7.0"
23
- unique-sdk = "^0.9.33"
23
+ unique-sdk = "^0.9.36"
24
24
 
25
25
  [tool.poetry.group.dev.dependencies]
26
26
  ruff = "0.11.7"
@@ -243,6 +243,40 @@ class LanguageModelMessages(RootModel):
243
243
  | LanguageModelUserMessage
244
244
  ]
245
245
 
246
+ @classmethod
247
+ def load_messages_to_root(cls, data: list[dict] | dict) -> Self:
248
+ """Convert list of dictionaries to appropriate message objects based on role."""
249
+ # Handle case where data is already wrapped in root
250
+ if isinstance(data, dict) and "root" in data:
251
+ messages_list = data["root"]
252
+ elif isinstance(data, list):
253
+ messages_list = data
254
+ else:
255
+ raise ValueError("Invalid data type")
256
+
257
+ # Convert the messages list
258
+ converted_messages = []
259
+ for item in messages_list:
260
+ if isinstance(item, dict):
261
+ role = item.get("role", "").lower()
262
+
263
+ # Map dictionary to appropriate message class based on role
264
+ if role == "system":
265
+ converted_messages.append(LanguageModelSystemMessage(**item))
266
+ elif role == "user":
267
+ converted_messages.append(LanguageModelUserMessage(**item))
268
+ elif role == "assistant":
269
+ converted_messages.append(LanguageModelAssistantMessage(**item))
270
+ elif role == "tool":
271
+ converted_messages.append(LanguageModelToolMessage(**item))
272
+ else:
273
+ # Fallback to base LanguageModelMessage
274
+ converted_messages.append(LanguageModelMessage(**item))
275
+ else:
276
+ # If it's already a message object, keep it as is
277
+ converted_messages.append(item)
278
+ return cls(root=converted_messages)
279
+
246
280
  def __str__(self):
247
281
  return "\n\n".join([str(message) for message in self.root])
248
282
 
File without changes