unique_toolkit 1.43.8__py3-none-any.whl → 1.43.10__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.
- unique_toolkit/agentic/loop_runner/__init__.py +2 -0
- unique_toolkit/agentic/loop_runner/runners/__init__.py +2 -0
- unique_toolkit/agentic/loop_runner/runners/qwen/__init__.py +2 -0
- unique_toolkit/agentic/loop_runner/runners/qwen/qwen_runner.py +4 -1
- unique_toolkit/language_model/schemas.py +1 -1
- {unique_toolkit-1.43.8.dist-info → unique_toolkit-1.43.10.dist-info}/METADATA +7 -1
- {unique_toolkit-1.43.8.dist-info → unique_toolkit-1.43.10.dist-info}/RECORD +9 -9
- {unique_toolkit-1.43.8.dist-info → unique_toolkit-1.43.10.dist-info}/LICENSE +0 -0
- {unique_toolkit-1.43.8.dist-info → unique_toolkit-1.43.10.dist-info}/WHEEL +0 -0
|
@@ -12,6 +12,7 @@ from unique_toolkit.agentic.loop_runner.middleware import (
|
|
|
12
12
|
from unique_toolkit.agentic.loop_runner.runners import (
|
|
13
13
|
QWEN_FORCED_TOOL_CALL_INSTRUCTION,
|
|
14
14
|
QWEN_LAST_ITERATION_INSTRUCTION,
|
|
15
|
+
QWEN_MAX_LOOP_ITERATIONS,
|
|
15
16
|
BasicLoopIterationRunner,
|
|
16
17
|
BasicLoopIterationRunnerConfig,
|
|
17
18
|
QwenLoopIterationRunner,
|
|
@@ -32,4 +33,5 @@ __all__ = [
|
|
|
32
33
|
"handle_normal_iteration",
|
|
33
34
|
"QWEN_FORCED_TOOL_CALL_INSTRUCTION",
|
|
34
35
|
"QWEN_LAST_ITERATION_INSTRUCTION",
|
|
36
|
+
"QWEN_MAX_LOOP_ITERATIONS",
|
|
35
37
|
]
|
|
@@ -5,6 +5,7 @@ from unique_toolkit.agentic.loop_runner.runners.basic import (
|
|
|
5
5
|
from unique_toolkit.agentic.loop_runner.runners.qwen import (
|
|
6
6
|
QWEN_FORCED_TOOL_CALL_INSTRUCTION,
|
|
7
7
|
QWEN_LAST_ITERATION_INSTRUCTION,
|
|
8
|
+
QWEN_MAX_LOOP_ITERATIONS,
|
|
8
9
|
QwenLoopIterationRunner,
|
|
9
10
|
is_qwen_model,
|
|
10
11
|
)
|
|
@@ -15,5 +16,6 @@ __all__ = [
|
|
|
15
16
|
"QwenLoopIterationRunner",
|
|
16
17
|
"QWEN_FORCED_TOOL_CALL_INSTRUCTION",
|
|
17
18
|
"QWEN_LAST_ITERATION_INSTRUCTION",
|
|
19
|
+
"QWEN_MAX_LOOP_ITERATIONS",
|
|
18
20
|
"is_qwen_model",
|
|
19
21
|
]
|
|
@@ -4,6 +4,7 @@ from unique_toolkit.agentic.loop_runner.runners.qwen.helpers import (
|
|
|
4
4
|
from unique_toolkit.agentic.loop_runner.runners.qwen.qwen_runner import (
|
|
5
5
|
QWEN_FORCED_TOOL_CALL_INSTRUCTION,
|
|
6
6
|
QWEN_LAST_ITERATION_INSTRUCTION,
|
|
7
|
+
QWEN_MAX_LOOP_ITERATIONS,
|
|
7
8
|
QwenLoopIterationRunner,
|
|
8
9
|
)
|
|
9
10
|
|
|
@@ -12,4 +13,5 @@ __all__ = [
|
|
|
12
13
|
"is_qwen_model",
|
|
13
14
|
"QWEN_FORCED_TOOL_CALL_INSTRUCTION",
|
|
14
15
|
"QWEN_LAST_ITERATION_INSTRUCTION",
|
|
16
|
+
"QWEN_MAX_LOOP_ITERATIONS",
|
|
15
17
|
]
|
|
@@ -18,13 +18,16 @@ from unique_toolkit.chat.service import ChatService, LanguageModelStreamResponse
|
|
|
18
18
|
|
|
19
19
|
_LOGGER = logging.getLogger(__name__)
|
|
20
20
|
|
|
21
|
+
QWEN_MAX_LOOP_ITERATIONS = 3
|
|
22
|
+
|
|
21
23
|
QWEN_FORCED_TOOL_CALL_INSTRUCTION = (
|
|
22
24
|
"**Tool Call Instruction:** \nYou MUST call the tool {TOOL_NAME}. "
|
|
23
25
|
"You must start the response with <tool_call>. "
|
|
24
26
|
"Do NOT provide natural language explanations, summaries, or any text outside the <tool_call> block."
|
|
25
27
|
)
|
|
26
28
|
|
|
27
|
-
QWEN_LAST_ITERATION_INSTRUCTION = "The maximum number of loop iteration have been reached. Not further tool calls are allowed.
|
|
29
|
+
QWEN_LAST_ITERATION_INSTRUCTION = """The maximum number of loop iteration have been reached. Not further tool calls are allowed.
|
|
30
|
+
Based on the found information, an answer should be generated"""
|
|
28
31
|
|
|
29
32
|
|
|
30
33
|
class QwenLoopIterationRunner(LoopIterationRunner):
|
|
@@ -280,7 +280,7 @@ class LanguageModelSystemMessage(LanguageModelMessage):
|
|
|
280
280
|
if mode == "completions":
|
|
281
281
|
return ChatCompletionSystemMessageParam(role="system", content=content)
|
|
282
282
|
elif mode == "responses":
|
|
283
|
-
return EasyInputMessageParam(role="
|
|
283
|
+
return EasyInputMessageParam(role="system", content=content)
|
|
284
284
|
|
|
285
285
|
|
|
286
286
|
# Equivalent to
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: unique_toolkit
|
|
3
|
-
Version: 1.43.
|
|
3
|
+
Version: 1.43.10
|
|
4
4
|
Summary:
|
|
5
5
|
License: Proprietary
|
|
6
6
|
Author: Cedric Klinkert
|
|
@@ -125,6 +125,12 @@ All notable changes to this project will be documented in this file.
|
|
|
125
125
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
126
126
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
127
127
|
|
|
128
|
+
## [1.43.10] - 2026-01-21
|
|
129
|
+
- Lowering the max iterations of the main agents and hard blocking Qwen3 from using too many agent rounds
|
|
130
|
+
|
|
131
|
+
## [1.43.9] - 2026-01-20
|
|
132
|
+
- Fix system message role conversion in responses API mode (was incorrectly set to "user", now correctly set to "system")
|
|
133
|
+
|
|
128
134
|
## [1.43.8] - 2026-01-16
|
|
129
135
|
- Add local CI testing commands via poethepoet (poe lint, poe test, poe ci-typecheck, etc.)
|
|
130
136
|
|
|
@@ -90,7 +90,7 @@ unique_toolkit/agentic/history_manager/history_construction_with_contents.py,sha
|
|
|
90
90
|
unique_toolkit/agentic/history_manager/history_manager.py,sha256=7V7_173XkAjc8otBACF0G3dbqRs34FSlURbBPrE95Wk,9537
|
|
91
91
|
unique_toolkit/agentic/history_manager/loop_token_reducer.py,sha256=3c-uonDovtanEJUpAO4zlA4-n9MS_Ws_V0Yb6G7hPM0,20172
|
|
92
92
|
unique_toolkit/agentic/history_manager/utils.py,sha256=VIn_UmcR3jHtpux0qp5lQQzczgAm8XYSeQiPo87jC3A,3143
|
|
93
|
-
unique_toolkit/agentic/loop_runner/__init__.py,sha256=
|
|
93
|
+
unique_toolkit/agentic/loop_runner/__init__.py,sha256=26SAJn737LLmc3RoT6PPoPIeI80nlNWobHK6-Vz8HeI,1099
|
|
94
94
|
unique_toolkit/agentic/loop_runner/_iteration_handler_utils.py,sha256=czwTbMMmikppRjAA2wpx-UZGub8KrpSoWfojklr-5sE,3261
|
|
95
95
|
unique_toolkit/agentic/loop_runner/_stream_handler_utils.py,sha256=FTGc5y8wkDnwnRVSYEdandgKz-FiySOsrTFFMadwP6E,1706
|
|
96
96
|
unique_toolkit/agentic/loop_runner/base.py,sha256=3g4PalzV00o8kcRwHds2c2rtxW4idD7_7vS2Z7GkMvQ,1370
|
|
@@ -98,11 +98,11 @@ unique_toolkit/agentic/loop_runner/middleware/__init__.py,sha256=5yhFZ14_C1qAt-M
|
|
|
98
98
|
unique_toolkit/agentic/loop_runner/middleware/planning/__init__.py,sha256=Y9MlihNA8suNREixW98RF45bj0EMtD_tQuDrO2MEML4,304
|
|
99
99
|
unique_toolkit/agentic/loop_runner/middleware/planning/planning.py,sha256=s6SAP3BCCExgwnyRj_bZTaWgTOiNVju5qcJA0WFUUoE,3216
|
|
100
100
|
unique_toolkit/agentic/loop_runner/middleware/planning/schema.py,sha256=76C36CWCLfDAYYqtaQlhXsmkWM1fCqf8j-l5afQREKA,2869
|
|
101
|
-
unique_toolkit/agentic/loop_runner/runners/__init__.py,sha256=
|
|
101
|
+
unique_toolkit/agentic/loop_runner/runners/__init__.py,sha256=JLBzWjOvTScIVHafeoqG1ZS3syLrYPBDzIfBuJFOw8s,598
|
|
102
102
|
unique_toolkit/agentic/loop_runner/runners/basic.py,sha256=PKg7AXp5_2OJpJX8b7_5u0jBKffX5mg8X6DFk98sSwA,1535
|
|
103
|
-
unique_toolkit/agentic/loop_runner/runners/qwen/__init__.py,sha256=
|
|
103
|
+
unique_toolkit/agentic/loop_runner/runners/qwen/__init__.py,sha256=RRT2Q_eeEjtAMsPJC7sYHSlY8clGYXRtQPQhA3HkHF0,481
|
|
104
104
|
unique_toolkit/agentic/loop_runner/runners/qwen/helpers.py,sha256=JBnxeYKu8HiUq3VHjnb8XdHCe1c3cJ3OwagckF4UvnU,1763
|
|
105
|
-
unique_toolkit/agentic/loop_runner/runners/qwen/qwen_runner.py,sha256=
|
|
105
|
+
unique_toolkit/agentic/loop_runner/runners/qwen/qwen_runner.py,sha256=Qz_kwUUjLDUPBGM0hRVZSwVLYJ1fX5V646oU8AObIUw,4954
|
|
106
106
|
unique_toolkit/agentic/message_log_manager/__init__.py,sha256=3-KY_sGkPbNoSnrzwPY0FQIJNnsz4NHXvocXgGRUeuE,169
|
|
107
107
|
unique_toolkit/agentic/message_log_manager/service.py,sha256=DeixRsgmyDdWsL-4e12flB9d-Uy7s0X52upPIbTn6vA,5895
|
|
108
108
|
unique_toolkit/agentic/postprocessor/postprocessor_manager.py,sha256=CoKzVFeLIr1eRP3ZLnmUJ8KNsFLyvK5iuvUilbcGAm0,7662
|
|
@@ -227,7 +227,7 @@ unique_toolkit/language_model/functions.py,sha256=PTBm2BBkuqISVHoyUqMIGHGXT-RMSA
|
|
|
227
227
|
unique_toolkit/language_model/infos.py,sha256=73guq14ggNplXJ5mx-s71rnyA66pNYnXaiVYSKSGMtw,89733
|
|
228
228
|
unique_toolkit/language_model/prompt.py,sha256=JSawaLjQg3VR-E2fK8engFyJnNdk21zaO8pPIodzN4Q,3991
|
|
229
229
|
unique_toolkit/language_model/reference.py,sha256=nkX2VFz-IrUz8yqyc3G5jUMNwrNpxITBrMEKkbqqYoI,8583
|
|
230
|
-
unique_toolkit/language_model/schemas.py,sha256=
|
|
230
|
+
unique_toolkit/language_model/schemas.py,sha256=WCHB_9GGkJwB3OCSwUJznz6FPo3gEL2MXUOEtYKxAFg,23996
|
|
231
231
|
unique_toolkit/language_model/service.py,sha256=fI2S5JLawJRRkKg086Ysz2Of4AOBHPN-4tdsUtagdjs,11955
|
|
232
232
|
unique_toolkit/language_model/utils.py,sha256=bPQ4l6_YO71w-zaIPanUUmtbXC1_hCvLK0tAFc3VCRc,1902
|
|
233
233
|
unique_toolkit/protocols/support.py,sha256=ZEnbQL5w2-T_1AeM8OHycZJ3qbdfVI1nXe0nL9esQEw,5544
|
|
@@ -242,7 +242,7 @@ unique_toolkit/short_term_memory/service.py,sha256=5PeVBu1ZCAfyDb2HLVvlmqSbyzBBu
|
|
|
242
242
|
unique_toolkit/smart_rules/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
243
243
|
unique_toolkit/smart_rules/compile.py,sha256=Ozhh70qCn2yOzRWr9d8WmJeTo7AQurwd3tStgBMPFLA,1246
|
|
244
244
|
unique_toolkit/test_utilities/events.py,sha256=_mwV2bs5iLjxS1ynDCjaIq-gjjKhXYCK-iy3dRfvO3g,6410
|
|
245
|
-
unique_toolkit-1.43.
|
|
246
|
-
unique_toolkit-1.43.
|
|
247
|
-
unique_toolkit-1.43.
|
|
248
|
-
unique_toolkit-1.43.
|
|
245
|
+
unique_toolkit-1.43.10.dist-info/LICENSE,sha256=GlN8wHNdh53xwOPg44URnwag6TEolCjoq3YD_KrWgss,193
|
|
246
|
+
unique_toolkit-1.43.10.dist-info/METADATA,sha256=5ce6HRrSJHrufcs3V-HR5-6AKH10CHiLZM6D9WtSj-0,48493
|
|
247
|
+
unique_toolkit-1.43.10.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
|
248
|
+
unique_toolkit-1.43.10.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|