unique_toolkit 0.5.45__py3-none-any.whl → 0.5.47__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,50 @@
1
+ from unique_toolkit.language_model import (
2
+ LanguageModelAssistantMessage,
3
+ LanguageModelMessage,
4
+ LanguageModelMessages,
5
+ LanguageModelSystemMessage,
6
+ LanguageModelToolMessage,
7
+ LanguageModelUserMessage,
8
+ )
9
+
10
+
11
+ class MessagesBuilder:
12
+ def __init__(self):
13
+ self.messages: list[LanguageModelMessage] = []
14
+
15
+ def system_message_append(self, content):
16
+ """Appends a user message to the messages list."""
17
+ message = LanguageModelSystemMessage(content=content)
18
+ self.messages.append(message)
19
+ return self # Return self to allow method chaining
20
+
21
+ def user_message_append(self, content):
22
+ """Appends a user message to the messages list."""
23
+ message = LanguageModelUserMessage(content=content)
24
+ self.messages.append(message)
25
+ return self # Return self to allow method chaining
26
+
27
+ def assistant_message_append(self, content):
28
+ """Appends an assistant message to the messages list."""
29
+ message = LanguageModelAssistantMessage(content=content)
30
+ self.messages.append(message)
31
+ return self # Return self to allow method chaining
32
+
33
+ def tool_message_append(self, name: str, tool_call_id: str, content: str):
34
+ """Appends a tool message to the messages list."""
35
+ message = LanguageModelToolMessage(
36
+ name=name, tool_call_id=tool_call_id, content=content
37
+ )
38
+ self.messages.append(message)
39
+ return self # Return self to allow method chaining
40
+
41
+ def build(self, reset: bool = True) -> LanguageModelMessages:
42
+ """Returns the list of messages and resets the builder"""
43
+ messages = LanguageModelMessages(root=self.messages)
44
+ if reset:
45
+ self.messages = []
46
+ return messages
47
+
48
+ def model_dump(self, **kwargs):
49
+ """Dumps the LanguageModelMessages model"""
50
+ return self.build().model_dump(**kwargs)
@@ -11,6 +11,7 @@ class LanguageModelName(StrEnum):
11
11
  AZURE_GPT_35_TURBO_0613 = "AZURE_GPT_35_TURBO_0613"
12
12
  AZURE_GPT_35_TURBO = "AZURE_GPT_35_TURBO"
13
13
  AZURE_GPT_35_TURBO_16K = "AZURE_GPT_35_TURBO_16K"
14
+ AZURE_GPT_35_TURBO_0125 = "AZURE_GPT_35_TURBO_0125"
14
15
  AZURE_GPT_4_0613 = "AZURE_GPT_4_0613"
15
16
  AZURE_GPT_4_TURBO_1106 = "AZURE_GPT_4_TURBO_1106"
16
17
  AZURE_GPT_4_VISION_PREVIEW = "AZURE_GPT_4_VISION_PREVIEW"
@@ -33,6 +34,7 @@ def get_encoder_name(model_name: LanguageModelName) -> Optional[EncoderName]:
33
34
  LMN.AZURE_GPT_35_TURBO
34
35
  | LMN.AZURE_GPT_35_TURBO_16K
35
36
  | LMN.AZURE_GPT_35_TURBO_0613
37
+ | LMN.AZURE_GPT_35_TURBO_0125
36
38
  ):
37
39
  return EncoderName.CL100K_BASE
38
40
  case (
@@ -278,7 +280,7 @@ AzureGpt35Turbo0613 = create_language_model(
278
280
  token_limit=8192,
279
281
  info_cutoff_at=date(2021, 9, 1),
280
282
  published_at=date(2023, 6, 13),
281
- retirement_at=date(2024, 10, 1),
283
+ retirement_at=date(2025, 2, 13),
282
284
  )
283
285
 
284
286
  AzureGpt35Turbo = create_language_model(
@@ -289,6 +291,7 @@ AzureGpt35Turbo = create_language_model(
289
291
  token_limit=4096,
290
292
  info_cutoff_at=date(2021, 9, 1),
291
293
  published_at=date(2023, 3, 1),
294
+ retirement_at=date(2025, 2, 13),
292
295
  )
293
296
 
294
297
 
@@ -300,7 +303,20 @@ AzureGpt35Turbo16k = create_language_model(
300
303
  token_limit=16382,
301
304
  info_cutoff_at=date(2021, 9, 1),
302
305
  published_at=date(2023, 6, 13),
303
- retirement_at=date(2024, 10, 1),
306
+ retirement_at=date(2025, 2, 13),
307
+ )
308
+
309
+
310
+ AzureGpt35Turbo0125 = create_language_model(
311
+ name=LanguageModelName.AZURE_GPT_35_TURBO_0125,
312
+ provider=LanguageModelProvider.AZURE,
313
+ version="0125",
314
+ encoder_name=get_encoder_name(LanguageModelName.AZURE_GPT_35_TURBO_0125),
315
+ token_limit_input=16385,
316
+ token_limit_output=4096,
317
+ info_cutoff_at=date(2021, 9, 1),
318
+ published_at=date(2023, 1, 25),
319
+ retirement_at=date(5, 3, 31),
304
320
  )
305
321
 
306
322
 
@@ -313,7 +329,7 @@ AzureGpt40613 = create_language_model(
313
329
  info_cutoff_at=date(2021, 9, 1),
314
330
  published_at=date(2023, 6, 13),
315
331
  deprecated_at=date(2024, 10, 1),
316
- retirement_at=date(2025, 6, 1),
332
+ retirement_at=date(2025, 6, 6),
317
333
  )
318
334
 
319
335
 
@@ -349,7 +365,7 @@ AzureGpt432k0613 = create_language_model(
349
365
  info_cutoff_at=date(2021, 9, 1),
350
366
  published_at=date(2023, 6, 13),
351
367
  deprecated_at=date(2024, 10, 1),
352
- retirement_at=date(2025, 6, 1),
368
+ retirement_at=date(2025, 6, 6),
353
369
  )
354
370
 
355
371
  AzureGpt4Turbo20240409 = create_language_model(
@@ -89,7 +89,6 @@ class LanguageModelMessage(BaseModel):
89
89
  model_config = model_config
90
90
  role: LanguageModelMessageRole
91
91
  content: Optional[str | list[dict]] = None
92
- tool_calls: Optional[list[LanguageModelFunctionCall]] = None
93
92
 
94
93
  def __str__(self):
95
94
  return format_message(self.role.capitalize(), message=self.content, num_tabs=1)
@@ -113,6 +112,7 @@ class LanguageModelUserMessage(LanguageModelMessage):
113
112
 
114
113
  class LanguageModelAssistantMessage(LanguageModelMessage):
115
114
  role: LanguageModelMessageRole = LanguageModelMessageRole.ASSISTANT
115
+ tool_calls: Optional[list[LanguageModelFunctionCall]] = None
116
116
 
117
117
  @field_validator("role", mode="before")
118
118
  def set_role(cls, value):
@@ -159,7 +159,7 @@ class LanguageModelCompletionChoice(BaseModel):
159
159
  model_config = model_config
160
160
 
161
161
  index: int
162
- message: LanguageModelMessage
162
+ message: LanguageModelAssistantMessage
163
163
  finish_reason: str
164
164
 
165
165
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: unique_toolkit
3
- Version: 0.5.45
3
+ Version: 0.5.47
4
4
  Summary:
5
5
  License: Proprietary
6
6
  Author: Martin Fadler
@@ -79,7 +79,7 @@ The `unique_toolkit.embedding` module encompasses all embedding related function
79
79
  The `unique_toolkit.language_model` module encompasses all language model related functionality and information on the different language models deployed through the
80
80
  Unique platform.
81
81
 
82
- - `infos.py` comprises the information on all language models deployed through the Unique platform. We recommend to use the LanguageModel class, initialized with the LanguageModelName, e.g., LanguageModel(LanguageModelName.AZURE_GPT_35_TURBO_16K) to get the information on the specific language model like the name, version, token limits or retirement date.
82
+ - `infos.py` comprises the information on all language models deployed through the Unique platform. We recommend to use the LanguageModel class, initialized with the LanguageModelName, e.g., LanguageModel(LanguageModelName.AZURE_GPT_35_TURBO_0125) to get the information on the specific language model like the name, version, token limits or retirement date.
83
83
  - `service.py` comprises the LanguageModelService and provides an interface to interact with the language models, e.g., complete or stream_complete.
84
84
  - `schemas.py` comprises all relevant schemas, e.g., LanguageModelResponse, used in the LanguageModelService.
85
85
  - `utils.py` comprises utility functions to parse the output of the language model, e.g., convert_string_to_json finds and parses the last json object in a string.
@@ -100,6 +100,13 @@ All notable changes to this project will be documented in this file.
100
100
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
101
101
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
102
102
 
103
+ ## [0.5.47] - 2025-01-07
104
+ - Added a message builder to build language model messages conveniently without importing all different messages.
105
+ - Move tool_calls to assistant message as not needed anywhere else.
106
+
107
+ ## [0.5.46] - 2025-01-07
108
+ - Added `AZURE_GPT_35_TURBO_0125` as new model into toolkit.
109
+
103
110
  ## [0.5.45] - 2025-01-03
104
111
  - Added `ShortTermMemoryService` class to handle short term memory.
105
112
 
@@ -36,14 +36,15 @@ unique_toolkit/evaluators/hallucination/utils.py,sha256=507BsX1mFTEne1-LdRCNMgBj
36
36
  unique_toolkit/evaluators/output_parser.py,sha256=eI72qkzK1dZyUvnfP2SOAQCGBj_-PwX5wy_aLPMsJMY,883
37
37
  unique_toolkit/evaluators/schemas.py,sha256=Jaue6Uhx75X1CyHKWj8sT3RE1JZXTqoLtfLt2xQNCX8,2507
38
38
  unique_toolkit/language_model/__init__.py,sha256=hgk5yiFF4SpIcE2QSoki9YknFxmcKnq2LCJ1cK9de9I,1830
39
- unique_toolkit/language_model/infos.py,sha256=kQK6F3r8xTN7oT6b39J7rxW-Y4iPXjx_Fr9bCOVQdm0,12509
39
+ unique_toolkit/language_model/builder.py,sha256=nsRqWO_2dgFehK5CgtqR5aqXgYUU0QL6mR0lALPrQXM,1898
40
+ unique_toolkit/language_model/infos.py,sha256=NgoV05ausVWMqrYqgH6i3s7tYG7mejupROIF_bwEGZo,13050
40
41
  unique_toolkit/language_model/prompt.py,sha256=JSawaLjQg3VR-E2fK8engFyJnNdk21zaO8pPIodzN4Q,3991
41
- unique_toolkit/language_model/schemas.py,sha256=MBwEAFnnCYjSpbZDUYLrqkCc-0bsarsepSQEj1v6YEY,6991
42
+ unique_toolkit/language_model/schemas.py,sha256=3en2aV9I3mD6IzugCRsq33vh9-JPNobszwBTw-LsaJQ,7000
42
43
  unique_toolkit/language_model/service.py,sha256=brNCPRA0XxgqHi2rI5i2lyFCkUiw4MNMe1VaR3UgWmY,15500
43
44
  unique_toolkit/language_model/utils.py,sha256=bPQ4l6_YO71w-zaIPanUUmtbXC1_hCvLK0tAFc3VCRc,1902
44
45
  unique_toolkit/short_term_memory/schemas.py,sha256=OhfcXyF6ACdwIXW45sKzjtZX_gkcJs8FEZXcgQTNenw,1406
45
46
  unique_toolkit/short_term_memory/service.py,sha256=Jd9P72-VvJy7hnqNrjmrmB5BHmsKuOpTiT0Jr-dBbsQ,1682
46
- unique_toolkit-0.5.45.dist-info/LICENSE,sha256=GlN8wHNdh53xwOPg44URnwag6TEolCjoq3YD_KrWgss,193
47
- unique_toolkit-0.5.45.dist-info/METADATA,sha256=hHpirT_B8QwGgqPLxXFkOC0UDBYRcHmmcDdhjLGXqKw,15248
48
- unique_toolkit-0.5.45.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
49
- unique_toolkit-0.5.45.dist-info/RECORD,,
47
+ unique_toolkit-0.5.47.dist-info/LICENSE,sha256=GlN8wHNdh53xwOPg44URnwag6TEolCjoq3YD_KrWgss,193
48
+ unique_toolkit-0.5.47.dist-info/METADATA,sha256=idzuuHNWe1HqAkrEbASKasyAlzWwpsm6_3tI5er7b2c,15544
49
+ unique_toolkit-0.5.47.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
50
+ unique_toolkit-0.5.47.dist-info/RECORD,,