unique_orchestrator 1.2.4__tar.gz → 1.3.0__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.
- {unique_orchestrator-1.2.4 → unique_orchestrator-1.3.0}/CHANGELOG.md +3 -0
- {unique_orchestrator-1.2.4 → unique_orchestrator-1.3.0}/PKG-INFO +4 -1
- {unique_orchestrator-1.2.4 → unique_orchestrator-1.3.0}/pyproject.toml +1 -1
- {unique_orchestrator-1.2.4 → unique_orchestrator-1.3.0}/unique_orchestrator/config.py +20 -15
- {unique_orchestrator-1.2.4 → unique_orchestrator-1.3.0}/unique_orchestrator/unique_ai.py +18 -8
- {unique_orchestrator-1.2.4 → unique_orchestrator-1.3.0}/unique_orchestrator/unique_ai_builder.py +2 -5
- {unique_orchestrator-1.2.4 → unique_orchestrator-1.3.0}/LICENSE +0 -0
- {unique_orchestrator-1.2.4 → unique_orchestrator-1.3.0}/README.md +0 -0
- {unique_orchestrator-1.2.4 → unique_orchestrator-1.3.0}/unique_orchestrator/prompts/generic_reference_prompt.jinja2 +0 -0
- {unique_orchestrator-1.2.4 → unique_orchestrator-1.3.0}/unique_orchestrator/prompts/system_prompt.jinja2 +0 -0
- {unique_orchestrator-1.2.4 → unique_orchestrator-1.3.0}/unique_orchestrator/prompts/user_message_prompt.jinja2 +0 -0
- {unique_orchestrator-1.2.4 → unique_orchestrator-1.3.0}/unique_orchestrator/tests/test_unique_ai_reference_order.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
|
+
## [1.3.0] - 2025-10-14
|
|
9
|
+
- Re-organize sub-agents configuration for clarity.
|
|
10
|
+
|
|
8
11
|
## [1.2.4] - 2025-10-14
|
|
9
12
|
- Let control taking tool itself set the message state to completed
|
|
10
13
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: unique_orchestrator
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.3.0
|
|
4
4
|
Summary:
|
|
5
5
|
License: Proprietary
|
|
6
6
|
Author: Andreas Hauri
|
|
@@ -33,6 +33,9 @@ All notable changes to this project will be documented in this file.
|
|
|
33
33
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
34
34
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
35
35
|
|
|
36
|
+
## [1.3.0] - 2025-10-14
|
|
37
|
+
- Re-organize sub-agents configuration for clarity.
|
|
38
|
+
|
|
36
39
|
## [1.2.4] - 2025-10-14
|
|
37
40
|
- Let control taking tool itself set the message state to completed
|
|
38
41
|
|
|
@@ -32,6 +32,11 @@ from unique_toolkit.language_model.default_language_model import DEFAULT_GPT_4o
|
|
|
32
32
|
from unique_web_search.config import WebSearchConfig
|
|
33
33
|
from unique_web_search.service import WebSearchTool
|
|
34
34
|
|
|
35
|
+
DeactivatedNone = Annotated[
|
|
36
|
+
None,
|
|
37
|
+
Field(title="Deactivated", description="None"),
|
|
38
|
+
]
|
|
39
|
+
|
|
35
40
|
|
|
36
41
|
class SpaceType(StrEnum):
|
|
37
42
|
UNIQUE_CUSTOM = "unique_custom"
|
|
@@ -121,9 +126,6 @@ class EvaluationConfig(BaseModel):
|
|
|
121
126
|
model_config = get_configuration_dict()
|
|
122
127
|
max_review_steps: int = 3
|
|
123
128
|
hallucination_config: HallucinationConfig = HallucinationConfig()
|
|
124
|
-
sub_agents_config: SubAgentEvaluationServiceConfig | None = (
|
|
125
|
-
SubAgentEvaluationServiceConfig()
|
|
126
|
-
)
|
|
127
129
|
|
|
128
130
|
|
|
129
131
|
# ------------------------------------------------------------
|
|
@@ -149,12 +151,6 @@ class UniqueAIPromptConfig(BaseModel):
|
|
|
149
151
|
)
|
|
150
152
|
|
|
151
153
|
|
|
152
|
-
DeactivatedNone = Annotated[
|
|
153
|
-
None,
|
|
154
|
-
Field(title="Deactivated", description="None"),
|
|
155
|
-
]
|
|
156
|
-
|
|
157
|
-
|
|
158
154
|
class UniqueAIServices(BaseModel):
|
|
159
155
|
"""Determine the services the agent is using
|
|
160
156
|
|
|
@@ -205,12 +201,9 @@ class InputTokenDistributionConfig(BaseModel):
|
|
|
205
201
|
return int(self.percent_for_history * max_input_token)
|
|
206
202
|
|
|
207
203
|
|
|
208
|
-
class
|
|
204
|
+
class SubAgentsReferencingConfig(BaseModel):
|
|
209
205
|
model_config = get_configuration_dict()
|
|
210
|
-
|
|
211
|
-
default=True,
|
|
212
|
-
description="Whether to use sub agent references in the main agent's response. Only has an effect if sub agents are used.",
|
|
213
|
-
)
|
|
206
|
+
|
|
214
207
|
referencing_instructions_for_system_prompt: str = Field(
|
|
215
208
|
default=REFERENCING_INSTRUCTIONS_FOR_SYSTEM_PROMPT,
|
|
216
209
|
description="Referencing instructions for the main agent's system prompt.",
|
|
@@ -221,6 +214,18 @@ class SubAgentsConfig(BaseModel):
|
|
|
221
214
|
)
|
|
222
215
|
|
|
223
216
|
|
|
217
|
+
class SubAgentsConfig(BaseModel):
|
|
218
|
+
model_config = get_configuration_dict()
|
|
219
|
+
|
|
220
|
+
referencing_config: (
|
|
221
|
+
Annotated[SubAgentsReferencingConfig, Field(title="Active")] | DeactivatedNone
|
|
222
|
+
) = SubAgentsReferencingConfig()
|
|
223
|
+
evaluation_config: (
|
|
224
|
+
Annotated[SubAgentEvaluationServiceConfig, Field(title="Active")]
|
|
225
|
+
| DeactivatedNone
|
|
226
|
+
) = SubAgentEvaluationServiceConfig()
|
|
227
|
+
|
|
228
|
+
|
|
224
229
|
class ExperimentalConfig(BaseModel):
|
|
225
230
|
"""Experimental features this part of the configuration might evolve in the future continuously"""
|
|
226
231
|
|
|
@@ -282,5 +287,5 @@ class UniqueAIConfig(BaseModel):
|
|
|
282
287
|
@model_validator(mode="after")
|
|
283
288
|
def disable_sub_agent_referencing_if_not_used(self) -> "UniqueAIConfig":
|
|
284
289
|
if not any(tool.is_sub_agent for tool in self.space.tools):
|
|
285
|
-
self.agent.experimental.sub_agents_config.
|
|
290
|
+
self.agent.experimental.sub_agents_config.referencing_config = None
|
|
286
291
|
return self
|
|
@@ -260,10 +260,15 @@ class UniqueAI:
|
|
|
260
260
|
|
|
261
261
|
query = self._event.payload.user_message.text
|
|
262
262
|
|
|
263
|
-
|
|
264
|
-
self._config.agent.experimental.sub_agents_config.
|
|
265
|
-
|
|
266
|
-
|
|
263
|
+
if (
|
|
264
|
+
self._config.agent.experimental.sub_agents_config.referencing_config
|
|
265
|
+
is not None
|
|
266
|
+
):
|
|
267
|
+
use_sub_agent_references = True
|
|
268
|
+
sub_agent_referencing_instructions = self._config.agent.experimental.sub_agents_config.referencing_config.referencing_instructions_for_user_prompt
|
|
269
|
+
else:
|
|
270
|
+
use_sub_agent_references = False
|
|
271
|
+
sub_agent_referencing_instructions = None
|
|
267
272
|
|
|
268
273
|
user_msg = user_message_template.render(
|
|
269
274
|
query=query,
|
|
@@ -294,10 +299,15 @@ class UniqueAI:
|
|
|
294
299
|
mcp_server.system_prompt for mcp_server in self._mcp_servers
|
|
295
300
|
]
|
|
296
301
|
|
|
297
|
-
|
|
298
|
-
self._config.agent.experimental.sub_agents_config.
|
|
299
|
-
|
|
300
|
-
|
|
302
|
+
if (
|
|
303
|
+
self._config.agent.experimental.sub_agents_config.referencing_config
|
|
304
|
+
is not None
|
|
305
|
+
):
|
|
306
|
+
use_sub_agent_references = True
|
|
307
|
+
sub_agent_referencing_instructions = self._config.agent.experimental.sub_agents_config.referencing_config.referencing_instructions_for_system_prompt
|
|
308
|
+
else:
|
|
309
|
+
use_sub_agent_references = False
|
|
310
|
+
sub_agent_referencing_instructions = None
|
|
301
311
|
|
|
302
312
|
system_message = system_prompt_template.render(
|
|
303
313
|
model_info=self._config.space.language_model.model_dump(mode="json"),
|
{unique_orchestrator-1.2.4 → unique_orchestrator-1.3.0}/unique_orchestrator/unique_ai_builder.py
RENAMED
|
@@ -178,12 +178,9 @@ def build_unique_ai(
|
|
|
178
178
|
postprocessor_manager.add_postprocessor(sub_agent_responses_postprocessor)
|
|
179
179
|
|
|
180
180
|
sub_agent_evaluation = None
|
|
181
|
-
if
|
|
182
|
-
config.agent.services.evaluation_config is not None
|
|
183
|
-
and config.agent.services.evaluation_config.sub_agents_config is not None
|
|
184
|
-
):
|
|
181
|
+
if config.agent.experimental.sub_agents_config.evaluation_config is not None:
|
|
185
182
|
sub_agent_evaluation = SubAgentEvaluationService(
|
|
186
|
-
config=config.agent.
|
|
183
|
+
config=config.agent.experimental.sub_agents_config.evaluation_config,
|
|
187
184
|
language_model_service=LanguageModelService.from_event(event),
|
|
188
185
|
)
|
|
189
186
|
evaluation_manager.add_evaluation(sub_agent_evaluation)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|