camel-ai 0.2.71a10__py3-none-any.whl → 0.2.71a12__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 camel-ai might be problematic. Click here for more details.
- camel/__init__.py +1 -1
- camel/agents/chat_agent.py +1 -1
- camel/models/cohere_model.py +4 -1
- camel/models/moonshot_model.py +54 -1
- camel/societies/workforce/prompts.py +32 -13
- camel/societies/workforce/role_playing_worker.py +1 -1
- camel/societies/workforce/worker.py +1 -1
- camel/societies/workforce/workforce.py +53 -18
- camel/tasks/task.py +9 -5
- camel/toolkits/function_tool.py +13 -0
- camel/toolkits/hybrid_browser_toolkit/hybrid_browser_toolkit.py +165 -218
- camel/toolkits/hybrid_browser_toolkit/unified_analyzer.js +3 -3
- camel/toolkits/search_toolkit.py +93 -60
- camel/toolkits/slack_toolkit.py +10 -0
- camel/types/enums.py +3 -0
- camel/utils/tool_result.py +1 -1
- {camel_ai-0.2.71a10.dist-info → camel_ai-0.2.71a12.dist-info}/METADATA +3 -3
- {camel_ai-0.2.71a10.dist-info → camel_ai-0.2.71a12.dist-info}/RECORD +20 -20
- {camel_ai-0.2.71a10.dist-info → camel_ai-0.2.71a12.dist-info}/WHEEL +0 -0
- {camel_ai-0.2.71a10.dist-info → camel_ai-0.2.71a12.dist-info}/licenses/LICENSE +0 -0
camel/toolkits/search_toolkit.py
CHANGED
|
@@ -32,6 +32,23 @@ class SearchToolkit(BaseToolkit):
|
|
|
32
32
|
search engines like Google, DuckDuckGo, Wikipedia and Wolfram Alpha, Brave.
|
|
33
33
|
"""
|
|
34
34
|
|
|
35
|
+
def __init__(
|
|
36
|
+
self,
|
|
37
|
+
timeout: Optional[float] = None,
|
|
38
|
+
number_of_result_pages: int = 10,
|
|
39
|
+
):
|
|
40
|
+
r"""Initializes the RedditToolkit with the specified number of retries
|
|
41
|
+
and delay.
|
|
42
|
+
|
|
43
|
+
Args:
|
|
44
|
+
timeout (float): Timeout for API requests in seconds.
|
|
45
|
+
(default: :obj:`None`)
|
|
46
|
+
number_of_result_pages (int): The number of result pages to
|
|
47
|
+
retrieve. (default: :obj:`10`)
|
|
48
|
+
"""
|
|
49
|
+
super().__init__(timeout=timeout)
|
|
50
|
+
self.number_of_result_pages = number_of_result_pages
|
|
51
|
+
|
|
35
52
|
@dependencies_required("wikipedia")
|
|
36
53
|
def search_wiki(self, entity: str) -> str:
|
|
37
54
|
r"""Search the entity in WikiPedia and return the summary of the
|
|
@@ -89,8 +106,8 @@ class SearchToolkit(BaseToolkit):
|
|
|
89
106
|
depth (Literal["standard", "deep"]): The depth of the search.
|
|
90
107
|
"standard" for a straightforward search, "deep" for a more
|
|
91
108
|
comprehensive search.
|
|
92
|
-
output_type (Literal["searchResults", "sourcedAnswer",
|
|
93
|
-
|
|
109
|
+
output_type (Literal["searchResults", "sourcedAnswer", "structured"]):
|
|
110
|
+
The type of output:
|
|
94
111
|
- "searchResults" for raw search results,
|
|
95
112
|
- "sourcedAnswer" for an answer with supporting sources,
|
|
96
113
|
- "structured" for output based on a provided schema.
|
|
@@ -144,7 +161,7 @@ class SearchToolkit(BaseToolkit):
|
|
|
144
161
|
|
|
145
162
|
@dependencies_required("duckduckgo_search")
|
|
146
163
|
def search_duckduckgo(
|
|
147
|
-
self, query: str, source: str = "text"
|
|
164
|
+
self, query: str, source: str = "text"
|
|
148
165
|
) -> List[Dict[str, Any]]:
|
|
149
166
|
r"""Use DuckDuckGo search engine to search information for
|
|
150
167
|
the given query.
|
|
@@ -157,7 +174,6 @@ class SearchToolkit(BaseToolkit):
|
|
|
157
174
|
query (str): The query to be searched.
|
|
158
175
|
source (str): The type of information to query (e.g., "text",
|
|
159
176
|
"images", "videos"). Defaults to "text".
|
|
160
|
-
max_results (int): Max number of results, defaults to `5`.
|
|
161
177
|
|
|
162
178
|
Returns:
|
|
163
179
|
List[Dict[str, Any]]: A list of dictionaries where each dictionary
|
|
@@ -171,7 +187,9 @@ class SearchToolkit(BaseToolkit):
|
|
|
171
187
|
|
|
172
188
|
if source == "text":
|
|
173
189
|
try:
|
|
174
|
-
results = ddgs.text(
|
|
190
|
+
results = ddgs.text(
|
|
191
|
+
keywords=query, max_results=self.number_of_result_pages
|
|
192
|
+
)
|
|
175
193
|
except RequestException as e:
|
|
176
194
|
# Handle specific exceptions or general request exceptions
|
|
177
195
|
responses.append({"error": f"duckduckgo search failed.{e}"})
|
|
@@ -189,7 +207,9 @@ class SearchToolkit(BaseToolkit):
|
|
|
189
207
|
|
|
190
208
|
elif source == "images":
|
|
191
209
|
try:
|
|
192
|
-
results = ddgs.images(
|
|
210
|
+
results = ddgs.images(
|
|
211
|
+
keywords=query, max_results=self.number_of_result_pages
|
|
212
|
+
)
|
|
193
213
|
except RequestException as e:
|
|
194
214
|
# Handle specific exceptions or general request exceptions
|
|
195
215
|
responses.append({"error": f"duckduckgo search failed.{e}"})
|
|
@@ -208,7 +228,9 @@ class SearchToolkit(BaseToolkit):
|
|
|
208
228
|
|
|
209
229
|
elif source == "videos":
|
|
210
230
|
try:
|
|
211
|
-
results = ddgs.videos(
|
|
231
|
+
results = ddgs.videos(
|
|
232
|
+
keywords=query, max_results=self.number_of_result_pages
|
|
233
|
+
)
|
|
212
234
|
except RequestException as e:
|
|
213
235
|
# Handle specific exceptions or general request exceptions
|
|
214
236
|
responses.append({"error": f"duckduckgo search failed.{e}"})
|
|
@@ -241,7 +263,6 @@ class SearchToolkit(BaseToolkit):
|
|
|
241
263
|
country: str = "US",
|
|
242
264
|
search_lang: str = "en",
|
|
243
265
|
ui_lang: str = "en-US",
|
|
244
|
-
count: int = 20,
|
|
245
266
|
offset: int = 0,
|
|
246
267
|
safesearch: str = "moderate",
|
|
247
268
|
freshness: Optional[str] = None,
|
|
@@ -265,17 +286,18 @@ class SearchToolkit(BaseToolkit):
|
|
|
265
286
|
The country string is limited to 2 character country codes of
|
|
266
287
|
supported countries. For a list of supported values, see
|
|
267
288
|
Country Codes. (default: :obj:`US `)
|
|
268
|
-
search_lang (str): The search language preference.
|
|
269
|
-
|
|
270
|
-
|
|
289
|
+
search_lang (str): The search language preference.
|
|
290
|
+
Use ONLY these exact values, NOT standard ISO codes:
|
|
291
|
+
'ar', 'eu', 'bn', 'bg', 'ca', 'zh-hans', 'zh-hant', 'hr',
|
|
292
|
+
'cs', 'da', 'nl', 'en', 'en-gb', 'et', 'fi', 'fr', 'gl', 'de',
|
|
293
|
+
'gu', 'he', 'hi', 'hu', 'is', 'it', 'jp', 'kn', 'ko', 'lv',
|
|
294
|
+
'lt', 'ms', 'ml', 'mr', 'nb', 'pl', 'pt-br', 'pt-pt', 'pa',
|
|
295
|
+
'ro', 'ru', 'sr', 'sk', 'sl', 'es', 'sv', 'ta', 'te', 'th',
|
|
296
|
+
'tr', 'uk', 'vi'.
|
|
271
297
|
ui_lang (str): User interface language preferred in response.
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
count (int): The number of search results returned in response.
|
|
276
|
-
The maximum is 20. The actual number delivered may be less than
|
|
277
|
-
requested. Combine this parameter with offset to paginate
|
|
278
|
-
search results.
|
|
298
|
+
Format: '<language_code>-<country_code>'. Common examples:
|
|
299
|
+
'en-US', 'en-GB', 'jp-JP', 'zh-hans-CN', 'zh-hant-TW',
|
|
300
|
+
'de-DE', 'fr-FR', 'es-ES', 'pt-BR', 'ru-RU', 'ko-KR'.
|
|
279
301
|
offset (int): The zero based offset that indicates number of search
|
|
280
302
|
results per page (count) to skip before returning the result.
|
|
281
303
|
The maximum is 9. The actual number delivered may be less than
|
|
@@ -363,7 +385,7 @@ class SearchToolkit(BaseToolkit):
|
|
|
363
385
|
"country": country,
|
|
364
386
|
"search_lang": search_lang,
|
|
365
387
|
"ui_lang": ui_lang,
|
|
366
|
-
"count":
|
|
388
|
+
"count": self.number_of_result_pages,
|
|
367
389
|
"offset": offset,
|
|
368
390
|
"safesearch": safesearch,
|
|
369
391
|
"freshness": freshness,
|
|
@@ -375,10 +397,36 @@ class SearchToolkit(BaseToolkit):
|
|
|
375
397
|
"extra_snippets": extra_snippets,
|
|
376
398
|
"summary": summary,
|
|
377
399
|
}
|
|
400
|
+
params = {k: v for k, v in params.items() if v is not None}
|
|
378
401
|
|
|
379
402
|
response = requests.get(url, headers=headers, params=params)
|
|
380
|
-
|
|
381
|
-
|
|
403
|
+
try:
|
|
404
|
+
response.raise_for_status()
|
|
405
|
+
except requests.HTTPError as e:
|
|
406
|
+
raise RuntimeError(
|
|
407
|
+
f"Brave API HTTP error: {e}, body={response.text!r}"
|
|
408
|
+
)
|
|
409
|
+
|
|
410
|
+
json_data = response.json()
|
|
411
|
+
# Check if response has search results
|
|
412
|
+
content_keys = [
|
|
413
|
+
'web',
|
|
414
|
+
'news',
|
|
415
|
+
'videos',
|
|
416
|
+
'images',
|
|
417
|
+
'locations',
|
|
418
|
+
'discussions',
|
|
419
|
+
'faq',
|
|
420
|
+
'infobox',
|
|
421
|
+
]
|
|
422
|
+
has_results = any(key in json_data for key in content_keys)
|
|
423
|
+
|
|
424
|
+
if not has_results:
|
|
425
|
+
# Return empty results structure if no content found
|
|
426
|
+
json_data['web'] = {'results': []}
|
|
427
|
+
json_data['message'] = 'No search results found for the query'
|
|
428
|
+
|
|
429
|
+
return json_data
|
|
382
430
|
|
|
383
431
|
@api_keys_required(
|
|
384
432
|
[
|
|
@@ -386,14 +434,11 @@ class SearchToolkit(BaseToolkit):
|
|
|
386
434
|
(None, 'SEARCH_ENGINE_ID'),
|
|
387
435
|
]
|
|
388
436
|
)
|
|
389
|
-
def search_google(
|
|
390
|
-
self, query: str, num_result_pages: int = 5
|
|
391
|
-
) -> List[Dict[str, Any]]:
|
|
437
|
+
def search_google(self, query: str) -> List[Dict[str, Any]]:
|
|
392
438
|
r"""Use Google search engine to search information for the given query.
|
|
393
439
|
|
|
394
440
|
Args:
|
|
395
441
|
query (str): The query to be searched.
|
|
396
|
-
num_result_pages (int): The number of result pages to retrieve.
|
|
397
442
|
|
|
398
443
|
Returns:
|
|
399
444
|
List[Dict[str, Any]]: A list of dictionaries where each dictionary
|
|
@@ -430,14 +475,12 @@ class SearchToolkit(BaseToolkit):
|
|
|
430
475
|
start_page_idx = 1
|
|
431
476
|
# Different language may get different result
|
|
432
477
|
search_language = "en"
|
|
433
|
-
# How many pages to return
|
|
434
|
-
num_result_pages = num_result_pages
|
|
435
478
|
# Constructing the URL
|
|
436
479
|
# Doc: https://developers.google.com/custom-search/v1/using_rest
|
|
437
480
|
url = (
|
|
438
481
|
f"https://www.googleapis.com/customsearch/v1?"
|
|
439
482
|
f"key={GOOGLE_API_KEY}&cx={SEARCH_ENGINE_ID}&q={query}&start="
|
|
440
|
-
f"{start_page_idx}&lr={search_language}&num={
|
|
483
|
+
f"{start_page_idx}&lr={search_language}&num={self.number_of_result_pages}"
|
|
441
484
|
)
|
|
442
485
|
|
|
443
486
|
responses = []
|
|
@@ -498,15 +541,11 @@ class SearchToolkit(BaseToolkit):
|
|
|
498
541
|
responses.append({"error": f"google search failed: {e!s}"})
|
|
499
542
|
return responses
|
|
500
543
|
|
|
501
|
-
def tavily_search(
|
|
502
|
-
self, query: str, num_results: int = 5, **kwargs
|
|
503
|
-
) -> List[Dict[str, Any]]:
|
|
544
|
+
def tavily_search(self, query: str, **kwargs) -> List[Dict[str, Any]]:
|
|
504
545
|
r"""Use Tavily Search API to search information for the given query.
|
|
505
546
|
|
|
506
547
|
Args:
|
|
507
548
|
query (str): The query to be searched.
|
|
508
|
-
num_results (int): The number of search results to retrieve
|
|
509
|
-
(default is `5`).
|
|
510
549
|
**kwargs: Additional optional parameters supported by Tavily's API:
|
|
511
550
|
- search_depth (str): "basic" or "advanced" search depth.
|
|
512
551
|
- topic (str): The search category, e.g., "general" or "news."
|
|
@@ -542,7 +581,9 @@ class SearchToolkit(BaseToolkit):
|
|
|
542
581
|
client = TavilyClient(Tavily_API_KEY)
|
|
543
582
|
|
|
544
583
|
try:
|
|
545
|
-
results = client.search(
|
|
584
|
+
results = client.search(
|
|
585
|
+
query, max_results=self.number_of_result_pages, **kwargs
|
|
586
|
+
)
|
|
546
587
|
return results
|
|
547
588
|
except Exception as e:
|
|
548
589
|
return [{"error": f"An unexpected error occurred: {e!s}"}]
|
|
@@ -553,7 +594,6 @@ class SearchToolkit(BaseToolkit):
|
|
|
553
594
|
query: str,
|
|
554
595
|
freshness: str = "noLimit",
|
|
555
596
|
summary: bool = False,
|
|
556
|
-
count: int = 10,
|
|
557
597
|
page: int = 1,
|
|
558
598
|
) -> Dict[str, Any]:
|
|
559
599
|
r"""Query the Bocha AI search API and return search results.
|
|
@@ -569,7 +609,6 @@ class SearchToolkit(BaseToolkit):
|
|
|
569
609
|
- 'oneYear': past year.
|
|
570
610
|
summary (bool): Whether to include text summaries in results.
|
|
571
611
|
Default is False.
|
|
572
|
-
count (int): Number of results to return (1-50). Default is 10.
|
|
573
612
|
page (int): Page number of results. Default is 1.
|
|
574
613
|
|
|
575
614
|
Returns:
|
|
@@ -592,7 +631,7 @@ class SearchToolkit(BaseToolkit):
|
|
|
592
631
|
"query": query,
|
|
593
632
|
"freshness": freshness,
|
|
594
633
|
"summary": summary,
|
|
595
|
-
"count":
|
|
634
|
+
"count": self.number_of_result_pages,
|
|
596
635
|
"page": page,
|
|
597
636
|
},
|
|
598
637
|
ensure_ascii=False,
|
|
@@ -610,15 +649,13 @@ class SearchToolkit(BaseToolkit):
|
|
|
610
649
|
except requests.exceptions.RequestException as e:
|
|
611
650
|
return {"error": f"Bocha AI search failed: {e!s}"}
|
|
612
651
|
|
|
613
|
-
def search_baidu(self, query: str
|
|
652
|
+
def search_baidu(self, query: str) -> Dict[str, Any]:
|
|
614
653
|
r"""Search Baidu using web scraping to retrieve relevant search
|
|
615
654
|
results. This method queries Baidu's search engine and extracts search
|
|
616
655
|
results including titles, descriptions, and URLs.
|
|
617
656
|
|
|
618
657
|
Args:
|
|
619
658
|
query (str): Search query string to submit to Baidu.
|
|
620
|
-
max_results (int): Maximum number of results to return.
|
|
621
|
-
(default: :obj:`5`)
|
|
622
659
|
|
|
623
660
|
Returns:
|
|
624
661
|
Dict[str, Any]: A dictionary containing search results or error
|
|
@@ -636,7 +673,7 @@ class SearchToolkit(BaseToolkit):
|
|
|
636
673
|
),
|
|
637
674
|
"Referer": "https://www.baidu.com",
|
|
638
675
|
}
|
|
639
|
-
params = {"wd": query, "rn": str(
|
|
676
|
+
params = {"wd": query, "rn": str(self.number_of_result_pages)}
|
|
640
677
|
|
|
641
678
|
response = requests.get(url, headers=headers, params=params)
|
|
642
679
|
response.encoding = "utf-8"
|
|
@@ -665,7 +702,7 @@ class SearchToolkit(BaseToolkit):
|
|
|
665
702
|
"url": link,
|
|
666
703
|
}
|
|
667
704
|
)
|
|
668
|
-
if len(results) >=
|
|
705
|
+
if len(results) >= self.number_of_result_pages:
|
|
669
706
|
break
|
|
670
707
|
|
|
671
708
|
if not results:
|
|
@@ -679,7 +716,7 @@ class SearchToolkit(BaseToolkit):
|
|
|
679
716
|
except Exception as e:
|
|
680
717
|
return {"error": f"Baidu scraping error: {e!s}"}
|
|
681
718
|
|
|
682
|
-
def search_bing(self, query: str
|
|
719
|
+
def search_bing(self, query: str) -> Dict[str, Any]:
|
|
683
720
|
r"""Use Bing search engine to search information for the given query.
|
|
684
721
|
|
|
685
722
|
This function queries the Chinese version of Bing search engine (cn.
|
|
@@ -691,8 +728,6 @@ class SearchToolkit(BaseToolkit):
|
|
|
691
728
|
Args:
|
|
692
729
|
query (str): The search query string to submit to Bing. Works best
|
|
693
730
|
with Chinese queries or when Chinese results are preferred.
|
|
694
|
-
max_results (int): Maximum number of results to return.
|
|
695
|
-
(default: :obj:`5`)
|
|
696
731
|
|
|
697
732
|
Returns:
|
|
698
733
|
Dict ([str, Any]): A dictionary containing either:
|
|
@@ -742,7 +777,9 @@ class SearchToolkit(BaseToolkit):
|
|
|
742
777
|
result_items = b_results_tag.find_all("li")
|
|
743
778
|
|
|
744
779
|
results: List[Dict[str, Any]] = []
|
|
745
|
-
for i in range(
|
|
780
|
+
for i in range(
|
|
781
|
+
min(len(result_items), self.number_of_result_pages)
|
|
782
|
+
):
|
|
746
783
|
row = result_items[i]
|
|
747
784
|
if not isinstance(row, Tag):
|
|
748
785
|
continue
|
|
@@ -807,7 +844,6 @@ class SearchToolkit(BaseToolkit):
|
|
|
807
844
|
"financial report",
|
|
808
845
|
]
|
|
809
846
|
] = None,
|
|
810
|
-
num_results: int = 10,
|
|
811
847
|
include_text: Optional[List[str]] = None,
|
|
812
848
|
exclude_text: Optional[List[str]] = None,
|
|
813
849
|
use_autoprompt: bool = True,
|
|
@@ -823,8 +859,6 @@ class SearchToolkit(BaseToolkit):
|
|
|
823
859
|
and neural search. (default: :obj:`"auto"`)
|
|
824
860
|
category (Optional[Literal]): Category to focus the search on, such
|
|
825
861
|
as "research paper" or "news". (default: :obj:`None`)
|
|
826
|
-
num_results (int): Number of results to return (max 100).
|
|
827
|
-
(default: :obj:`10`)
|
|
828
862
|
include_text (Optional[List[str]]): Strings that must be present in
|
|
829
863
|
webpage text. Limited to 1 string of up to 5 words.
|
|
830
864
|
(default: :obj:`None`)
|
|
@@ -853,7 +887,10 @@ class SearchToolkit(BaseToolkit):
|
|
|
853
887
|
try:
|
|
854
888
|
exa = Exa(EXA_API_KEY)
|
|
855
889
|
|
|
856
|
-
if
|
|
890
|
+
if (
|
|
891
|
+
self.number_of_result_pages is not None
|
|
892
|
+
and not 0 < self.number_of_result_pages <= 100
|
|
893
|
+
):
|
|
857
894
|
raise ValueError("num_results must be between 1 and 100")
|
|
858
895
|
|
|
859
896
|
if include_text is not None:
|
|
@@ -880,7 +917,7 @@ class SearchToolkit(BaseToolkit):
|
|
|
880
917
|
query=query,
|
|
881
918
|
type=search_type,
|
|
882
919
|
category=category,
|
|
883
|
-
num_results=
|
|
920
|
+
num_results=self.number_of_result_pages,
|
|
884
921
|
include_text=include_text,
|
|
885
922
|
exclude_text=exclude_text,
|
|
886
923
|
use_autoprompt=use_autoprompt,
|
|
@@ -894,7 +931,7 @@ class SearchToolkit(BaseToolkit):
|
|
|
894
931
|
query=query,
|
|
895
932
|
type=search_type,
|
|
896
933
|
category=category,
|
|
897
|
-
num_results=
|
|
934
|
+
num_results=self.number_of_result_pages,
|
|
898
935
|
include_text=include_text,
|
|
899
936
|
exclude_text=exclude_text,
|
|
900
937
|
use_autoprompt=use_autoprompt,
|
|
@@ -924,7 +961,6 @@ class SearchToolkit(BaseToolkit):
|
|
|
924
961
|
"news_center",
|
|
925
962
|
]
|
|
926
963
|
] = None,
|
|
927
|
-
page: int = 1,
|
|
928
964
|
return_main_text: bool = False,
|
|
929
965
|
return_markdown_text: bool = True,
|
|
930
966
|
enable_rerank: bool = True,
|
|
@@ -941,17 +977,14 @@ class SearchToolkit(BaseToolkit):
|
|
|
941
977
|
|
|
942
978
|
Args:
|
|
943
979
|
query (str): The search query string (length >= 1 and <= 100).
|
|
944
|
-
time_range (Literal["OneDay", "OneWeek", "OneMonth", "OneYear",
|
|
945
|
-
|
|
980
|
+
time_range (Literal["OneDay", "OneWeek", "OneMonth", "OneYear", "NoLimit"]):
|
|
981
|
+
Time frame filter for search results.
|
|
946
982
|
(default: :obj:`"NoLimit"`)
|
|
947
|
-
industry (Optional[Literal["finance", "law", "medical",
|
|
948
|
-
"internet", "tax", "news_province", "news_center"]]):
|
|
983
|
+
industry (Optional[Literal["finance", "law", "medical", "internet", "tax", "news_province", "news_center"]]):
|
|
949
984
|
Industry-specific search filter. When specified, only returns
|
|
950
985
|
results from sites in the specified industries. Multiple
|
|
951
986
|
industries can be comma-separated.
|
|
952
987
|
(default: :obj:`None`)
|
|
953
|
-
page (int): Page number for results pagination.
|
|
954
|
-
(default: :obj:`1`)
|
|
955
988
|
return_main_text (bool): Whether to include the main text of the
|
|
956
989
|
webpage in results. (default: :obj:`True`)
|
|
957
990
|
return_markdown_text (bool): Whether to include markdown formatted
|
|
@@ -984,7 +1017,7 @@ class SearchToolkit(BaseToolkit):
|
|
|
984
1017
|
params: Dict[str, Union[str, int]] = {
|
|
985
1018
|
"query": query,
|
|
986
1019
|
"timeRange": time_range,
|
|
987
|
-
"page":
|
|
1020
|
+
"page": self.number_of_result_pages,
|
|
988
1021
|
"returnMainText": str(return_main_text).lower(),
|
|
989
1022
|
"returnMarkdownText": str(return_markdown_text).lower(),
|
|
990
1023
|
"enableRerank": str(enable_rerank).lower(),
|
camel/toolkits/slack_toolkit.py
CHANGED
|
@@ -239,6 +239,7 @@ class SlackToolkit(BaseToolkit):
|
|
|
239
239
|
self,
|
|
240
240
|
message: str,
|
|
241
241
|
channel_id: str,
|
|
242
|
+
file_path: Optional[str] = None,
|
|
242
243
|
user: Optional[str] = None,
|
|
243
244
|
) -> str:
|
|
244
245
|
r"""Send a message to a Slack channel.
|
|
@@ -246,6 +247,8 @@ class SlackToolkit(BaseToolkit):
|
|
|
246
247
|
Args:
|
|
247
248
|
message (str): The message to send.
|
|
248
249
|
channel_id (str): The ID of the Slack channel to send message.
|
|
250
|
+
file_path (Optional[str]): The path of the file to send.
|
|
251
|
+
Defaults to `None`.
|
|
249
252
|
user (Optional[str]): The user ID of the recipient.
|
|
250
253
|
Defaults to `None`.
|
|
251
254
|
|
|
@@ -257,6 +260,13 @@ class SlackToolkit(BaseToolkit):
|
|
|
257
260
|
|
|
258
261
|
try:
|
|
259
262
|
slack_client = self._login_slack()
|
|
263
|
+
if file_path:
|
|
264
|
+
response = slack_client.files_upload_v2(
|
|
265
|
+
channel=channel_id,
|
|
266
|
+
file=file_path,
|
|
267
|
+
initial_comment=message,
|
|
268
|
+
)
|
|
269
|
+
return f"File sent successfully, got response: {response}"
|
|
260
270
|
if user:
|
|
261
271
|
response = slack_client.chat_postEphemeral(
|
|
262
272
|
channel=channel_id, text=message, user=user
|
camel/types/enums.py
CHANGED
|
@@ -270,6 +270,7 @@ class ModelType(UnifiedModelType, Enum):
|
|
|
270
270
|
MOONSHOT_V1_8K = "moonshot-v1-8k"
|
|
271
271
|
MOONSHOT_V1_32K = "moonshot-v1-32k"
|
|
272
272
|
MOONSHOT_V1_128K = "moonshot-v1-128k"
|
|
273
|
+
MOONSHOT_KIMI_K2 = "kimi-k2-0711-preview"
|
|
273
274
|
|
|
274
275
|
# SiliconFlow models support tool calling
|
|
275
276
|
SILICONFLOW_DEEPSEEK_V2_5 = "deepseek-ai/DeepSeek-V2.5"
|
|
@@ -833,6 +834,7 @@ class ModelType(UnifiedModelType, Enum):
|
|
|
833
834
|
ModelType.MOONSHOT_V1_8K,
|
|
834
835
|
ModelType.MOONSHOT_V1_32K,
|
|
835
836
|
ModelType.MOONSHOT_V1_128K,
|
|
837
|
+
ModelType.MOONSHOT_KIMI_K2,
|
|
836
838
|
}
|
|
837
839
|
|
|
838
840
|
@property
|
|
@@ -1205,6 +1207,7 @@ class ModelType(UnifiedModelType, Enum):
|
|
|
1205
1207
|
ModelType.MISTRAL_MEDIUM_3,
|
|
1206
1208
|
ModelType.ERNIE_4_5_TURBO_128K,
|
|
1207
1209
|
ModelType.DEEPSEEK_V3,
|
|
1210
|
+
ModelType.MOONSHOT_KIMI_K2,
|
|
1208
1211
|
}:
|
|
1209
1212
|
return 128_000
|
|
1210
1213
|
elif self in {
|
camel/utils/tool_result.py
CHANGED
|
@@ -41,4 +41,4 @@ class ToolResult:
|
|
|
41
41
|
def __repr__(self) -> str:
|
|
42
42
|
r"""Return a detailed representation of the result."""
|
|
43
43
|
img_count = len(self.images) if self.images else 0
|
|
44
|
-
return f"ToolResult(text='{self.text
|
|
44
|
+
return f"ToolResult(text='{self.text}', images={img_count})"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: camel-ai
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.71a12
|
|
4
4
|
Summary: Communicative Agents for AI Society Study
|
|
5
5
|
Project-URL: Homepage, https://www.camel-ai.org/
|
|
6
6
|
Project-URL: Repository, https://github.com/camel-ai/camel
|
|
@@ -127,7 +127,7 @@ Requires-Dist: sympy<2,>=1.13.3; extra == 'all'
|
|
|
127
127
|
Requires-Dist: tabulate>=0.9.0; extra == 'all'
|
|
128
128
|
Requires-Dist: tavily-python<0.6,>=0.5.0; extra == 'all'
|
|
129
129
|
Requires-Dist: textblob<0.18,>=0.17.1; extra == 'all'
|
|
130
|
-
Requires-Dist: traceroot==0.0.
|
|
130
|
+
Requires-Dist: traceroot==0.0.3; extra == 'all'
|
|
131
131
|
Requires-Dist: transformers<5,>=4; extra == 'all'
|
|
132
132
|
Requires-Dist: tree-sitter-python<0.24,>=0.23.6; extra == 'all'
|
|
133
133
|
Requires-Dist: tree-sitter<0.24,>=0.23.2; extra == 'all'
|
|
@@ -191,7 +191,7 @@ Requires-Dist: ipykernel<7,>=6.0.0; extra == 'dev-tools'
|
|
|
191
191
|
Requires-Dist: jupyter-client<9,>=8.6.2; extra == 'dev-tools'
|
|
192
192
|
Requires-Dist: langfuse>=2.60.5; extra == 'dev-tools'
|
|
193
193
|
Requires-Dist: mcp>=1.3.0; extra == 'dev-tools'
|
|
194
|
-
Requires-Dist: traceroot==0.0.
|
|
194
|
+
Requires-Dist: traceroot==0.0.3; extra == 'dev-tools'
|
|
195
195
|
Requires-Dist: tree-sitter-python<0.24,>=0.23.6; extra == 'dev-tools'
|
|
196
196
|
Requires-Dist: tree-sitter<0.24,>=0.23.2; extra == 'dev-tools'
|
|
197
197
|
Requires-Dist: typer>=0.15.2; extra == 'dev-tools'
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
camel/__init__.py,sha256=
|
|
1
|
+
camel/__init__.py,sha256=oUT4aFlY7oLE0uiLwy27soTCR0nroQM7pxRzeU3iGKQ,902
|
|
2
2
|
camel/generators.py,sha256=JRqj9_m1PF4qT6UtybzTQ-KBT9MJQt18OAAYvQ_fr2o,13844
|
|
3
3
|
camel/human.py,sha256=Xg8x1cS5KK4bQ1SDByiHZnzsRpvRP-KZViNvmu38xo4,5475
|
|
4
4
|
camel/logger.py,sha256=WgEwael_eT6D-lVAKHpKIpwXSTjvLbny5jbV1Ab8lnA,5760
|
|
@@ -7,7 +7,7 @@ camel/agents/__init__.py,sha256=64weKqdvmpZcGWyVkO-OKASAmVUdrQjv60JApgPk_SA,1644
|
|
|
7
7
|
camel/agents/_types.py,sha256=MeFZzay2kJA6evALQ-MbBTKW-0lu_0wBuKsxzH_4gWI,1552
|
|
8
8
|
camel/agents/_utils.py,sha256=AR7Qqgbkmn4X2edYUQf1rdksGUyV5hm3iK1z-Dn0Mcg,6266
|
|
9
9
|
camel/agents/base.py,sha256=c4bJYL3G3Z41SaFdMPMn8ZjLdFiFaVOFO6EQIfuCVR8,1124
|
|
10
|
-
camel/agents/chat_agent.py,sha256=
|
|
10
|
+
camel/agents/chat_agent.py,sha256=gF-Wq1YSL5C4_9pp9SN4jdfLrzF-d3xi51PnskQyi7k,159299
|
|
11
11
|
camel/agents/critic_agent.py,sha256=L6cTbYjyZB0DCa51tQ6LZLA6my8kHLC4nktHySH78H4,10433
|
|
12
12
|
camel/agents/deductive_reasoner_agent.py,sha256=6BZGaq1hR6hKJuQtOfoYQnk_AkZpw_Mr7mUy2MspQgs,13540
|
|
13
13
|
camel/agents/embodied_agent.py,sha256=XBxBu5ZMmSJ4B2U3Z7SMwvLlgp6yNpaBe8HNQmY9CZA,7536
|
|
@@ -180,7 +180,7 @@ camel/models/aws_bedrock_model.py,sha256=bcQBiHVdVuJXyPEkSdymQlGx2zHIVj5d4ouFuF8
|
|
|
180
180
|
camel/models/azure_openai_model.py,sha256=-hnzGlV8NJAzR9wVfhe-YDazbGU43ECtw6_uFICKnPU,18393
|
|
181
181
|
camel/models/base_audio_model.py,sha256=_VUWh1L3rh8mldNvM5R6jBOKtvmTeBKJyRxAdPJmPlY,3324
|
|
182
182
|
camel/models/base_model.py,sha256=NouoYjMPo2K6KmKCIeU7smyEFnDkqnLL71Dh9SyJoa4,19486
|
|
183
|
-
camel/models/cohere_model.py,sha256=
|
|
183
|
+
camel/models/cohere_model.py,sha256=6KvYnYxoBZ8kLMmRp5wcJisY65KhCTl6kiG1W3xOkJQ,17292
|
|
184
184
|
camel/models/crynux_model.py,sha256=leEiFz1RcRtVJLJvYt_Ydyg5jkSk3VEJphgmHFz67bw,4118
|
|
185
185
|
camel/models/deepseek_model.py,sha256=MXOdmpFQFbxpgh5DiTETzx3qDFUkKiFjnEjTMDeWk2k,11015
|
|
186
186
|
camel/models/fish_audio_model.py,sha256=RCwORRIdCbjZXWWjjctpksPI2DnS0b68JjxunHBQ1xk,5981
|
|
@@ -193,7 +193,7 @@ camel/models/mistral_model.py,sha256=ipOVPk2boGqyGAypgKeQ9syaP0znKFQQSOqeVtockjk
|
|
|
193
193
|
camel/models/model_factory.py,sha256=8b-LEXovPnpmD3GFKOdbtcgjCwpa91IPCJxikPxhdMs,12114
|
|
194
194
|
camel/models/model_manager.py,sha256=ln3bCV_QWM3V5BrwKwjmxIeRN8ojIvPEBMMHun0MliU,9942
|
|
195
195
|
camel/models/modelscope_model.py,sha256=meO7KCAwZtHpUVgwtuKe0j4jYh0IWsxa8e3mwyhGLvg,10804
|
|
196
|
-
camel/models/moonshot_model.py,sha256=
|
|
196
|
+
camel/models/moonshot_model.py,sha256=BNkKcEPMieMZwClRT4w-D4crZ5Ovs8tLdK5Kxm41hWg,6465
|
|
197
197
|
camel/models/nemotron_model.py,sha256=PzRuQoAEmBRZ2wcotQ8-MRz5wYachKa_CUNenMQg-3U,3091
|
|
198
198
|
camel/models/netmind_model.py,sha256=YKHfntqsKqBxfh6qryn4L7CzHOIAYtyPXwJNK6NxNi4,4276
|
|
199
199
|
camel/models/novita_model.py,sha256=V-g0Wrf1Zh1il6oPKh1LVy_U0nveOwJq9YBVzGp4GOI,4238
|
|
@@ -273,14 +273,14 @@ camel/societies/babyagi_playing.py,sha256=KbTdpHfZ2V8AripVck0bNTOyF-RSaMPCRARz3D
|
|
|
273
273
|
camel/societies/role_playing.py,sha256=0XScr3WfxX1QOC71RhBLmrcS5y2c7DMQB_mAFOHU34M,31421
|
|
274
274
|
camel/societies/workforce/__init__.py,sha256=bkTI-PE-MSK9AQ2V2gR6cR2WY-R7Jqy_NmXRtAoqo8o,920
|
|
275
275
|
camel/societies/workforce/base.py,sha256=z2DmbTP5LL5-aCAAqglznQqCLfPmnyM5zD3w6jjtsb8,2175
|
|
276
|
-
camel/societies/workforce/prompts.py,sha256=
|
|
277
|
-
camel/societies/workforce/role_playing_worker.py,sha256=
|
|
276
|
+
camel/societies/workforce/prompts.py,sha256=CYTkUJOYr3lcQAVAUAeKa_R-oyQHl5aECOkriMcXmjM,16518
|
|
277
|
+
camel/societies/workforce/role_playing_worker.py,sha256=Zm89lZTlV0T3o9C-DJ0HAV68Iq2Kdg8QqJRWs1TV9_A,10320
|
|
278
278
|
camel/societies/workforce/single_agent_worker.py,sha256=fXgAEkDMhvTd-nbwy5Gw3BOaRAiPsL8mf3AW1aaNqKU,19342
|
|
279
279
|
camel/societies/workforce/structured_output_handler.py,sha256=xr8szFN86hg3jQ825aEkJTjkSFQnTlbinVg4j1vZJVI,17870
|
|
280
280
|
camel/societies/workforce/task_channel.py,sha256=GWHaGQBpjTzdKbWoBYAQzzAiLKRKRXa6beqtc4cg-Is,7611
|
|
281
281
|
camel/societies/workforce/utils.py,sha256=THgNHSeZsNVnjTzQTur3qCJhi72MrDS8X2gPET174cI,8434
|
|
282
|
-
camel/societies/workforce/worker.py,sha256=
|
|
283
|
-
camel/societies/workforce/workforce.py,sha256=
|
|
282
|
+
camel/societies/workforce/worker.py,sha256=MtUqYkTC9V-PIIRwSkKiB9w_YSu92iOpoha2rktEiQ0,6248
|
|
283
|
+
camel/societies/workforce/workforce.py,sha256=bu6RAtDRM50C1mu5P6qeAPAsMmKI9bp8082NzYSC11s,139558
|
|
284
284
|
camel/societies/workforce/workforce_logger.py,sha256=0YT__ys48Bgn0IICKIZBmSWhON-eA1KShebjCdn5ppE,24525
|
|
285
285
|
camel/storages/__init__.py,sha256=RwpEyvxpMbJzVDZJJygeBg4AzyYMkTjjkfB53hTuqGo,2141
|
|
286
286
|
camel/storages/graph_storages/__init__.py,sha256=G29BNn651C0WTOpjCl4QnVM-4B9tcNh8DdmsCiONH8Y,948
|
|
@@ -310,7 +310,7 @@ camel/storages/vectordb_storages/qdrant.py,sha256=a_cT0buSCHQ2CPZy852-mdvMDwy5zo
|
|
|
310
310
|
camel/storages/vectordb_storages/tidb.py,sha256=w83bxgKgso43MtHqlpf2EMSpn1_Nz6ZZtY4fPw_-vgs,11192
|
|
311
311
|
camel/storages/vectordb_storages/weaviate.py,sha256=wDUE4KvfmOl3DqHFU4uF0VKbHu-q9vKhZDe8FZ6QXsk,27888
|
|
312
312
|
camel/tasks/__init__.py,sha256=MuHwkw5GRQc8NOCzj8tjtBrr2Xg9KrcKp-ed_-2ZGIM,906
|
|
313
|
-
camel/tasks/task.py,sha256=
|
|
313
|
+
camel/tasks/task.py,sha256=TZ0h9L_yKuJ3lxs8c8YUNVCZLWJChoy03Z8WXy1i6pc,24212
|
|
314
314
|
camel/tasks/task_prompt.py,sha256=3KZmKYKUPcTKe8EAZOZBN3G05JHRVt7oHY9ORzLVu1g,2150
|
|
315
315
|
camel/terminators/__init__.py,sha256=t8uqrkUnXEOYMXQDgaBkMFJ0EXFKI0kmx4cUimli3Ls,991
|
|
316
316
|
camel/terminators/base.py,sha256=xmJzERX7GdSXcxZjAHHODa0rOxRChMSRboDCNHWSscs,1511
|
|
@@ -333,7 +333,7 @@ camel/toolkits/data_commons_toolkit.py,sha256=aHZUSL1ACpnYGaf1rE2csVKTmXTmN8lMGR
|
|
|
333
333
|
camel/toolkits/edgeone_pages_mcp_toolkit.py,sha256=1TFpAGHUNLggFQeN1OEw7P5laijwnlrCkfxBtgxFuUY,2331
|
|
334
334
|
camel/toolkits/excel_toolkit.py,sha256=9Uk5GLWl719c4W-NcGPJTNMtodAbEE5gUgLsFkIInbk,32564
|
|
335
335
|
camel/toolkits/file_write_toolkit.py,sha256=d8N8FfmK1fS13sY58PPhJh6M0vq6yh-s1-ltCZQJObg,37044
|
|
336
|
-
camel/toolkits/function_tool.py,sha256=
|
|
336
|
+
camel/toolkits/function_tool.py,sha256=3_hE-Khqf556CeebchsPpjIDCynC6vKmUJLdh1EO_js,34295
|
|
337
337
|
camel/toolkits/github_toolkit.py,sha256=iUyRrjWGAW_iljZVfNyfkm1Vi55wJxK6PsDAQs9pOag,13099
|
|
338
338
|
camel/toolkits/google_calendar_toolkit.py,sha256=E-sdgdbtNBs_CXbhht9t1dsVr4DsTr5NguHkx4fvSmc,15410
|
|
339
339
|
camel/toolkits/google_drive_mcp_toolkit.py,sha256=NubrRdPV8_t8bM4vP-7eKSVMuVwSEBXLfubWR_Hba7k,2583
|
|
@@ -366,10 +366,10 @@ camel/toolkits/pulse_mcp_search_toolkit.py,sha256=uLUpm19uC_4xLJow0gGVS9f-5T5EW2
|
|
|
366
366
|
camel/toolkits/pyautogui_toolkit.py,sha256=Q810fm8cFvElRory7B74aqS2YV6BOpdRE6jkewoM8xc,16093
|
|
367
367
|
camel/toolkits/reddit_toolkit.py,sha256=x0XAT1zQJVNHUr1R1HwWCgIlkamU-kPmbfb_H1WIv-w,8036
|
|
368
368
|
camel/toolkits/retrieval_toolkit.py,sha256=BKjEyOqW3cGEPTS5yHPYb-Qg795iNNPIs1wjowfuq3U,3825
|
|
369
|
-
camel/toolkits/search_toolkit.py,sha256=
|
|
369
|
+
camel/toolkits/search_toolkit.py,sha256=FyIL85qfeTiDCmDD-9H8tnhiRY1ZmnGlkZiW5uRcSR4,44884
|
|
370
370
|
camel/toolkits/searxng_toolkit.py,sha256=a2GtE4FGSrmaIVvX6Yide-abBYD1wsHqitnDlx9fdVg,7664
|
|
371
371
|
camel/toolkits/semantic_scholar_toolkit.py,sha256=Rh7eA_YPxV5pvPIzhjjvpr3vtlaCniJicrqzkPWW9_I,11634
|
|
372
|
-
camel/toolkits/slack_toolkit.py,sha256=
|
|
372
|
+
camel/toolkits/slack_toolkit.py,sha256=ZT6Ndlce2qjGsyZaNMfQ54nSEi7DOC9Ro7YqtK-u5O4,11651
|
|
373
373
|
camel/toolkits/stripe_toolkit.py,sha256=07swo5znGTnorafC1uYLKB4NRcJIOPOx19J7tkpLYWk,10102
|
|
374
374
|
camel/toolkits/sympy_toolkit.py,sha256=BAQnI8EFJydNUpKQWXBdleQ1Cm-srDBhFlqp9V9pbPQ,33757
|
|
375
375
|
camel/toolkits/task_planning_toolkit.py,sha256=Ttw9fHae4omGC1SA-6uaeXVHJ1YkwiVloz_hO-fm1gw,4855
|
|
@@ -387,10 +387,10 @@ camel/toolkits/hybrid_browser_toolkit/actions.py,sha256=x6X-kEdQx3K1ID-BBwdQEciX
|
|
|
387
387
|
camel/toolkits/hybrid_browser_toolkit/agent.py,sha256=0ifwhYUDJ5GLxfdpC5KquPaW1a0QBAutp2Y9y0YFujw,11685
|
|
388
388
|
camel/toolkits/hybrid_browser_toolkit/browser_session.py,sha256=LdXjF4eBFuqoRnbPU0ErBtR5wtbcv3cv-hBXtiDkgMg,27102
|
|
389
389
|
camel/toolkits/hybrid_browser_toolkit/config_loader.py,sha256=0zpDq3aFKEva2jc38kgLHnyxypIDk9SOcMjoP26tozo,15414
|
|
390
|
-
camel/toolkits/hybrid_browser_toolkit/hybrid_browser_toolkit.py,sha256=
|
|
390
|
+
camel/toolkits/hybrid_browser_toolkit/hybrid_browser_toolkit.py,sha256=5rrwj7H3qKoSUaDBPozWxcGqbdCInUrhhDTPZ6O7ZBU,77550
|
|
391
391
|
camel/toolkits/hybrid_browser_toolkit/snapshot.py,sha256=3vQaFK5C1P8WnkK2eDMaFOizrZf4uUAW0LxdeoF4F2w,8539
|
|
392
392
|
camel/toolkits/hybrid_browser_toolkit/stealth_script.js,sha256=z4XRSVUpAS87Sj36s3bY8XXhvRcHBlgsUOyMxV2HI80,27650
|
|
393
|
-
camel/toolkits/hybrid_browser_toolkit/unified_analyzer.js,sha256=
|
|
393
|
+
camel/toolkits/hybrid_browser_toolkit/unified_analyzer.js,sha256=VnzIn0KcEtxuncJi-OPZzdWbLSeSHCH-7sviFAGNM8g,40823
|
|
394
394
|
camel/toolkits/open_api_specs/security_config.py,sha256=ZVnBa_zEifaE_ao2xsvV5majuJHpn2Tn7feMDOnj-eo,898
|
|
395
395
|
camel/toolkits/open_api_specs/biztoc/__init__.py,sha256=OKCZrQCDwaWtXIN_2rA9FSqEvgpQRieRoHh7Ek6N16A,702
|
|
396
396
|
camel/toolkits/open_api_specs/biztoc/ai-plugin.json,sha256=IJinQbLv5MFPGFwdN7PbOhwArFVExSEZdJspe-mOBIo,866
|
|
@@ -417,7 +417,7 @@ camel/toolkits/open_api_specs/web_scraper/openapi.yaml,sha256=u_WalQ01e8W1D27VnZ
|
|
|
417
417
|
camel/toolkits/open_api_specs/web_scraper/paths/__init__.py,sha256=OKCZrQCDwaWtXIN_2rA9FSqEvgpQRieRoHh7Ek6N16A,702
|
|
418
418
|
camel/toolkits/open_api_specs/web_scraper/paths/scraper.py,sha256=aWy1_ppV4NVVEZfnbN3tu9XA9yAPAC9bRStJ5JuXMRU,1117
|
|
419
419
|
camel/types/__init__.py,sha256=pFTg3CWGSCfwFdoxPDTf4dKV8DdJS1x-bBPuEOmtdf0,2549
|
|
420
|
-
camel/types/enums.py,sha256=
|
|
420
|
+
camel/types/enums.py,sha256=qEPE2r4Np7JgJqSsZmM0SNQ8_hy19aeCn5da3pK93so,62948
|
|
421
421
|
camel/types/mcp_registries.py,sha256=dl4LgYtSaUhsqAKpz28k_SA9La11qxqBvDLaEuyzrFE,4971
|
|
422
422
|
camel/types/openai_types.py,sha256=8ZFzLe-zGmKNPfuVZFzxlxAX98lGf18gtrPhOgMmzus,2104
|
|
423
423
|
camel/types/unified_model_type.py,sha256=ZweHiS4MQ1QbDEX3a3oUc-pvgueYP27Zt0SlAPcYg_4,5623
|
|
@@ -435,7 +435,7 @@ camel/utils/mcp_client.py,sha256=-EIUj6v2hXB75Xvj2FyEedwUMEpUUVXzXWNLLYGrJfE,373
|
|
|
435
435
|
camel/utils/message_summarizer.py,sha256=7AvPDlevle5uU3mXtfvSFS--nDjp9yqfrf546qTe9rE,5939
|
|
436
436
|
camel/utils/response_format.py,sha256=xZcx6xBxeg3A0e7R0JCMJdNm2oQ1-diqVLs0JsiCkZU,5319
|
|
437
437
|
camel/utils/token_counting.py,sha256=apkERzNoVc4sgvJvWVosvepX3KH8pVypVjrL4AA7RB4,17521
|
|
438
|
-
camel/utils/tool_result.py,sha256=
|
|
438
|
+
camel/utils/tool_result.py,sha256=0dKMb22cwuxnjeO4K9wbM4gwwPHV1yfoSJquLTUJVXs,1813
|
|
439
439
|
camel/utils/chunker/__init__.py,sha256=6iN6HL6sblIjDuJTILk-9qKcHBZ97t8b6tZCWPZ0OYI,899
|
|
440
440
|
camel/utils/chunker/base.py,sha256=9CuqymFCRncyAdEST-IcRonB732YAPhusznqH-RES3E,960
|
|
441
441
|
camel/utils/chunker/code_chunker.py,sha256=9h4rd39H9ngbOWAjd_12xt-EzVMh0e_fZnC4my8h_Jg,6823
|
|
@@ -446,7 +446,7 @@ camel/verifiers/math_verifier.py,sha256=tA1D4S0sm8nsWISevxSN0hvSVtIUpqmJhzqfbuMo
|
|
|
446
446
|
camel/verifiers/models.py,sha256=GdxYPr7UxNrR1577yW4kyroRcLGfd-H1GXgv8potDWU,2471
|
|
447
447
|
camel/verifiers/physics_verifier.py,sha256=c1grrRddcrVN7szkxhv2QirwY9viIRSITWeWFF5HmLs,30187
|
|
448
448
|
camel/verifiers/python_verifier.py,sha256=ogTz77wODfEcDN4tMVtiSkRQyoiZbHPY2fKybn59lHw,20558
|
|
449
|
-
camel_ai-0.2.
|
|
450
|
-
camel_ai-0.2.
|
|
451
|
-
camel_ai-0.2.
|
|
452
|
-
camel_ai-0.2.
|
|
449
|
+
camel_ai-0.2.71a12.dist-info/METADATA,sha256=mzylMnRqVIeUBQcBvV7jR6CYS3zVtdkOus7lv-_pU9k,49999
|
|
450
|
+
camel_ai-0.2.71a12.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
451
|
+
camel_ai-0.2.71a12.dist-info/licenses/LICENSE,sha256=id0nB2my5kG0xXeimIu5zZrbHLS6EQvxvkKkzIHaT2k,11343
|
|
452
|
+
camel_ai-0.2.71a12.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|