unique_toolkit 0.7.2__tar.gz → 0.7.4__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 (65) hide show
  1. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/CHANGELOG.md +5 -0
  2. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/PKG-INFO +6 -1
  3. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/pyproject.toml +1 -1
  4. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/language_model/builder.py +16 -3
  5. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/language_model/infos.py +19 -0
  6. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/LICENSE +0 -0
  7. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/README.md +0 -0
  8. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/__init__.py +0 -0
  9. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/_common/_base_service.py +0 -0
  10. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/_common/_time_utils.py +0 -0
  11. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/_common/exception.py +0 -0
  12. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/_common/validate_required_values.py +0 -0
  13. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/_common/validators.py +0 -0
  14. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/app/__init__.py +0 -0
  15. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/app/init_logging.py +0 -0
  16. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/app/init_sdk.py +0 -0
  17. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/app/performance/async_tasks.py +0 -0
  18. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/app/performance/async_wrapper.py +0 -0
  19. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/app/schemas.py +0 -0
  20. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/app/verification.py +0 -0
  21. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/chat/__init__.py +0 -0
  22. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/chat/constants.py +0 -0
  23. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/chat/functions.py +0 -0
  24. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/chat/schemas.py +0 -0
  25. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/chat/service.py +0 -0
  26. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/chat/state.py +0 -0
  27. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/chat/utils.py +0 -0
  28. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/content/__init__.py +0 -0
  29. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/content/constants.py +0 -0
  30. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/content/functions.py +0 -0
  31. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/content/schemas.py +0 -0
  32. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/content/service.py +0 -0
  33. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/content/utils.py +0 -0
  34. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/embedding/__init__.py +0 -0
  35. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/embedding/constants.py +0 -0
  36. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/embedding/functions.py +0 -0
  37. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/embedding/schemas.py +0 -0
  38. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/embedding/service.py +0 -0
  39. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/embedding/utils.py +0 -0
  40. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/evaluators/__init__.py +0 -0
  41. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/evaluators/config.py +0 -0
  42. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/evaluators/constants.py +0 -0
  43. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/evaluators/context_relevancy/constants.py +0 -0
  44. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/evaluators/context_relevancy/prompts.py +0 -0
  45. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/evaluators/context_relevancy/service.py +0 -0
  46. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/evaluators/context_relevancy/utils.py +0 -0
  47. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/evaluators/exception.py +0 -0
  48. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/evaluators/hallucination/constants.py +0 -0
  49. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/evaluators/hallucination/prompts.py +0 -0
  50. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/evaluators/hallucination/service.py +0 -0
  51. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/evaluators/hallucination/utils.py +0 -0
  52. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/evaluators/output_parser.py +0 -0
  53. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/evaluators/schemas.py +0 -0
  54. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/language_model/__init__.py +0 -0
  55. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/language_model/constants.py +0 -0
  56. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/language_model/functions.py +0 -0
  57. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/language_model/prompt.py +0 -0
  58. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/language_model/schemas.py +0 -0
  59. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/language_model/service.py +0 -0
  60. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/language_model/utils.py +0 -0
  61. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/short_term_memory/__init__.py +0 -0
  62. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/short_term_memory/constants.py +0 -0
  63. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/short_term_memory/functions.py +0 -0
  64. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/short_term_memory/schemas.py +0 -0
  65. {unique_toolkit-0.7.2 → unique_toolkit-0.7.4}/unique_toolkit/short_term_memory/service.py +0 -0
@@ -5,6 +5,11 @@ 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.4] - 2025-03-20
9
+ - add `AZURE_GPT_45_PREVIEW_2025_0227` as part of the models
10
+
11
+ ## [0.7.3] - 2025-03-20
12
+ - Enable handling tool calls in message builder
8
13
 
9
14
  ## [0.7.2] - 2025-03-17
10
15
  - HotFix `ContentService.search_content_chunks` to use `chat_id` from event if provided.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: unique_toolkit
3
- Version: 0.7.2
3
+ Version: 0.7.4
4
4
  Summary:
5
5
  License: Proprietary
6
6
  Author: Martin Fadler
@@ -111,6 +111,11 @@ 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.4] - 2025-03-20
115
+ - add `AZURE_GPT_45_PREVIEW_2025_0227` as part of the models
116
+
117
+ ## [0.7.3] - 2025-03-20
118
+ - Enable handling tool calls in message builder
114
119
 
115
120
  ## [0.7.2] - 2025-03-17
116
121
  - HotFix `ContentService.search_content_chunks` to use `chat_id` from event if provided.
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "unique_toolkit"
3
- version = "0.7.2"
3
+ version = "0.7.4"
4
4
  description = ""
5
5
  authors = [
6
6
  "Martin Fadler <martin.fadler@unique.ch>",
@@ -2,6 +2,8 @@ from typing_extensions import Self
2
2
 
3
3
  from unique_toolkit.language_model import (
4
4
  LanguageModelAssistantMessage,
5
+ LanguageModelFunction,
6
+ LanguageModelFunctionCall,
5
7
  LanguageModelMessage,
6
8
  LanguageModelMessageRole,
7
9
  LanguageModelMessages,
@@ -48,11 +50,22 @@ class MessagesBuilder:
48
50
  self.messages.append(message)
49
51
  return self
50
52
 
51
- def assistant_message_append(self, content: str) -> Self:
53
+ def assistant_message_append(
54
+ self, content: str, tool_calls: list[LanguageModelFunction] | None = None
55
+ ) -> Self:
52
56
  """Appends an assistant message to the messages list."""
53
57
  message = LanguageModelAssistantMessage(content=content)
58
+ if tool_calls:
59
+ message.tool_calls = [
60
+ LanguageModelFunctionCall(
61
+ id=tool_call.id,
62
+ type="function",
63
+ function=tool_call,
64
+ )
65
+ for tool_call in tool_calls
66
+ ]
54
67
  self.messages.append(message)
55
- return self # Return self to allow method chaining
68
+ return self
56
69
 
57
70
  def tool_message_append(self, name: str, tool_call_id: str, content: str) -> Self:
58
71
  """Appends a tool message to the messages list."""
@@ -60,7 +73,7 @@ class MessagesBuilder:
60
73
  name=name, tool_call_id=tool_call_id, content=content
61
74
  )
62
75
  self.messages.append(message)
63
- return self # Return self to allow method chaining
76
+ return self
64
77
 
65
78
  def build(self, reset: bool = True) -> LanguageModelMessages:
66
79
  """Returns the list of messages and resets the builder"""
@@ -20,6 +20,7 @@ class LanguageModelName(StrEnum):
20
20
  AZURE_o1_2024_1217 = "AZURE_o1_2024_1217"
21
21
  AZURE_o1_MINI_2024_0912 = "AZURE_o1_MINI_2024_0912"
22
22
  AZURE_o3_MINI_2025_0131 = "AZURE_o3_MINI_2025_0131"
23
+ AZURE_GPT_45_PREVIEW_2025_0227 = "AZURE_GPT_45_PREVIEW_2025_0227"
23
24
 
24
25
 
25
26
  class EncoderName(StrEnum):
@@ -275,6 +276,24 @@ class LanguageModelInfo(BaseModel):
275
276
  info_cutoff_at=date(2023, 10, 1),
276
277
  published_at=date(2025, 1, 31),
277
278
  )
279
+ case LanguageModelName.AZURE_GPT_45_PREVIEW_2025_0227:
280
+ return cls(
281
+ name=model_name,
282
+ capabilities=[
283
+ ModelCapabilities.STRUCTURED_OUTPUT,
284
+ ModelCapabilities.FUNCTION_CALLING,
285
+ ModelCapabilities.STREAMING,
286
+ ModelCapabilities.VISION,
287
+ ],
288
+ provider=LanguageModelProvider.AZURE,
289
+ version="2025-02-27",
290
+ encoder_name=EncoderName.O200K_BASE,
291
+ token_limits=LanguageModelTokenLimits(
292
+ token_limit_input=128_000, token_limit_output=16_384
293
+ ),
294
+ info_cutoff_at=date(2023, 10, 1),
295
+ published_at=date(2025, 2, 27),
296
+ )
278
297
  case _:
279
298
  if isinstance(model_name, LanguageModelName):
280
299
  raise ValueError(
File without changes
File without changes