swarms 7.7.9__py3-none-any.whl → 7.8.1__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.
- swarms/agents/self_agent_builder.py +40 -0
- swarms/prompts/agent_self_builder_prompt.py +103 -0
- swarms/schemas/__init__.py +6 -1
- swarms/schemas/agent_class_schema.py +91 -0
- swarms/schemas/agent_mcp_errors.py +18 -0
- swarms/schemas/agent_tool_schema.py +13 -0
- swarms/schemas/llm_agent_schema.py +92 -0
- swarms/schemas/mcp_schemas.py +43 -0
- swarms/structs/__init__.py +4 -0
- swarms/structs/agent.py +305 -262
- swarms/structs/aop.py +3 -1
- swarms/structs/batch_agent_execution.py +64 -0
- swarms/structs/conversation.py +33 -19
- swarms/structs/council_judge.py +179 -93
- swarms/structs/long_agent.py +424 -0
- swarms/structs/ma_utils.py +11 -8
- swarms/structs/malt.py +1 -1
- swarms/structs/swarm_router.py +71 -15
- swarms/tools/__init__.py +12 -0
- swarms/tools/base_tool.py +2840 -264
- swarms/tools/create_agent_tool.py +104 -0
- swarms/tools/mcp_client_call.py +504 -0
- swarms/tools/py_func_to_openai_func_str.py +43 -5
- swarms/tools/pydantic_to_json.py +10 -27
- swarms/utils/audio_processing.py +343 -0
- swarms/utils/index.py +226 -0
- swarms/utils/litellm_tokenizer.py +97 -11
- swarms/utils/litellm_wrapper.py +65 -67
- {swarms-7.7.9.dist-info → swarms-7.8.1.dist-info}/METADATA +2 -2
- {swarms-7.7.9.dist-info → swarms-7.8.1.dist-info}/RECORD +33 -22
- swarms/tools/mcp_client.py +0 -246
- swarms/tools/mcp_integration.py +0 -340
- {swarms-7.7.9.dist-info → swarms-7.8.1.dist-info}/LICENSE +0 -0
- {swarms-7.7.9.dist-info → swarms-7.8.1.dist-info}/WHEEL +0 -0
- {swarms-7.7.9.dist-info → swarms-7.8.1.dist-info}/entry_points.txt +0 -0
@@ -1,20 +1,106 @@
|
|
1
|
-
import
|
1
|
+
from litellm import encode, model_list
|
2
|
+
from loguru import logger
|
3
|
+
from typing import Optional
|
4
|
+
from functools import lru_cache
|
2
5
|
|
6
|
+
# Use consistent default model
|
7
|
+
DEFAULT_MODEL = "gpt-4o-mini"
|
3
8
|
|
4
|
-
|
5
|
-
|
9
|
+
|
10
|
+
def count_tokens(
|
11
|
+
text: str,
|
12
|
+
model: str = DEFAULT_MODEL,
|
13
|
+
default_encoder: Optional[str] = DEFAULT_MODEL,
|
14
|
+
) -> int:
|
15
|
+
"""
|
16
|
+
Count the number of tokens in the given text using the specified model.
|
17
|
+
|
18
|
+
Args:
|
19
|
+
text: The text to tokenize
|
20
|
+
model: The model to use for tokenization (defaults to gpt-4o-mini)
|
21
|
+
default_encoder: Fallback encoder if the primary model fails (defaults to DEFAULT_MODEL)
|
22
|
+
|
23
|
+
Returns:
|
24
|
+
int: Number of tokens in the text
|
25
|
+
|
26
|
+
Raises:
|
27
|
+
ValueError: If text is empty or if both primary and fallback models fail
|
28
|
+
"""
|
29
|
+
if not text or not text.strip():
|
30
|
+
logger.warning("Empty or whitespace-only text provided")
|
31
|
+
return 0
|
32
|
+
|
33
|
+
# Set fallback encoder
|
34
|
+
fallback_model = default_encoder or DEFAULT_MODEL
|
35
|
+
|
36
|
+
# First attempt with the requested model
|
6
37
|
try:
|
7
|
-
|
8
|
-
|
9
|
-
import sys
|
38
|
+
tokens = encode(model=model, text=text)
|
39
|
+
return len(tokens)
|
10
40
|
|
11
|
-
|
12
|
-
|
41
|
+
except Exception as e:
|
42
|
+
logger.warning(
|
43
|
+
f"Failed to tokenize with model '{model}': {e} using fallback model '{fallback_model}'"
|
13
44
|
)
|
14
|
-
from litellm import encode
|
15
45
|
|
16
|
-
|
46
|
+
logger.info(f"Using fallback model '{fallback_model}'")
|
47
|
+
|
48
|
+
# Only try fallback if it's different from the original model
|
49
|
+
if fallback_model != model:
|
50
|
+
try:
|
51
|
+
logger.info(
|
52
|
+
f"Falling back to default encoder: {fallback_model}"
|
53
|
+
)
|
54
|
+
tokens = encode(model=fallback_model, text=text)
|
55
|
+
return len(tokens)
|
56
|
+
|
57
|
+
except Exception as fallback_error:
|
58
|
+
logger.error(
|
59
|
+
f"Fallback encoder '{fallback_model}' also failed: {fallback_error}"
|
60
|
+
)
|
61
|
+
raise ValueError(
|
62
|
+
f"Both primary model '{model}' and fallback '{fallback_model}' failed to tokenize text"
|
63
|
+
)
|
64
|
+
else:
|
65
|
+
logger.error(
|
66
|
+
f"Primary model '{model}' failed and no different fallback available"
|
67
|
+
)
|
68
|
+
raise ValueError(
|
69
|
+
f"Model '{model}' failed to tokenize text: {e}"
|
70
|
+
)
|
71
|
+
|
72
|
+
|
73
|
+
@lru_cache(maxsize=100)
|
74
|
+
def get_supported_models() -> list:
|
75
|
+
"""Get list of supported models from litellm."""
|
76
|
+
try:
|
77
|
+
return model_list
|
78
|
+
except Exception as e:
|
79
|
+
logger.warning(f"Could not retrieve model list: {e}")
|
80
|
+
return []
|
17
81
|
|
18
82
|
|
19
83
|
# if __name__ == "__main__":
|
20
|
-
#
|
84
|
+
# # Test with different scenarios
|
85
|
+
# test_text = "Hello, how are you?"
|
86
|
+
|
87
|
+
# # # Test with Claude model
|
88
|
+
# # try:
|
89
|
+
# # tokens = count_tokens(test_text, model="claude-3-5-sonnet-20240620")
|
90
|
+
# # print(f"Claude tokens: {tokens}")
|
91
|
+
# # except Exception as e:
|
92
|
+
# # print(f"Claude test failed: {e}")
|
93
|
+
|
94
|
+
# # # Test with default model
|
95
|
+
# # try:
|
96
|
+
# # tokens = count_tokens(test_text)
|
97
|
+
# # print(f"Default model tokens: {tokens}")
|
98
|
+
# # except Exception as e:
|
99
|
+
# # print(f"Default test failed: {e}")
|
100
|
+
|
101
|
+
# # Test with explicit fallback
|
102
|
+
# try:
|
103
|
+
# tokens = count_tokens(test_text, model="some-invalid-model", default_encoder="gpt-4o-mini")
|
104
|
+
# print(f"Fallback test tokens: {tokens}")
|
105
|
+
# except Exception as e:
|
106
|
+
# print(f"Fallback test failed: {e}")
|
swarms/utils/litellm_wrapper.py
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
from typing import Optional
|
1
2
|
import base64
|
2
3
|
import requests
|
3
4
|
|
@@ -6,25 +7,13 @@ from typing import List
|
|
6
7
|
|
7
8
|
from loguru import logger
|
8
9
|
import litellm
|
10
|
+
from pydantic import BaseModel
|
9
11
|
|
10
|
-
|
11
|
-
from litellm import completion, acompletion
|
12
|
-
except ImportError:
|
13
|
-
import subprocess
|
14
|
-
import sys
|
15
|
-
import litellm
|
12
|
+
from litellm import completion, acompletion
|
16
13
|
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
[sys.executable, "-m", "pip", "install", "-U", "litellm"]
|
21
|
-
)
|
22
|
-
print("litellm installed")
|
23
|
-
|
24
|
-
from litellm import completion
|
25
|
-
|
26
|
-
litellm.set_verbose = True
|
27
|
-
litellm.ssl_verify = False
|
14
|
+
litellm.set_verbose = True
|
15
|
+
litellm.ssl_verify = False
|
16
|
+
# litellm._turn_on_debug()
|
28
17
|
|
29
18
|
|
30
19
|
class LiteLLMException(Exception):
|
@@ -86,6 +75,9 @@ class LiteLLM:
|
|
86
75
|
retries: int = 3,
|
87
76
|
verbose: bool = False,
|
88
77
|
caching: bool = False,
|
78
|
+
mcp_call: bool = False,
|
79
|
+
top_p: float = 1.0,
|
80
|
+
functions: List[dict] = None,
|
89
81
|
*args,
|
90
82
|
**kwargs,
|
91
83
|
):
|
@@ -110,6 +102,9 @@ class LiteLLM:
|
|
110
102
|
self.tool_choice = tool_choice
|
111
103
|
self.parallel_tool_calls = parallel_tool_calls
|
112
104
|
self.caching = caching
|
105
|
+
self.mcp_call = mcp_call
|
106
|
+
self.top_p = top_p
|
107
|
+
self.functions = functions
|
113
108
|
self.modalities = []
|
114
109
|
self._cached_messages = {} # Cache for prepared messages
|
115
110
|
self.messages = [] # Initialize messages list
|
@@ -123,6 +118,23 @@ class LiteLLM:
|
|
123
118
|
retries # Add retries for better reliability
|
124
119
|
)
|
125
120
|
|
121
|
+
def output_for_tools(self, response: any):
|
122
|
+
if self.mcp_call is True:
|
123
|
+
out = response.choices[0].message.tool_calls[0].function
|
124
|
+
output = {
|
125
|
+
"function": {
|
126
|
+
"name": out.name,
|
127
|
+
"arguments": out.arguments,
|
128
|
+
}
|
129
|
+
}
|
130
|
+
return output
|
131
|
+
else:
|
132
|
+
out = response.choices[0].message.tool_calls
|
133
|
+
|
134
|
+
if isinstance(out, BaseModel):
|
135
|
+
out = out.model_dump()
|
136
|
+
return out
|
137
|
+
|
126
138
|
def _prepare_messages(self, task: str) -> list:
|
127
139
|
"""
|
128
140
|
Prepare the messages for the given task.
|
@@ -222,8 +234,8 @@ class LiteLLM:
|
|
222
234
|
def run(
|
223
235
|
self,
|
224
236
|
task: str,
|
225
|
-
audio: str = None,
|
226
|
-
img: str = None,
|
237
|
+
audio: Optional[str] = None,
|
238
|
+
img: Optional[str] = None,
|
227
239
|
*args,
|
228
240
|
**kwargs,
|
229
241
|
):
|
@@ -250,38 +262,28 @@ class LiteLLM:
|
|
250
262
|
self.handle_modalities(
|
251
263
|
task=task, audio=audio, img=img
|
252
264
|
)
|
253
|
-
messages =
|
254
|
-
self.messages
|
255
|
-
) # Use modality-processed messages
|
256
|
-
|
257
|
-
if (
|
258
|
-
self.model_name == "openai/o4-mini"
|
259
|
-
or self.model_name == "openai/o3-2025-04-16"
|
260
|
-
):
|
261
|
-
# Prepare common completion parameters
|
262
|
-
completion_params = {
|
263
|
-
"model": self.model_name,
|
264
|
-
"messages": messages,
|
265
|
-
"stream": self.stream,
|
266
|
-
# "temperature": self.temperature,
|
267
|
-
"max_completion_tokens": self.max_tokens,
|
268
|
-
"caching": self.caching,
|
269
|
-
**kwargs,
|
270
|
-
}
|
265
|
+
messages = self.messages
|
271
266
|
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
267
|
+
# Base completion parameters
|
268
|
+
completion_params = {
|
269
|
+
"model": self.model_name,
|
270
|
+
"messages": messages,
|
271
|
+
"stream": self.stream,
|
272
|
+
"max_tokens": self.max_tokens,
|
273
|
+
"caching": self.caching,
|
274
|
+
"temperature": self.temperature,
|
275
|
+
"top_p": self.top_p,
|
276
|
+
**kwargs,
|
277
|
+
}
|
283
278
|
|
284
|
-
#
|
279
|
+
# Add temperature for non-o4/o3 models
|
280
|
+
if self.model_name not in [
|
281
|
+
"openai/o4-mini",
|
282
|
+
"openai/o3-2025-04-16",
|
283
|
+
]:
|
284
|
+
completion_params["temperature"] = self.temperature
|
285
|
+
|
286
|
+
# Add tools if specified
|
285
287
|
if self.tools_list_dictionary is not None:
|
286
288
|
completion_params.update(
|
287
289
|
{
|
@@ -290,28 +292,24 @@ class LiteLLM:
|
|
290
292
|
"parallel_tool_calls": self.parallel_tool_calls,
|
291
293
|
}
|
292
294
|
)
|
293
|
-
response = completion(**completion_params)
|
294
|
-
return (
|
295
|
-
response.choices[0]
|
296
|
-
.message.tool_calls[0]
|
297
|
-
.function.arguments
|
298
|
-
)
|
299
295
|
|
300
|
-
|
301
|
-
if (
|
302
|
-
self.modalities and len(self.modalities) > 1
|
303
|
-
): # More than just text
|
296
|
+
if self.functions is not None:
|
304
297
|
completion_params.update(
|
305
|
-
{"
|
298
|
+
{"functions": self.functions}
|
306
299
|
)
|
307
|
-
response = completion(**completion_params)
|
308
|
-
return response.choices[0].message.content
|
309
300
|
|
310
|
-
#
|
311
|
-
if self.
|
312
|
-
|
301
|
+
# Add modalities if needed
|
302
|
+
if self.modalities and len(self.modalities) >= 2:
|
303
|
+
completion_params["modalities"] = self.modalities
|
304
|
+
|
305
|
+
# Make the completion call
|
306
|
+
response = completion(**completion_params)
|
307
|
+
|
308
|
+
# Handle tool-based response
|
309
|
+
if self.tools_list_dictionary is not None:
|
310
|
+
return self.output_for_tools(response)
|
313
311
|
else:
|
314
|
-
response
|
312
|
+
# Return standard response content
|
315
313
|
return response.choices[0].message.content
|
316
314
|
|
317
315
|
except LiteLLMException as error:
|
@@ -322,7 +320,7 @@ class LiteLLM:
|
|
322
320
|
)
|
323
321
|
import time
|
324
322
|
|
325
|
-
time.sleep(2)
|
323
|
+
time.sleep(2)
|
326
324
|
return self.run(task, audio, img, *args, **kwargs)
|
327
325
|
raise error
|
328
326
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: swarms
|
3
|
-
Version: 7.
|
3
|
+
Version: 7.8.1
|
4
4
|
Summary: Swarms - TGSC
|
5
5
|
License: MIT
|
6
6
|
Keywords: artificial intelligence,deep learning,optimizers,Prompt Engineering,swarms,agents,llms,transformers,multi-agent,swarms of agents,Enterprise-Grade Agents,Production-Grade Agents,Agents,Multi-Grade-Agents,Swarms,Transformers,LLMs,Prompt Engineering,Agents,Generative Agents,Generative AI,Agent Marketplace,Agent Store,quant,finance,algorithmic trading,portfolio optimization,risk management,financial modeling,machine learning for finance,natural language processing for finance
|
@@ -21,13 +21,13 @@ Requires-Dist: aiofiles
|
|
21
21
|
Requires-Dist: aiohttp
|
22
22
|
Requires-Dist: asyncio (>=3.4.3,<4.0)
|
23
23
|
Requires-Dist: docstring_parser (==0.16)
|
24
|
-
Requires-Dist: fastmcp
|
25
24
|
Requires-Dist: httpx
|
26
25
|
Requires-Dist: litellm
|
27
26
|
Requires-Dist: loguru
|
28
27
|
Requires-Dist: mcp
|
29
28
|
Requires-Dist: networkx
|
30
29
|
Requires-Dist: numpy
|
30
|
+
Requires-Dist: numpydoc
|
31
31
|
Requires-Dist: psutil
|
32
32
|
Requires-Dist: pydantic
|
33
33
|
Requires-Dist: pypdf (==5.1.0)
|
@@ -14,6 +14,7 @@ swarms/agents/openai_assistant.py,sha256=mTSEtj26J0mc5pCeWrmMY0EXzTRYQfyfw_BtOqt
|
|
14
14
|
swarms/agents/react_agent.py,sha256=yM8lQoRsqJZicqtmgBrC7RHv0aKEb5oZHh4q5aAA_xs,5804
|
15
15
|
swarms/agents/reasoning_agents.py,sha256=tF7K710lj-VZQVc2VjqxMWGLNGMsEWRarXcJnXz1wkc,5741
|
16
16
|
swarms/agents/reasoning_duo.py,sha256=s9SnXoproQaBrShLtiruGJituy8sJlZJATc5Vy_FdwI,3875
|
17
|
+
swarms/agents/self_agent_builder.py,sha256=bX7xSwak6HiyK901VdeE8OlT4yqE0n7jyHcWJrkMeew,1104
|
17
18
|
swarms/agents/tool_agent.py,sha256=G7rhBACsHsGUMT4H9eF5aY7e3Gx-5jOmJkhCF1jm9mU,5087
|
18
19
|
swarms/artifacts/__init__.py,sha256=M111xTw7IVVt8gLDwW7Kau5n1YdwkL3vbCJPVeEWktI,83
|
19
20
|
swarms/artifacts/main_artifact.py,sha256=bu2TcsTR81ttJEjVJ3NzT7D4x7uuM57okC92QuigV9I,11139
|
@@ -34,6 +35,7 @@ swarms/prompts/aga.py,sha256=4rRG7r9LF9JBrGOLN4Hy_6cSe0z5YOeKFbGnOmRfFJ0,9156
|
|
34
35
|
swarms/prompts/agent_judge_prompt.py,sha256=-2q5mWLRyO7pj7j512ZNYRm-uEZttPgDGaxZo3oM_QQ,2235
|
35
36
|
swarms/prompts/agent_prompt.py,sha256=6SXkMWcFIIAY02N9P6kMdzo4wtPwzg1Bl9R2qsIdicM,2705
|
36
37
|
swarms/prompts/agent_prompts.py,sha256=63ZqAO1jfH3TKtl9ibLLagSG5kAPlbq4xtCGgGEuuoA,6886
|
38
|
+
swarms/prompts/agent_self_builder_prompt.py,sha256=cpO6VgtKaZAZ0aD3spzkzsMgdwEKo1_UALfLgczkFdU,6167
|
37
39
|
swarms/prompts/agent_system_prompts.py,sha256=3Ae6bSZjyRtV1nlkHkm8pYgWoZjzzVR1_amaNQ-Z9Do,7796
|
38
40
|
swarms/prompts/ai_research_team.py,sha256=6j8eqKih4PKSwYoS1BSBSEhZEGPiZCbTVX6aBUVNRIw,5233
|
39
41
|
swarms/prompts/aot_prompt.py,sha256=c1CBRixF2ucKZ0erwAjSOTSNHo_qO2jwUR-D3dxpfXw,1148
|
@@ -87,24 +89,30 @@ swarms/prompts/urban_planning.py,sha256=z483ehEuZwKuddbxS2s7fteDlb_iQ_Cj8DMCM_QC
|
|
87
89
|
swarms/prompts/visual_cot.py,sha256=PKePf57hu5sjaG5IvMFAxPzbLuPYrmnWEQG1MOq3TIg,3675
|
88
90
|
swarms/prompts/worker_prompt.py,sha256=f6qPN24vEciGRTHyYjNDguhzCFPZqa2u05rEHIPcJto,5554
|
89
91
|
swarms/prompts/xray_swarm_prompt.py,sha256=AfV_y8GVuEodznOGQ9Q8QlInoLE5Px3Nl9GS_EpsDxg,2349
|
90
|
-
swarms/schemas/__init__.py,sha256=
|
92
|
+
swarms/schemas/__init__.py,sha256=G2PKMJONzT3x6_edNqNjTgCgpTyul4UKhpC5cSe8Zjw,247
|
93
|
+
swarms/schemas/agent_class_schema.py,sha256=SG04rPZEHE4XWwC402qvfRMRJpyhQ0AvsHF-_B-e2Cg,4581
|
94
|
+
swarms/schemas/agent_mcp_errors.py,sha256=2BDsZAt9Pgmfh_D5DKY5vc9psw4Wl0FevL60yfiQvKk,266
|
91
95
|
swarms/schemas/agent_step_schemas.py,sha256=a14gb58vR0xOwB_fwSJQbN6yb9HddEaT30E6hUrzEQA,2573
|
96
|
+
swarms/schemas/agent_tool_schema.py,sha256=XdaKie6R0WhNXlnEl9f5T3hHmMedFbVwG17fdHP_U3E,385
|
92
97
|
swarms/schemas/base_schemas.py,sha256=UvBLVWg2qRen4tK5GJz50v42SiX95EQ5qK7hfyAHTEU,3267
|
93
|
-
swarms/
|
94
|
-
swarms/
|
98
|
+
swarms/schemas/llm_agent_schema.py,sha256=om3tPSjwbkIj2Hr38mKMLJvWs0E2BaE1jw2kzzd0Www,3020
|
99
|
+
swarms/schemas/mcp_schemas.py,sha256=XZJ4HyiY_cv8Gvj-53ddjzXuqT9hBU2f0cHbhIKs_jY,1330
|
100
|
+
swarms/structs/__init__.py,sha256=VEHVLHULQDqpCKGhBQ-oxiQAwP_9dI9K1mRF8WSYRvg,4231
|
101
|
+
swarms/structs/agent.py,sha256=MsPTIbIeOCa43eU6hIIp1pd8VSm07SjWB0he19msoyQ,100435
|
95
102
|
swarms/structs/agent_builder.py,sha256=tYNpfO4_8cgfMHfgA5DAOWffHnt70p6CLt59esqfVCY,12133
|
96
103
|
swarms/structs/agent_registry.py,sha256=il507cO1NF-d4ChyANVLuWrN8bXsEAi8_7bLJ_sTU6A,12112
|
97
104
|
swarms/structs/agent_roles.py,sha256=8XEw6RjOOZelaZaWt4gXaYQm5WMLEhSO7W6Z8sQjmFg,582
|
98
105
|
swarms/structs/agent_router.py,sha256=YZw5AaK2yTvxkOA7ouED_4MoYgn0XZggvo1wrglp-4E,13017
|
99
|
-
swarms/structs/aop.py,sha256
|
106
|
+
swarms/structs/aop.py,sha256=VQS1oDtg4cXVBxRaxMSYSM5X4nzVFy7u7mLmiOqDWZo,17408
|
100
107
|
swarms/structs/auto_swarm_builder.py,sha256=79hd-3GpEyCGgS6tj4FvGFyM8768McQZJQXbGGj9XMk,12973
|
101
108
|
swarms/structs/base_structure.py,sha256=GDu4QJQQmhU7IyuFJHIh9UVThACCva-L7uoMbVD9l4s,15901
|
102
109
|
swarms/structs/base_swarm.py,sha256=LSGJDPJdyUCcK6698mNtjxoC1OU3s_J2NxC2k_ccGUs,23779
|
103
110
|
swarms/structs/base_workflow.py,sha256=DTfFwX3AdFYxACDYwUDqhsbcDZnITlg5TeEYyxmJBCc,11414
|
111
|
+
swarms/structs/batch_agent_execution.py,sha256=d85DzeCq4uTbbPqLhAXFqFx_cxXUS5yRnJ1-gJkwU5w,1871
|
104
112
|
swarms/structs/concat.py,sha256=utezSxNyh1mIwXgdf8-dJ803NDPyEy79WE8zJHuooGk,732
|
105
113
|
swarms/structs/concurrent_workflow.py,sha256=OqXI-X-9a0hG2a7aLzobwd7CVF2ez0rgLj3ZHqri5bg,12952
|
106
|
-
swarms/structs/conversation.py,sha256=
|
107
|
-
swarms/structs/council_judge.py,sha256=
|
114
|
+
swarms/structs/conversation.py,sha256=88FgnM5tHOjC_F0TGRT04gkiPnE3tiept4ipnCO4iw8,27501
|
115
|
+
swarms/structs/council_judge.py,sha256=siYDKiHMvFmShUTXxdo4R6vXiQhKt7bEBI205oC3kU4,19639
|
108
116
|
swarms/structs/csv_to_agent.py,sha256=ug9JqQFPguXeU9JQpSUXuVtOpHYdJhlpKJUJBovo694,9443
|
109
117
|
swarms/structs/de_hallucination_swarm.py,sha256=9cC0rSSXGwYu6SRDwpeMbCcQ40C1WI1RE9SNapKRLOQ,10309
|
110
118
|
swarms/structs/deep_research_swarm.py,sha256=3f8T_t-gIg5wbfU2JrMmZ9Ob4Qn153zXdzt5ZpydmXk,16777
|
@@ -113,9 +121,10 @@ swarms/structs/graph_workflow.py,sha256=TAaUG_J3898hhghPOp0WEAV3Zf0in6s48ZSVbSTX
|
|
113
121
|
swarms/structs/groupchat.py,sha256=jjH0BqU9Nrd_3jl9QzrcvbSce527SFpUaepawaRiw2o,15391
|
114
122
|
swarms/structs/hiearchical_swarm.py,sha256=2x3InS4HJg4T9Y195l_ANTGu6DYcllqCdJcR3v5Xuro,33402
|
115
123
|
swarms/structs/hybrid_hiearchical_peer_swarm.py,sha256=D1iBtNNee_mxPoOWS5WGTqcci5FQKtt38mW-J42GvfM,9494
|
116
|
-
swarms/structs/
|
124
|
+
swarms/structs/long_agent.py,sha256=KFjE2uUI8ONTkeJO43Sh3y5-Ec0kga28BECGklic-S4,15049
|
125
|
+
swarms/structs/ma_utils.py,sha256=s8uTCplQtiFvxyqyTTTUCnJDMwNLJEuxbdGZyOURjLg,3244
|
117
126
|
swarms/structs/majority_voting.py,sha256=F_t_MOC3YCRyMw5N6qKdFThpaXZxwixRw592Ku5Uhto,10122
|
118
|
-
swarms/structs/malt.py,sha256=
|
127
|
+
swarms/structs/malt.py,sha256=uLofKBWHkP3uNhyCkkgEyE4Z7qnOHTtcg-OTiR19x_Y,19572
|
119
128
|
swarms/structs/matrix_swarm.py,sha256=qHuhOYrTyOv6ujHMe8PrQT-h-WmaCPCfX4ghv5L8UFI,9765
|
120
129
|
swarms/structs/meme_agent_persona_generator.py,sha256=b3kKlumhsV4KV88-GS3CUnGO1UfKTU3fT8SAMj0ZlwQ,10645
|
121
130
|
swarms/structs/mixture_of_agents.py,sha256=Ix2YTdrzISPQJLrQ5vrZtYOpZwIYDx0vUaNmvBwDDVM,7762
|
@@ -137,7 +146,7 @@ swarms/structs/swarm_eval.py,sha256=148E2R2zaCmt_LZYx15nmdFjybXHiQ2CZbl6pk77jNs,
|
|
137
146
|
swarms/structs/swarm_id_generator.py,sha256=Wly7AtGM9e6VgzhYmfg8_gSOdxAdsOvWHJFK81cpQNQ,68
|
138
147
|
swarms/structs/swarm_matcher.py,sha256=E2KwHHEJxmW-UfTeMPWZ6VCmYdQ_I9_fwrfJbxD02GY,23322
|
139
148
|
swarms/structs/swarm_registry.py,sha256=P0XRrqp1qBNyt0BycqPQljUzKv9jClaQMhtaBMinhYg,5578
|
140
|
-
swarms/structs/swarm_router.py,sha256=
|
149
|
+
swarms/structs/swarm_router.py,sha256=Q6g3tLUJM9OZn4tbjlChxb6xz_DIl0ix4NUschFtEf0,30578
|
141
150
|
swarms/structs/swarming_architectures.py,sha256=q2XrY2lOqFhVckA8oin65Dz1VPUe-lfbEJHlP1Z8aTE,28278
|
142
151
|
swarms/structs/tree_swarm.py,sha256=AnIxrt0KhWxAQN8uGjfCcOq-XCmsuTJiH8Ex4mXy8V8,12500
|
143
152
|
swarms/structs/utils.py,sha256=Mo6wHQYOB8baWZUKnAJN5Dsgubpo81umNwJIEDitb2A,1873
|
@@ -145,27 +154,28 @@ swarms/structs/various_alt_swarms.py,sha256=qdBuOF31UjatlKRu-9bxwyRQzIjohRhTv_63
|
|
145
154
|
swarms/telemetry/__init__.py,sha256=yibtkHEbQRPUv6ir1FhDHlAO_3nwKJPQH4LjzBC2AuQ,661
|
146
155
|
swarms/telemetry/bootup.py,sha256=0leCNCy5rhzL19EsOsqHWSDI85KVcWO6_5hLDS0h4sY,1155
|
147
156
|
swarms/telemetry/main.py,sha256=8FxivorvclSvhgfU03cHFktaRgRNV1UXCMi0VV8-U60,11248
|
148
|
-
swarms/tools/__init__.py,sha256=
|
149
|
-
swarms/tools/base_tool.py,sha256=
|
157
|
+
swarms/tools/__init__.py,sha256=tyGQpcfrosMx06fdV9h_8_9WB-1vfT-aAjZufiTXyPQ,1838
|
158
|
+
swarms/tools/base_tool.py,sha256=LMGfH2o9nrCdsuVxI2mfxtkIMcXTs2oO_jAF1ebU-YY,107065
|
150
159
|
swarms/tools/cohere_func_call_schema.py,sha256=XJ6_yBMXCrV9KjN7v9Bk1iFj69TRlGIWYKsUTA1oGiQ,600
|
160
|
+
swarms/tools/create_agent_tool.py,sha256=YsiBgrR9gkn2Jenu_mIFXOMJCWb_Hdw4gBYPQN5HEQk,3467
|
151
161
|
swarms/tools/func_calling_utils.py,sha256=PhHHZRHN-vRHA_h21ELRjXIhSRIrsT4UhU5-1Bhy-iU,3542
|
152
162
|
swarms/tools/func_to_str.py,sha256=J_E3ejEYxl_u7Te9xvHWGE83EW0-CRBRqafiXMUvto8,1129
|
153
163
|
swarms/tools/function_util.py,sha256=DAnAPO0Ik__TAqL7IJzFmkukHnhpsW_QtALl3yj837g,1158
|
154
164
|
swarms/tools/json_former.py,sha256=4ugLQ_EZpghhuhFsVKsy-ehin9K64pqVE2gLU7BTO_M,14376
|
155
165
|
swarms/tools/json_utils.py,sha256=WKMZjcJ0Vt6lgIjiTBenslcfjgRSLX4UWs4uDkKFMQI,1316
|
156
166
|
swarms/tools/logits_processor.py,sha256=NifZZ5w9yemWGJAJ5nHFrphtZVX1XlyesgvYZTxK1GM,2965
|
157
|
-
swarms/tools/
|
158
|
-
swarms/tools/mcp_integration.py,sha256=ZxVj5T6qBy9K9YTpXmDn2LiA4Q-Wj0TTuF3SnI_Jiu0,11725
|
167
|
+
swarms/tools/mcp_client_call.py,sha256=4iYDpMT_v0Kk_RTgL0bfQruxJJJuXNPmZQalHL1vm6c,15287
|
159
168
|
swarms/tools/openai_func_calling_schema_pydantic.py,sha256=6BAH9kuaVTvJIbjgSSJ5XvHhWvWszPxgarkfUuE5Ads,978
|
160
169
|
swarms/tools/openai_tool_creator_decorator.py,sha256=SYZjHnARjWvnH9cBdj7Kc_Yy1muvNxMT3RQz8KkA2SE,2578
|
161
|
-
swarms/tools/py_func_to_openai_func_str.py,sha256=
|
162
|
-
swarms/tools/pydantic_to_json.py,sha256
|
170
|
+
swarms/tools/py_func_to_openai_func_str.py,sha256=sjoNutRZ11-0kYFDalUTxZxQ0TEDyn5R8EXMdS4gsgw,17091
|
171
|
+
swarms/tools/pydantic_to_json.py,sha256=sd5uWwjSHsu7M8wCBrPv0uje05-K4xcfbvKQ_zOaww8,3399
|
163
172
|
swarms/tools/tool_parse_exec.py,sha256=FW5XzkuNEs2YrroybjKChbCzDvaCs7ypknSDpYhfkd4,8717
|
164
173
|
swarms/tools/tool_registry.py,sha256=ULZmIKBTx9XRCJRD9hwXfY3iQw9v94arw-VV6jcuftY,7992
|
165
174
|
swarms/tools/tool_schema_base_model.py,sha256=0biTGIoibsPPP3fOrkC6WvNU5vXaalyccVKC1fpO_eg,1409
|
166
175
|
swarms/tools/tool_utils.py,sha256=yXzzqG7Ytd8ybB8bsjNUNLaXIuIp9JbbpUKCiHxQqo8,2816
|
167
176
|
swarms/utils/__init__.py,sha256=9qKE_11pxom74j3qExSm6Z_LwR5lrpC5YG17v22eLlo,975
|
168
177
|
swarms/utils/any_to_str.py,sha256=Qi4N9ed6LYnCs2AeFYo1zwEfYhOKUesGVFUmVUz54KI,2936
|
178
|
+
swarms/utils/audio_processing.py,sha256=Y3KaWG9WJrgquWCeaty20HWPIXfeuPAhcJFzoSBIQjE,9893
|
169
179
|
swarms/utils/auto_download_check_packages.py,sha256=mqx3jCetfkTuxTdeGLx-gGMB1xWOU5vata8lTKXLatk,4580
|
170
180
|
swarms/utils/calculate_func_metrics.py,sha256=Nb5r7rWf809m5F7mWIYXZ0H_WeyGr78A2UZD2GHtJkM,5007
|
171
181
|
swarms/utils/data_to_text.py,sha256=1PUoWokylp7MOrGNk1cmO3cJlfskdAIiImGk9ECwsKU,3427
|
@@ -175,8 +185,9 @@ swarms/utils/formatter.py,sha256=e15FsyTIIkyRreMUApkkZCzJC1Sm67w5Zd6EQcUkMwA,453
|
|
175
185
|
swarms/utils/function_caller_model.py,sha256=ZfgCMzOizNnuZipYLclTziECNHszH9p8RQcUq7VNr4Q,4156
|
176
186
|
swarms/utils/generate_keys.py,sha256=i0Ewm1LCTLaqp7qm7B7MgNolaI9IZyJcxNVRLUZklt4,1700
|
177
187
|
swarms/utils/history_output_formatter.py,sha256=d4J-TF63ENCjsQXU36MGR2pvx59y0qBFuBlOrJt_K8M,1487
|
178
|
-
swarms/utils/
|
179
|
-
swarms/utils/
|
188
|
+
swarms/utils/index.py,sha256=iYVlMiuSpBuKHF34uSrxDUuSYmS26bbYoAqyz_VIyvY,6902
|
189
|
+
swarms/utils/litellm_tokenizer.py,sha256=PqzAY4C5lJ3P-K9SL-dCNtxmHHlZvAw1UohT-ob9lxY,3389
|
190
|
+
swarms/utils/litellm_wrapper.py,sha256=dZ9KCR_Rxlm3VZWWVfhpTb4Y6KM_xHipynueJUeU_Jc,15023
|
180
191
|
swarms/utils/loguru_logger.py,sha256=hIoSK3NHLpe7eAmjHRURrEYzNXYC2gbR7_Vv63Yaydk,685
|
181
192
|
swarms/utils/markdown_message.py,sha256=RThHNnMf6ZLTlYK4vKn3yuewChaxWAYAWb0Xm_pTyIU,652
|
182
193
|
swarms/utils/parse_code.py,sha256=XFOLymbdP3HzMZuqsj7pwUyisvUmTm0ev9iThR_ambI,1987
|
@@ -187,8 +198,8 @@ swarms/utils/visualizer.py,sha256=0ylohEk62MAS6iPRaDOV03m9qo2k5J56tWlKJk_46p4,16
|
|
187
198
|
swarms/utils/vllm_wrapper.py,sha256=OIGnU9Vf81vE_hul1FK-xEhChFK8fxqZX6-fhQeW22c,4987
|
188
199
|
swarms/utils/wrapper_clusterop.py,sha256=PMSCVM7ZT1vgj1D_MYAe835RR3SMLYxA-si2JS02yNQ,4220
|
189
200
|
swarms/utils/xml_utils.py,sha256=j8byUa56VT7V4e18pL8UBftLdyWKsUHbid1KDxnAWBo,1416
|
190
|
-
swarms-7.
|
191
|
-
swarms-7.
|
192
|
-
swarms-7.
|
193
|
-
swarms-7.
|
194
|
-
swarms-7.
|
201
|
+
swarms-7.8.1.dist-info/LICENSE,sha256=jwRtEmTWjLrEsvFB6QFdYs2cEeZPRMdj-UMOFkPF8_0,11363
|
202
|
+
swarms-7.8.1.dist-info/METADATA,sha256=PqIGF4MP1adudx2SRbDfxkqmOCuP8QC3l-2pq7AVUDg,94969
|
203
|
+
swarms-7.8.1.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
204
|
+
swarms-7.8.1.dist-info/entry_points.txt,sha256=2K0rTtfO1X1WaO-waJlXIKw5Voa_EpAL_yU0HXE2Jgc,47
|
205
|
+
swarms-7.8.1.dist-info/RECORD,,
|