unique_toolkit 1.4.0__tar.gz → 1.4.2__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_toolkit-1.4.0 → unique_toolkit-1.4.2}/CHANGELOG.md +6 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/PKG-INFO +7 -1
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/pyproject.toml +1 -1
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/tools/a2a/evaluation/evaluator.py +51 -17
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/language_model/infos.py +41 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/LICENSE +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/README.md +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/__init__.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/_common/_base_service.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/_common/_time_utils.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/_common/api_calling/human_verification_manager.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/_common/base_model_type_attribute.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/_common/chunk_relevancy_sorter/config.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/_common/chunk_relevancy_sorter/exception.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/_common/chunk_relevancy_sorter/schemas.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/_common/chunk_relevancy_sorter/service.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/_common/chunk_relevancy_sorter/tests/test_service.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/_common/default_language_model.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/_common/endpoint_builder.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/_common/endpoint_requestor.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/_common/exception.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/_common/feature_flags/schema.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/_common/pydantic/rjsf_tags.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/_common/pydantic_helpers.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/_common/string_utilities.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/_common/token/image_token_counting.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/_common/token/token_counting.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/_common/utils/__init__.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/_common/utils/structured_output/__init__.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/_common/utils/structured_output/schema.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/_common/utils/write_configuration.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/_common/validate_required_values.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/_common/validators.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/__init__.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/debug_info_manager/debug_info_manager.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/evaluation/config.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/evaluation/context_relevancy/prompts.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/evaluation/context_relevancy/schema.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/evaluation/context_relevancy/service.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/evaluation/evaluation_manager.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/evaluation/exception.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/evaluation/hallucination/constants.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/evaluation/hallucination/hallucination_evaluation.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/evaluation/hallucination/prompts.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/evaluation/hallucination/service.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/evaluation/hallucination/utils.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/evaluation/output_parser.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/evaluation/schemas.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/evaluation/tests/test_context_relevancy_service.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/evaluation/tests/test_output_parser.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/history_manager/history_construction_with_contents.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/history_manager/history_manager.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/history_manager/loop_token_reducer.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/history_manager/utils.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/postprocessor/postprocessor_manager.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/reference_manager/reference_manager.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/short_term_memory_manager/persistent_short_term_memory_manager.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/thinking_manager/thinking_manager.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/tools/__init__.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/tools/a2a/__init__.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/tools/a2a/config.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/tools/a2a/evaluation/__init__.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/tools/a2a/evaluation/config.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/tools/a2a/evaluation/summarization_user_message.j2 +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/tools/a2a/manager.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/tools/a2a/memory.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/tools/a2a/postprocessing/__init__.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/tools/a2a/postprocessing/display.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/tools/a2a/postprocessing/postprocessor.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/tools/a2a/schema.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/tools/a2a/service.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/tools/agent_chunks_hanlder.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/tools/config.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/tools/factory.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/tools/mcp/__init__.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/tools/mcp/manager.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/tools/mcp/models.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/tools/mcp/tool_wrapper.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/tools/schemas.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/tools/test/test_mcp_manager.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/tools/test/test_tool_progress_reporter.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/tools/tool.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/tools/tool_manager.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/tools/tool_progress_reporter.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/tools/utils/__init__.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/tools/utils/execution/__init__.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/tools/utils/execution/execution.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/tools/utils/source_handling/__init__.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/tools/utils/source_handling/schema.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/tools/utils/source_handling/source_formatting.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/tools/utils/source_handling/tests/test_source_formatting.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/app/__init__.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/app/dev_util.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/app/init_logging.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/app/init_sdk.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/app/performance/async_tasks.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/app/performance/async_wrapper.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/app/schemas.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/app/unique_settings.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/app/verification.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/chat/__init__.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/chat/constants.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/chat/functions.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/chat/schemas.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/chat/service.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/chat/state.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/chat/utils.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/content/__init__.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/content/constants.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/content/functions.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/content/schemas.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/content/service.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/content/utils.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/embedding/__init__.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/embedding/constants.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/embedding/functions.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/embedding/schemas.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/embedding/service.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/embedding/utils.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/framework_utilities/__init__.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/framework_utilities/langchain/client.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/framework_utilities/langchain/history.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/framework_utilities/openai/__init__.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/framework_utilities/openai/client.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/framework_utilities/openai/message_builder.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/framework_utilities/utils.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/language_model/__init__.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/language_model/builder.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/language_model/constants.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/language_model/functions.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/language_model/prompt.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/language_model/reference.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/language_model/schemas.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/language_model/service.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/language_model/utils.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/protocols/support.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/short_term_memory/__init__.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/short_term_memory/constants.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/short_term_memory/functions.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/short_term_memory/schemas.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/short_term_memory/service.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/smart_rules/__init__.py +0 -0
- {unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/smart_rules/compile.py +0 -0
@@ -5,6 +5,12 @@ 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.4.2] - 2025-09-30
|
9
|
+
- Adding litellm models `litellm:anthropic-claude-sonnet-4-5` and `litellm:anthropic-claude-opus-4-1`
|
10
|
+
|
11
|
+
## [1.4.1] - 2025-09-30
|
12
|
+
- Handle sub agent failed assessments better in sub agent evaluator.
|
13
|
+
|
8
14
|
## [1.4.0] - 2025-09-29
|
9
15
|
- Add ability to consolidate sub agent's assessments.
|
10
16
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: unique_toolkit
|
3
|
-
Version: 1.4.
|
3
|
+
Version: 1.4.2
|
4
4
|
Summary:
|
5
5
|
License: Proprietary
|
6
6
|
Author: Cedric Klinkert
|
@@ -118,6 +118,12 @@ All notable changes to this project will be documented in this file.
|
|
118
118
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
119
119
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
120
120
|
|
121
|
+
## [1.4.2] - 2025-09-30
|
122
|
+
- Adding litellm models `litellm:anthropic-claude-sonnet-4-5` and `litellm:anthropic-claude-opus-4-1`
|
123
|
+
|
124
|
+
## [1.4.1] - 2025-09-30
|
125
|
+
- Handle sub agent failed assessments better in sub agent evaluator.
|
126
|
+
|
121
127
|
## [1.4.0] - 2025-09-29
|
122
128
|
- Add ability to consolidate sub agent's assessments.
|
123
129
|
|
@@ -31,6 +31,9 @@ class _SubAgentToolInfo(TypedDict):
|
|
31
31
|
display_name: str
|
32
32
|
|
33
33
|
|
34
|
+
NO_ASSESSMENTS_FOUND = "NO_ASSESSMENTS_FOUND"
|
35
|
+
|
36
|
+
|
34
37
|
class SubAgentsEvaluation(Evaluation):
|
35
38
|
DISPLAY_NAME = "Sub Agents"
|
36
39
|
|
@@ -68,6 +71,7 @@ class SubAgentsEvaluation(Evaluation):
|
|
68
71
|
|
69
72
|
value = ChatMessageAssessmentLabel.GREEN
|
70
73
|
|
74
|
+
# Use a dict in order to compare labels (RED being the worst)
|
71
75
|
label_comparison_dict = defaultdict(
|
72
76
|
lambda: 3
|
73
77
|
) # Unkown labels are highest in the sorting
|
@@ -76,33 +80,56 @@ class SubAgentsEvaluation(Evaluation):
|
|
76
80
|
label_comparison_dict[ChatMessageAssessmentLabel.RED] = 0
|
77
81
|
|
78
82
|
for assistant_id, tool_info in self._assistant_id_to_tool_info.items():
|
79
|
-
assessments = tool_info["assessment"]
|
80
|
-
|
81
|
-
|
83
|
+
assessments = tool_info["assessment"] or []
|
84
|
+
valid_assessments = []
|
85
|
+
for assessment in assessments:
|
86
|
+
if (
|
87
|
+
assessment["label"] is None
|
88
|
+
or assessment["label"] not in ChatMessageAssessmentLabel
|
89
|
+
):
|
90
|
+
logger.warning(
|
91
|
+
"Unkown assistant label %s for assistant %s will be ignored",
|
92
|
+
assessment["label"],
|
93
|
+
assistant_id,
|
94
|
+
)
|
95
|
+
continue
|
96
|
+
if assessment["status"] != ChatMessageAssessmentStatus.DONE:
|
97
|
+
logger.warning(
|
98
|
+
"Assessment %s for assistant %s is not done (status: %s) will be ignored",
|
99
|
+
assessment["label"],
|
100
|
+
assistant_id,
|
101
|
+
)
|
102
|
+
continue
|
103
|
+
valid_assessments.append(assessment)
|
104
|
+
|
105
|
+
if len(valid_assessments) == 0:
|
106
|
+
logger.info("No valid assessment found for assistant %s", assistant_id)
|
82
107
|
continue
|
83
108
|
|
84
|
-
|
85
|
-
|
109
|
+
assessments = sorted(
|
110
|
+
valid_assessments, key=lambda x: label_comparison_dict[x["label"]]
|
86
111
|
)
|
87
112
|
|
88
113
|
for assessment in assessments:
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
"Unkown assistant label %s for assistant %s will be ignored",
|
93
|
-
label,
|
94
|
-
assistant_id,
|
95
|
-
)
|
96
|
-
continue
|
97
|
-
value = min(value, label, key=lambda x: label_comparison_dict[x])
|
114
|
+
value = min(
|
115
|
+
value, assessment["label"], key=lambda x: label_comparison_dict[x]
|
116
|
+
)
|
98
117
|
|
99
118
|
sub_agents_display_data.append(
|
100
119
|
{
|
101
120
|
"name": tool_info["display_name"],
|
102
|
-
"assessments":
|
121
|
+
"assessments": assessments,
|
103
122
|
}
|
104
123
|
)
|
105
124
|
|
125
|
+
if len(sub_agents_display_data) == 0:
|
126
|
+
logger.warning("No valid sub agent assessments found")
|
127
|
+
return EvaluationMetricResult(
|
128
|
+
name=self.get_name(),
|
129
|
+
value=NO_ASSESSMENTS_FOUND,
|
130
|
+
reason="No sub agents assessments found",
|
131
|
+
)
|
132
|
+
|
106
133
|
should_summarize = False
|
107
134
|
reason = ""
|
108
135
|
|
@@ -115,8 +142,6 @@ class SubAgentsEvaluation(Evaluation):
|
|
115
142
|
reason = (
|
116
143
|
sub_agents_display_data[0]["assessments"][0]["explanation"] or ""
|
117
144
|
)
|
118
|
-
else:
|
119
|
-
assert False, "No sub agents assessments found"
|
120
145
|
|
121
146
|
if should_summarize:
|
122
147
|
messages = (
|
@@ -148,6 +173,15 @@ class SubAgentsEvaluation(Evaluation):
|
|
148
173
|
async def evaluation_metric_to_assessment(
|
149
174
|
self, evaluation_result: EvaluationMetricResult
|
150
175
|
) -> EvaluationAssessmentMessage:
|
176
|
+
if evaluation_result.value == NO_ASSESSMENTS_FOUND:
|
177
|
+
return EvaluationAssessmentMessage(
|
178
|
+
status=ChatMessageAssessmentStatus.DONE,
|
179
|
+
explanation="No valid sub agents assessments found to consolidate.",
|
180
|
+
title=self.DISPLAY_NAME,
|
181
|
+
label=ChatMessageAssessmentLabel.GREEN,
|
182
|
+
type=self.get_assessment_type(),
|
183
|
+
)
|
184
|
+
|
151
185
|
return EvaluationAssessmentMessage(
|
152
186
|
status=ChatMessageAssessmentStatus.DONE,
|
153
187
|
explanation=evaluation_result.reason,
|
@@ -37,7 +37,9 @@ class LanguageModelName(StrEnum):
|
|
37
37
|
"litellm:anthropic-claude-3-7-sonnet-thinking"
|
38
38
|
)
|
39
39
|
ANTHROPIC_CLAUDE_SONNET_4 = "litellm:anthropic-claude-sonnet-4"
|
40
|
+
ANTHROPIC_CLAUDE_SONNET_4_5 = "litellm:anthropic-claude-sonnet-4-5"
|
40
41
|
ANTHROPIC_CLAUDE_OPUS_4 = "litellm:anthropic-claude-opus-4"
|
42
|
+
ANTHROPIC_CLAUDE_OPUS_4_1 = "litellm:anthropic-claude-opus-4-1"
|
41
43
|
GEMINI_2_0_FLASH = "litellm:gemini-2-0-flash"
|
42
44
|
GEMINI_2_5_FLASH = "litellm:gemini-2-5-flash"
|
43
45
|
GEMINI_2_5_FLASH_LITE_PREVIEW_0617 = "litellm:gemini-2-5-flash-lite-preview-06-17"
|
@@ -663,6 +665,26 @@ class LanguageModelInfo(BaseModel):
|
|
663
665
|
info_cutoff_at=date(2025, 3, 1),
|
664
666
|
published_at=date(2025, 5, 1),
|
665
667
|
)
|
668
|
+
case LanguageModelName.ANTHROPIC_CLAUDE_SONNET_4_5:
|
669
|
+
return cls(
|
670
|
+
name=model_name,
|
671
|
+
capabilities=[
|
672
|
+
ModelCapabilities.FUNCTION_CALLING,
|
673
|
+
ModelCapabilities.STREAMING,
|
674
|
+
ModelCapabilities.VISION,
|
675
|
+
ModelCapabilities.REASONING,
|
676
|
+
],
|
677
|
+
provider=LanguageModelProvider.LITELLM,
|
678
|
+
version="claude-sonnet-4-5",
|
679
|
+
encoder_name=EncoderName.O200K_BASE, # TODO: Update encoder with litellm
|
680
|
+
token_limits=LanguageModelTokenLimits(
|
681
|
+
# Input limit is 200_000, we leave 20_000 tokens as buffer due to tokenizer mismatch
|
682
|
+
token_limit_input=200_000,
|
683
|
+
token_limit_output=64_000,
|
684
|
+
),
|
685
|
+
info_cutoff_at=date(2025, 7, 1),
|
686
|
+
published_at=date(2025, 9, 29),
|
687
|
+
)
|
666
688
|
case LanguageModelName.ANTHROPIC_CLAUDE_OPUS_4:
|
667
689
|
return cls(
|
668
690
|
name=model_name,
|
@@ -683,6 +705,25 @@ class LanguageModelInfo(BaseModel):
|
|
683
705
|
info_cutoff_at=date(2025, 3, 1),
|
684
706
|
published_at=date(2025, 5, 1),
|
685
707
|
)
|
708
|
+
case LanguageModelName.ANTHROPIC_CLAUDE_OPUS_4_1:
|
709
|
+
return cls(
|
710
|
+
name=model_name,
|
711
|
+
capabilities=[
|
712
|
+
ModelCapabilities.FUNCTION_CALLING,
|
713
|
+
ModelCapabilities.STREAMING,
|
714
|
+
ModelCapabilities.VISION,
|
715
|
+
ModelCapabilities.REASONING,
|
716
|
+
],
|
717
|
+
provider=LanguageModelProvider.LITELLM,
|
718
|
+
version="claude-opus-4",
|
719
|
+
encoder_name=EncoderName.O200K_BASE, # TODO: Update encoder with litellm
|
720
|
+
token_limits=LanguageModelTokenLimits(
|
721
|
+
token_limit_input=200_000,
|
722
|
+
token_limit_output=32_000,
|
723
|
+
),
|
724
|
+
info_cutoff_at=date(2025, 3, 1),
|
725
|
+
published_at=date(2025, 5, 1),
|
726
|
+
)
|
686
727
|
case LanguageModelName.GEMINI_2_0_FLASH:
|
687
728
|
return cls(
|
688
729
|
name=model_name,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/_common/base_model_type_attribute.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/_common/default_language_model.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/_common/feature_flags/schema.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/_common/token/image_token_counting.py
RENAMED
File without changes
|
{unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/_common/token/token_counting.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/_common/utils/write_configuration.py
RENAMED
File without changes
|
{unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/_common/validate_required_values.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/evaluation/exception.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/evaluation/output_parser.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/history_manager/utils.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/tools/a2a/evaluation/config.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/tools/agent_chunks_hanlder.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/tools/mcp/tool_wrapper.py
RENAMED
File without changes
|
File without changes
|
{unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/tools/test/test_mcp_manager.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/tools/tool_progress_reporter.py
RENAMED
File without changes
|
{unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/agentic/tools/utils/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/app/performance/async_wrapper.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/framework_utilities/__init__.py
RENAMED
File without changes
|
{unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/framework_utilities/langchain/client.py
RENAMED
File without changes
|
File without changes
|
{unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/framework_utilities/openai/__init__.py
RENAMED
File without changes
|
{unique_toolkit-1.4.0 → unique_toolkit-1.4.2}/unique_toolkit/framework_utilities/openai/client.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|