waldiez 0.4.7__py3-none-any.whl → 0.4.9__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.
Potentially problematic release.
This version of waldiez might be problematic. Click here for more details.
- waldiez/__init__.py +5 -5
- waldiez/_version.py +1 -1
- waldiez/cli.py +97 -102
- waldiez/exporter.py +61 -19
- waldiez/exporting/__init__.py +25 -6
- waldiez/exporting/agent/__init__.py +7 -3
- waldiez/exporting/agent/code_execution.py +114 -0
- waldiez/exporting/agent/exporter.py +354 -0
- waldiez/exporting/agent/extras/__init__.py +15 -0
- waldiez/exporting/agent/extras/captain_agent_extras.py +315 -0
- waldiez/exporting/agent/extras/group/target.py +178 -0
- waldiez/exporting/agent/extras/group_manager_agent_extas.py +500 -0
- waldiez/exporting/agent/extras/group_member_extras.py +181 -0
- waldiez/exporting/agent/extras/handoffs/__init__.py +19 -0
- waldiez/exporting/agent/extras/handoffs/after_work.py +78 -0
- waldiez/exporting/agent/extras/handoffs/available.py +74 -0
- waldiez/exporting/agent/extras/handoffs/condition.py +158 -0
- waldiez/exporting/agent/extras/handoffs/handoff.py +171 -0
- waldiez/exporting/agent/extras/handoffs/target.py +189 -0
- waldiez/exporting/agent/extras/rag/__init__.py +10 -0
- waldiez/exporting/agent/{utils/rag_user/chroma_utils.py → extras/rag/chroma_extras.py} +37 -24
- waldiez/exporting/agent/{utils/rag_user/mongo_utils.py → extras/rag/mongo_extras.py} +10 -10
- waldiez/exporting/agent/{utils/rag_user/pgvector_utils.py → extras/rag/pgvector_extras.py} +13 -13
- waldiez/exporting/agent/{utils/rag_user/qdrant_utils.py → extras/rag/qdrant_extras.py} +13 -13
- waldiez/exporting/agent/{utils/rag_user/vector_db.py → extras/rag/vector_db_extras.py} +59 -46
- waldiez/exporting/agent/extras/rag_user_proxy_agent_extras.py +245 -0
- waldiez/exporting/agent/extras/reasoning_agent_extras.py +88 -0
- waldiez/exporting/agent/factory.py +95 -0
- waldiez/exporting/agent/processor.py +150 -0
- waldiez/exporting/agent/system_message.py +36 -0
- waldiez/exporting/agent/termination.py +50 -0
- waldiez/exporting/chats/__init__.py +7 -3
- waldiez/exporting/chats/exporter.py +97 -0
- waldiez/exporting/chats/factory.py +65 -0
- waldiez/exporting/chats/processor.py +226 -0
- waldiez/exporting/chats/utils/__init__.py +6 -5
- waldiez/exporting/chats/utils/common.py +11 -45
- waldiez/exporting/chats/utils/group.py +55 -0
- waldiez/exporting/chats/utils/nested.py +37 -52
- waldiez/exporting/chats/utils/sequential.py +72 -61
- waldiez/exporting/chats/utils/{single_chat.py → single.py} +48 -50
- waldiez/exporting/core/__init__.py +196 -0
- waldiez/exporting/core/constants.py +17 -0
- waldiez/exporting/core/content.py +69 -0
- waldiez/exporting/core/context.py +244 -0
- waldiez/exporting/core/enums.py +89 -0
- waldiez/exporting/core/errors.py +19 -0
- waldiez/exporting/core/exporter.py +390 -0
- waldiez/exporting/core/exporters.py +67 -0
- waldiez/exporting/core/extras/__init__.py +39 -0
- waldiez/exporting/core/extras/agent_extras/__init__.py +27 -0
- waldiez/exporting/core/extras/agent_extras/captain_extras.py +57 -0
- waldiez/exporting/core/extras/agent_extras/group_manager_extras.py +102 -0
- waldiez/exporting/core/extras/agent_extras/rag_user_extras.py +53 -0
- waldiez/exporting/core/extras/agent_extras/reasoning_extras.py +68 -0
- waldiez/exporting/core/extras/agent_extras/standard_extras.py +263 -0
- waldiez/exporting/core/extras/base.py +241 -0
- waldiez/exporting/core/extras/chat_extras.py +118 -0
- waldiez/exporting/core/extras/flow_extras.py +70 -0
- waldiez/exporting/core/extras/model_extras.py +73 -0
- waldiez/exporting/core/extras/path_resolver.py +93 -0
- waldiez/exporting/core/extras/serializer.py +138 -0
- waldiez/exporting/core/extras/tool_extras.py +82 -0
- waldiez/exporting/core/protocols.py +259 -0
- waldiez/exporting/core/result.py +705 -0
- waldiez/exporting/core/types.py +329 -0
- waldiez/exporting/core/utils/__init__.py +11 -0
- waldiez/exporting/core/utils/comment.py +33 -0
- waldiez/exporting/core/utils/llm_config.py +117 -0
- waldiez/exporting/core/validation.py +96 -0
- waldiez/exporting/flow/__init__.py +6 -2
- waldiez/exporting/flow/execution_generator.py +193 -0
- waldiez/exporting/flow/exporter.py +107 -0
- waldiez/exporting/flow/factory.py +94 -0
- waldiez/exporting/flow/file_generator.py +214 -0
- waldiez/exporting/flow/merger.py +387 -0
- waldiez/exporting/flow/orchestrator.py +411 -0
- waldiez/exporting/flow/utils/__init__.py +9 -36
- waldiez/exporting/flow/utils/common.py +206 -0
- waldiez/exporting/flow/utils/importing.py +373 -0
- waldiez/exporting/flow/utils/linting.py +200 -0
- waldiez/exporting/flow/utils/{logging_utils.py → logging.py} +23 -9
- waldiez/exporting/models/__init__.py +3 -1
- waldiez/exporting/models/exporter.py +233 -0
- waldiez/exporting/models/factory.py +66 -0
- waldiez/exporting/models/processor.py +139 -0
- waldiez/exporting/tools/__init__.py +11 -0
- waldiez/exporting/tools/exporter.py +207 -0
- waldiez/exporting/tools/factory.py +57 -0
- waldiez/exporting/tools/processor.py +248 -0
- waldiez/exporting/tools/registration.py +133 -0
- waldiez/io/__init__.py +128 -0
- waldiez/io/_ws.py +199 -0
- waldiez/io/models/__init__.py +60 -0
- waldiez/io/models/base.py +66 -0
- waldiez/io/models/constants.py +78 -0
- waldiez/io/models/content/__init__.py +23 -0
- waldiez/io/models/content/audio.py +43 -0
- waldiez/io/models/content/base.py +45 -0
- waldiez/io/models/content/file.py +43 -0
- waldiez/io/models/content/image.py +96 -0
- waldiez/io/models/content/text.py +37 -0
- waldiez/io/models/content/video.py +43 -0
- waldiez/io/models/user_input.py +269 -0
- waldiez/io/models/user_response.py +215 -0
- waldiez/io/mqtt.py +681 -0
- waldiez/io/redis.py +782 -0
- waldiez/io/structured.py +439 -0
- waldiez/io/utils.py +184 -0
- waldiez/io/ws.py +298 -0
- waldiez/logger.py +481 -0
- waldiez/models/__init__.py +108 -51
- waldiez/models/agents/__init__.py +34 -70
- waldiez/models/agents/agent/__init__.py +10 -4
- waldiez/models/agents/agent/agent.py +466 -65
- waldiez/models/agents/agent/agent_data.py +119 -47
- waldiez/models/agents/agent/agent_type.py +13 -2
- waldiez/models/agents/agent/code_execution.py +12 -12
- waldiez/models/agents/agent/human_input_mode.py +8 -0
- waldiez/models/agents/agent/{linked_skill.py → linked_tool.py} +7 -7
- waldiez/models/agents/agent/nested_chat.py +35 -7
- waldiez/models/agents/agent/termination_message.py +30 -22
- waldiez/models/agents/{swarm_agent → agent}/update_system_message.py +22 -22
- waldiez/models/agents/agents.py +58 -63
- waldiez/models/agents/assistant/assistant.py +4 -4
- waldiez/models/agents/assistant/assistant_data.py +13 -1
- waldiez/models/agents/{captain_agent → captain}/captain_agent.py +5 -5
- waldiez/models/agents/{captain_agent → captain}/captain_agent_data.py +5 -5
- waldiez/models/agents/extra_requirements.py +11 -16
- waldiez/models/agents/group_manager/group_manager.py +103 -13
- waldiez/models/agents/group_manager/group_manager_data.py +36 -14
- waldiez/models/agents/group_manager/speakers.py +77 -24
- waldiez/models/agents/{rag_user → rag_user_proxy}/__init__.py +16 -16
- waldiez/models/agents/rag_user_proxy/rag_user_proxy.py +64 -0
- waldiez/models/agents/{rag_user/rag_user_data.py → rag_user_proxy/rag_user_proxy_data.py} +6 -5
- waldiez/models/agents/{rag_user → rag_user_proxy}/retrieve_config.py +182 -114
- waldiez/models/agents/{rag_user → rag_user_proxy}/vector_db_config.py +13 -13
- waldiez/models/agents/reasoning/reasoning_agent.py +6 -6
- waldiez/models/agents/reasoning/reasoning_agent_data.py +110 -63
- waldiez/models/agents/reasoning/reasoning_agent_reason_config.py +38 -10
- waldiez/models/agents/user_proxy/user_proxy.py +11 -7
- waldiez/models/agents/user_proxy/user_proxy_data.py +2 -2
- waldiez/models/chat/__init__.py +2 -1
- waldiez/models/chat/chat.py +166 -87
- waldiez/models/chat/chat_data.py +99 -136
- waldiez/models/chat/chat_message.py +33 -23
- waldiez/models/chat/chat_nested.py +31 -30
- waldiez/models/chat/chat_summary.py +10 -8
- waldiez/models/common/__init__.py +52 -2
- waldiez/models/common/ag2_version.py +1 -1
- waldiez/models/common/base.py +38 -7
- waldiez/models/common/dict_utils.py +42 -17
- waldiez/models/common/handoff.py +459 -0
- waldiez/models/common/id_generator.py +19 -0
- waldiez/models/common/method_utils.py +130 -68
- waldiez/{exporting/base/utils → models/common}/naming.py +38 -61
- waldiez/models/common/waldiez_version.py +37 -0
- waldiez/models/flow/__init__.py +9 -2
- waldiez/models/flow/connection.py +18 -0
- waldiez/models/flow/flow.py +311 -215
- waldiez/models/flow/flow_data.py +207 -40
- waldiez/models/flow/info.py +85 -0
- waldiez/models/flow/naming.py +131 -0
- waldiez/models/model/__init__.py +7 -1
- waldiez/models/model/extra_requirements.py +3 -12
- waldiez/models/model/model.py +76 -21
- waldiez/models/model/model_data.py +108 -20
- waldiez/models/tool/__init__.py +16 -0
- waldiez/models/tool/extra_requirements.py +36 -0
- waldiez/models/{skill/skill.py → tool/tool.py} +88 -88
- waldiez/models/tool/tool_data.py +51 -0
- waldiez/models/tool/tool_type.py +8 -0
- waldiez/models/waldiez.py +97 -80
- waldiez/runner.py +115 -61
- waldiez/running/__init__.py +13 -7
- waldiez/running/environment.py +49 -68
- waldiez/running/gen_seq_diagram.py +16 -14
- waldiez/running/post_run.py +119 -0
- waldiez/running/pre_run.py +149 -0
- waldiez/running/util.py +134 -0
- waldiez/utils/__init__.py +2 -4
- waldiez/utils/cli_extras/jupyter.py +5 -3
- waldiez/utils/cli_extras/runner.py +6 -4
- waldiez/utils/cli_extras/studio.py +6 -4
- waldiez/utils/conflict_checker.py +15 -9
- waldiez/utils/flaml_warnings.py +5 -5
- waldiez/utils/version.py +47 -0
- {waldiez-0.4.7.dist-info → waldiez-0.4.9.dist-info}/METADATA +235 -91
- waldiez-0.4.9.dist-info/RECORD +203 -0
- waldiez/exporting/agent/agent_exporter.py +0 -297
- waldiez/exporting/agent/utils/__init__.py +0 -23
- waldiez/exporting/agent/utils/captain_agent.py +0 -263
- waldiez/exporting/agent/utils/code_execution.py +0 -65
- waldiez/exporting/agent/utils/group_manager.py +0 -220
- waldiez/exporting/agent/utils/rag_user/__init__.py +0 -7
- waldiez/exporting/agent/utils/rag_user/rag_user.py +0 -209
- waldiez/exporting/agent/utils/reasoning.py +0 -36
- waldiez/exporting/agent/utils/swarm_agent.py +0 -469
- waldiez/exporting/agent/utils/teachability.py +0 -41
- waldiez/exporting/agent/utils/termination_message.py +0 -44
- waldiez/exporting/base/__init__.py +0 -25
- waldiez/exporting/base/agent_position.py +0 -75
- waldiez/exporting/base/base_exporter.py +0 -118
- waldiez/exporting/base/export_position.py +0 -48
- waldiez/exporting/base/import_position.py +0 -23
- waldiez/exporting/base/mixin.py +0 -137
- waldiez/exporting/base/utils/__init__.py +0 -18
- waldiez/exporting/base/utils/comments.py +0 -96
- waldiez/exporting/base/utils/path_check.py +0 -68
- waldiez/exporting/base/utils/to_string.py +0 -84
- waldiez/exporting/chats/chats_exporter.py +0 -240
- waldiez/exporting/chats/utils/swarm.py +0 -210
- waldiez/exporting/flow/flow_exporter.py +0 -528
- waldiez/exporting/flow/utils/agent_utils.py +0 -204
- waldiez/exporting/flow/utils/chat_utils.py +0 -71
- waldiez/exporting/flow/utils/def_main.py +0 -77
- waldiez/exporting/flow/utils/flow_content.py +0 -202
- waldiez/exporting/flow/utils/flow_names.py +0 -116
- waldiez/exporting/flow/utils/importing_utils.py +0 -227
- waldiez/exporting/models/models_exporter.py +0 -199
- waldiez/exporting/models/utils.py +0 -174
- waldiez/exporting/skills/__init__.py +0 -9
- waldiez/exporting/skills/skills_exporter.py +0 -176
- waldiez/exporting/skills/utils.py +0 -369
- waldiez/models/agents/agent/teachability.py +0 -70
- waldiez/models/agents/rag_user/rag_user.py +0 -60
- waldiez/models/agents/swarm_agent/__init__.py +0 -50
- waldiez/models/agents/swarm_agent/after_work.py +0 -179
- waldiez/models/agents/swarm_agent/on_condition.py +0 -105
- waldiez/models/agents/swarm_agent/on_condition_available.py +0 -142
- waldiez/models/agents/swarm_agent/on_condition_target.py +0 -40
- waldiez/models/agents/swarm_agent/swarm_agent.py +0 -107
- waldiez/models/agents/swarm_agent/swarm_agent_data.py +0 -124
- waldiez/models/flow/utils.py +0 -232
- waldiez/models/skill/__init__.py +0 -16
- waldiez/models/skill/extra_requirements.py +0 -36
- waldiez/models/skill/skill_data.py +0 -53
- waldiez/models/skill/skill_type.py +0 -8
- waldiez/running/running.py +0 -369
- waldiez/utils/pysqlite3_checker.py +0 -308
- waldiez/utils/rdps_checker.py +0 -122
- waldiez-0.4.7.dist-info/RECORD +0 -149
- /waldiez/models/agents/{captain_agent → captain}/__init__.py +0 -0
- /waldiez/models/agents/{captain_agent → captain}/captain_agent_lib_entry.py +0 -0
- {waldiez-0.4.7.dist-info → waldiez-0.4.9.dist-info}/WHEEL +0 -0
- {waldiez-0.4.7.dist-info → waldiez-0.4.9.dist-info}/entry_points.txt +0 -0
- {waldiez-0.4.7.dist-info → waldiez-0.4.9.dist-info}/licenses/LICENSE +0 -0
- {waldiez-0.4.7.dist-info → waldiez-0.4.9.dist-info}/licenses/NOTICE.md +0 -0
|
@@ -1,209 +0,0 @@
|
|
|
1
|
-
# SPDX-License-Identifier: Apache-2.0.
|
|
2
|
-
# Copyright (c) 2024 - 2025 Waldiez and contributors.
|
|
3
|
-
"""RAG User related exporting utils."""
|
|
4
|
-
|
|
5
|
-
from typing import Callable, Dict, List, Set, Tuple, Union
|
|
6
|
-
|
|
7
|
-
from waldiez.models import (
|
|
8
|
-
WaldiezAgent,
|
|
9
|
-
WaldiezRagUser,
|
|
10
|
-
WaldiezRagUserModels,
|
|
11
|
-
WaldiezRagUserRetrieveConfig,
|
|
12
|
-
)
|
|
13
|
-
|
|
14
|
-
from .vector_db import get_rag_user_vector_db_string
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
def get_rag_user_extras(
|
|
18
|
-
agent: WaldiezAgent,
|
|
19
|
-
agent_name: str,
|
|
20
|
-
model_names: Dict[str, str],
|
|
21
|
-
path_resolver: Callable[[str], str],
|
|
22
|
-
serializer: Callable[..., str],
|
|
23
|
-
) -> Tuple[str, str, Set[str]]:
|
|
24
|
-
"""Get the RAG user extra argument, imports and content before the agent.
|
|
25
|
-
|
|
26
|
-
Parameters
|
|
27
|
-
----------
|
|
28
|
-
agent : WaldiezAgent
|
|
29
|
-
The agent.
|
|
30
|
-
agent_name : str
|
|
31
|
-
The agent's name.
|
|
32
|
-
model_names : Dict[str, str]
|
|
33
|
-
A mapping from model id to model name.
|
|
34
|
-
path_resolver : Callable[[str], str]
|
|
35
|
-
The path resolver function.
|
|
36
|
-
serializer : Callable[..., str]
|
|
37
|
-
The serializer function.
|
|
38
|
-
|
|
39
|
-
Returns
|
|
40
|
-
-------
|
|
41
|
-
Tuple[str, str, Set[str]]
|
|
42
|
-
The content before the agent, the retrieve arg and the db imports.
|
|
43
|
-
"""
|
|
44
|
-
before_agent_string = ""
|
|
45
|
-
retrieve_arg = ""
|
|
46
|
-
db_imports: Set[str] = set()
|
|
47
|
-
if agent.agent_type == "rag_user" and isinstance(agent, WaldiezRagUser):
|
|
48
|
-
rag_content_before_agent, retrieve_arg, db_imports = (
|
|
49
|
-
get_rag_user_retrieve_config_str(
|
|
50
|
-
agent=agent,
|
|
51
|
-
agent_name=agent_name,
|
|
52
|
-
model_names=model_names,
|
|
53
|
-
path_resolver=path_resolver,
|
|
54
|
-
serializer=serializer,
|
|
55
|
-
)
|
|
56
|
-
)
|
|
57
|
-
if retrieve_arg:
|
|
58
|
-
retrieve_arg = "\n" + f" retrieve_config={retrieve_arg},"
|
|
59
|
-
if rag_content_before_agent:
|
|
60
|
-
before_agent_string += rag_content_before_agent
|
|
61
|
-
return before_agent_string, retrieve_arg, db_imports
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
# pylint: disable=too-many-locals
|
|
65
|
-
def get_rag_user_retrieve_config_str(
|
|
66
|
-
agent: WaldiezRagUser,
|
|
67
|
-
agent_name: str,
|
|
68
|
-
model_names: Dict[str, str],
|
|
69
|
-
path_resolver: Callable[[str], str],
|
|
70
|
-
serializer: Callable[..., str],
|
|
71
|
-
) -> Tuple[str, str, Set[str]]:
|
|
72
|
-
"""Get the RAG user retrieve config string.
|
|
73
|
-
|
|
74
|
-
Parameters
|
|
75
|
-
----------
|
|
76
|
-
agent : WaldiezRagUser
|
|
77
|
-
The agent.
|
|
78
|
-
agent_name : str
|
|
79
|
-
The agent's name.
|
|
80
|
-
model_names : Dict[str, str]
|
|
81
|
-
A mapping from model id to model name.
|
|
82
|
-
path_resolver : Callable[[str], str]
|
|
83
|
-
The path resolver function.
|
|
84
|
-
serializer : Callable[..., str]
|
|
85
|
-
The serializer function.
|
|
86
|
-
|
|
87
|
-
Returns
|
|
88
|
-
-------
|
|
89
|
-
Tuple[str, str, Set[str]]
|
|
90
|
-
The content before the args, the args and the imports.
|
|
91
|
-
"""
|
|
92
|
-
# e.g. user_agent = RetrieveUserProxyAgent(
|
|
93
|
-
# ...other common/agent args,
|
|
94
|
-
# retrieve_config={what_this_returns})
|
|
95
|
-
imports: Set[str] = set()
|
|
96
|
-
retrieve_config = agent.retrieve_config
|
|
97
|
-
before_the_args, vector_db_arg, db_imports = get_rag_user_vector_db_string(
|
|
98
|
-
agent=agent,
|
|
99
|
-
agent_name=agent_name,
|
|
100
|
-
)
|
|
101
|
-
imports.update(db_imports)
|
|
102
|
-
args_dict = _get_args_dict(
|
|
103
|
-
agent, retrieve_config, model_names, path_resolver
|
|
104
|
-
)
|
|
105
|
-
if retrieve_config.use_custom_token_count:
|
|
106
|
-
function_content, token_count_arg_name = (
|
|
107
|
-
retrieve_config.get_custom_token_count_function(
|
|
108
|
-
name_suffix=agent_name
|
|
109
|
-
)
|
|
110
|
-
)
|
|
111
|
-
before_the_args += "\n" + function_content + "\n"
|
|
112
|
-
args_dict["custom_token_count_function"] = token_count_arg_name
|
|
113
|
-
if retrieve_config.use_custom_text_split:
|
|
114
|
-
function_content, text_split_arg_name = (
|
|
115
|
-
retrieve_config.get_custom_text_split_function(
|
|
116
|
-
name_suffix=agent_name
|
|
117
|
-
)
|
|
118
|
-
)
|
|
119
|
-
before_the_args += "\n" + function_content + "\n"
|
|
120
|
-
args_dict["custom_text_split_function"] = text_split_arg_name
|
|
121
|
-
# docs_path = args_dict.pop("docs_path", [])
|
|
122
|
-
args_content = serializer(args_dict)
|
|
123
|
-
# get the last line (where the dict ends)
|
|
124
|
-
args_parts = args_content.split("\n")
|
|
125
|
-
before_vector_db = args_parts[:-1]
|
|
126
|
-
closing_arg = args_parts[-1]
|
|
127
|
-
args_content = "\n".join(before_vector_db)
|
|
128
|
-
# add the vector_db arg
|
|
129
|
-
args_content += ",\n" + f' "vector_db": {vector_db_arg},' + "\n"
|
|
130
|
-
# we should not need to include the client, but let's do it
|
|
131
|
-
# to avoid later issues (with telemetry or other client settings)
|
|
132
|
-
# https://github.com/ag2ai/ag2/blob/main/autogen/agentchat/\
|
|
133
|
-
# contrib/retrieve_user_proxy_agent.py#L265-L266
|
|
134
|
-
if (
|
|
135
|
-
f"{agent_name}_client" in before_the_args
|
|
136
|
-
and agent.retrieve_config.vector_db == "chroma"
|
|
137
|
-
):
|
|
138
|
-
args_content += f' "client": {agent_name}_client,' + "\n"
|
|
139
|
-
args_content += closing_arg
|
|
140
|
-
return before_the_args, args_content, imports
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
def _get_model_arg(
|
|
144
|
-
agent: WaldiezRagUser,
|
|
145
|
-
retrieve_config: WaldiezRagUserRetrieveConfig,
|
|
146
|
-
model_names: Dict[str, str],
|
|
147
|
-
) -> str: # pragma: no cover
|
|
148
|
-
agent_models = agent.data.model_ids
|
|
149
|
-
if agent_models:
|
|
150
|
-
first_model = agent_models[0]
|
|
151
|
-
first_model_name = model_names[first_model]
|
|
152
|
-
new_model_name = f"{first_model_name}"
|
|
153
|
-
return f"{new_model_name}"
|
|
154
|
-
if retrieve_config.model in model_names:
|
|
155
|
-
selected_model = model_names[retrieve_config.model]
|
|
156
|
-
new_model_name = f"{selected_model}"
|
|
157
|
-
return f"{new_model_name}"
|
|
158
|
-
return WaldiezRagUserModels[retrieve_config.vector_db]
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
def _get_args_dict(
|
|
162
|
-
agent: WaldiezRagUser,
|
|
163
|
-
retrieve_config: WaldiezRagUserRetrieveConfig,
|
|
164
|
-
model_names: Dict[str, str],
|
|
165
|
-
path_resolver: Callable[[str], str],
|
|
166
|
-
) -> Dict[str, Union[str, List[str]]]:
|
|
167
|
-
model_arg = _get_model_arg(agent, retrieve_config, model_names)
|
|
168
|
-
args_dict: Dict[str, Union[str, List[str]]] = {
|
|
169
|
-
"task": retrieve_config.task,
|
|
170
|
-
"model": model_arg,
|
|
171
|
-
}
|
|
172
|
-
optional_args = [
|
|
173
|
-
"chunk_token_size",
|
|
174
|
-
"context_max_tokens",
|
|
175
|
-
"customized_prompt",
|
|
176
|
-
"customized_answer_prefix",
|
|
177
|
-
]
|
|
178
|
-
for arg in optional_args:
|
|
179
|
-
arg_value = getattr(retrieve_config, arg)
|
|
180
|
-
if arg_value is not None:
|
|
181
|
-
args_dict[arg] = arg_value
|
|
182
|
-
args_dict[arg] = getattr(retrieve_config, arg)
|
|
183
|
-
docs_path: Union[str, List[str]] = []
|
|
184
|
-
if retrieve_config.docs_path:
|
|
185
|
-
doc_paths = (
|
|
186
|
-
retrieve_config.docs_path
|
|
187
|
-
if isinstance(retrieve_config.docs_path, list)
|
|
188
|
-
else [retrieve_config.docs_path]
|
|
189
|
-
)
|
|
190
|
-
docs_path = [
|
|
191
|
-
item for item in [path_resolver(path) for path in doc_paths] if item
|
|
192
|
-
]
|
|
193
|
-
args_dict["docs_path"] = docs_path
|
|
194
|
-
if docs_path:
|
|
195
|
-
args_dict["docs_path"] = docs_path
|
|
196
|
-
non_optional_args = [
|
|
197
|
-
"new_docs",
|
|
198
|
-
"update_context",
|
|
199
|
-
"get_or_create",
|
|
200
|
-
"overwrite",
|
|
201
|
-
"recursive",
|
|
202
|
-
"chunk_mode",
|
|
203
|
-
"must_break_at_empty_line",
|
|
204
|
-
"collection_name",
|
|
205
|
-
"distance_threshold",
|
|
206
|
-
]
|
|
207
|
-
for arg in non_optional_args:
|
|
208
|
-
args_dict[arg] = getattr(retrieve_config, arg)
|
|
209
|
-
return args_dict
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
# SPDX-License-Identifier: Apache-2.0.
|
|
2
|
-
# Copyright (c) 2024 - 2025 Waldiez and contributors.
|
|
3
|
-
"""Export reasoning agent to string."""
|
|
4
|
-
|
|
5
|
-
from typing import Callable
|
|
6
|
-
|
|
7
|
-
from waldiez.models import WaldiezAgent, WaldiezReasoningAgent
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
def get_reasoning_agent_extras(
|
|
11
|
-
agent: WaldiezAgent,
|
|
12
|
-
serializer: Callable[..., str],
|
|
13
|
-
) -> str:
|
|
14
|
-
"""Get the reasoning agent extras.
|
|
15
|
-
|
|
16
|
-
Parameters
|
|
17
|
-
----------
|
|
18
|
-
agent : WaldiezReasoningAgent
|
|
19
|
-
The reasoning agent.
|
|
20
|
-
serializer : Callable[..., str]
|
|
21
|
-
The serializer to get the string representation of an object.
|
|
22
|
-
|
|
23
|
-
Returns
|
|
24
|
-
-------
|
|
25
|
-
str
|
|
26
|
-
The reasoning agent extras.
|
|
27
|
-
"""
|
|
28
|
-
if agent.agent_type != "reasoning" or not isinstance(
|
|
29
|
-
agent, WaldiezReasoningAgent
|
|
30
|
-
):
|
|
31
|
-
return ""
|
|
32
|
-
reasoning_config = agent.get_reasoning_config()
|
|
33
|
-
serialized = serializer(reasoning_config)
|
|
34
|
-
content = "\n verbose=" + f"{agent.data.verbose},"
|
|
35
|
-
content += "\n reason_config=" + f"{serialized},"
|
|
36
|
-
return content
|