camel-ai 0.2.19__py3-none-any.whl → 0.2.20__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 +29 -30
- camel/agents/knowledge_graph_agent.py +1 -5
- camel/benchmarks/apibench.py +1 -5
- camel/benchmarks/nexus.py +1 -5
- camel/benchmarks/ragbench.py +2 -2
- camel/bots/telegram_bot.py +1 -5
- camel/configs/__init__.py +9 -0
- camel/configs/aiml_config.py +80 -0
- camel/configs/moonshot_config.py +63 -0
- camel/configs/siliconflow_config.py +91 -0
- camel/datagen/__init__.py +3 -1
- camel/datagen/self_improving_cot.py +821 -0
- camel/datahubs/huggingface.py +3 -3
- camel/embeddings/jina_embedding.py +6 -1
- camel/models/__init__.py +4 -0
- camel/models/aiml_model.py +147 -0
- camel/models/model_factory.py +9 -0
- camel/models/moonshot_model.py +138 -0
- camel/models/siliconflow_model.py +142 -0
- camel/societies/workforce/role_playing_worker.py +2 -4
- camel/societies/workforce/single_agent_worker.py +1 -6
- camel/societies/workforce/workforce.py +3 -9
- camel/toolkits/__init__.py +4 -0
- camel/toolkits/reddit_toolkit.py +8 -38
- camel/toolkits/search_toolkit.py +12 -0
- camel/toolkits/semantic_scholar_toolkit.py +308 -0
- camel/toolkits/sympy_toolkit.py +778 -0
- camel/toolkits/whatsapp_toolkit.py +11 -32
- camel/types/enums.py +137 -6
- camel/types/unified_model_type.py +5 -0
- camel/utils/__init__.py +7 -2
- camel/utils/commons.py +198 -21
- camel/utils/deduplication.py +199 -0
- camel/utils/token_counting.py +0 -38
- {camel_ai-0.2.19.dist-info → camel_ai-0.2.20.dist-info}/METADATA +13 -11
- {camel_ai-0.2.19.dist-info → camel_ai-0.2.20.dist-info}/RECORD +40 -30
- /camel/datagen/{cotdatagen.py → cot_datagen.py} +0 -0
- {camel_ai-0.2.19.dist-info → camel_ai-0.2.20.dist-info}/LICENSE +0 -0
- {camel_ai-0.2.19.dist-info → camel_ai-0.2.20.dist-info}/WHEEL +0 -0
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
# ========= Copyright 2023-2024 @ CAMEL-AI.org. All Rights Reserved. =========
|
|
2
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
3
|
+
# you may not use this file except in compliance with the License.
|
|
4
|
+
# You may obtain a copy of the License at
|
|
5
|
+
#
|
|
6
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
7
|
+
#
|
|
8
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
9
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
10
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
11
|
+
# See the License for the specific language governing permissions and
|
|
12
|
+
# limitations under the License.
|
|
13
|
+
# ========= Copyright 2023-2024 @ CAMEL-AI.org. All Rights Reserved. =========
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
from typing import Dict, List, Literal, Optional
|
|
17
|
+
|
|
18
|
+
import numpy as np
|
|
19
|
+
from pydantic import BaseModel
|
|
20
|
+
from sklearn.metrics.pairwise import cosine_similarity
|
|
21
|
+
|
|
22
|
+
from camel.embeddings.base import BaseEmbedding
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class DeduplicationResult(BaseModel):
|
|
26
|
+
"""
|
|
27
|
+
The result of deduplication.
|
|
28
|
+
|
|
29
|
+
Attributes:
|
|
30
|
+
original_texts (List[str]): The original texts.
|
|
31
|
+
unique_ids (List[int]): A list of ids that are unique (not duplicates).
|
|
32
|
+
unique_embeddings_dict (Dict[int, List[float]]):
|
|
33
|
+
A mapping from the index of each unique text to its embedding.
|
|
34
|
+
duplicate_to_target_map (Dict[int, int]):
|
|
35
|
+
A mapping from the index of the duplicate text to the index
|
|
36
|
+
of the text it is considered a duplicate of.
|
|
37
|
+
"""
|
|
38
|
+
|
|
39
|
+
original_texts: List[str]
|
|
40
|
+
unique_ids: List[int]
|
|
41
|
+
unique_embeddings_dict: Dict[int, List[float]]
|
|
42
|
+
duplicate_to_target_map: Dict[int, int]
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
def deduplicate_internally(
|
|
46
|
+
texts: List[str],
|
|
47
|
+
threshold: float = 0.65,
|
|
48
|
+
embedding_instance: Optional[BaseEmbedding[str]] = None,
|
|
49
|
+
embeddings: Optional[List[List[float]]] = None,
|
|
50
|
+
strategy: Literal["top1", "llm-supervise"] = "top1",
|
|
51
|
+
) -> DeduplicationResult:
|
|
52
|
+
"""
|
|
53
|
+
Deduplicate a list of strings based on their cosine similarity.
|
|
54
|
+
|
|
55
|
+
You can either:
|
|
56
|
+
1) Provide a Camel `BaseEmbedding` instance via `embedding_instance` to let
|
|
57
|
+
this function handle the embedding internally, OR
|
|
58
|
+
2) Directly pass a list of pre-computed embeddings to `embeddings`.
|
|
59
|
+
|
|
60
|
+
If both `embedding_instance` and `embeddings` are provided, the function
|
|
61
|
+
will raise a ValueError to avoid ambiguous usage.
|
|
62
|
+
|
|
63
|
+
strategy is used to specify different strategies, where 'top1' selects the
|
|
64
|
+
one with highest similarity, and 'llm-supervise' uses LLM to determine if
|
|
65
|
+
texts are duplicates (not yet implemented).
|
|
66
|
+
|
|
67
|
+
Args:
|
|
68
|
+
texts (List[str]): The list of texts to be deduplicated.
|
|
69
|
+
threshold (float, optional): The similarity threshold for considering
|
|
70
|
+
two texts as duplicates. Default is 0.65.
|
|
71
|
+
embedding_instance (Optional[BaseEmbedding[str]], optional):
|
|
72
|
+
A Camel embedding instance for automatic embedding. Defaults to
|
|
73
|
+
None.
|
|
74
|
+
embeddings (Optional[List[List[float]]], optional):
|
|
75
|
+
Pre-computed embeddings of `texts`. Each element in the list
|
|
76
|
+
corresponds to the embedding of the text in the same index of
|
|
77
|
+
`texts`. Defaults to None.
|
|
78
|
+
strategy (Literal["top1", "llm-supervise"], optional):
|
|
79
|
+
The strategy to use for deduplication. Defaults to "top1".
|
|
80
|
+
|
|
81
|
+
Returns:
|
|
82
|
+
DeduplicationResult: An object that contains:
|
|
83
|
+
- `original_texts`: The original texts.
|
|
84
|
+
- `unique_ids`: The unique ids after deduplication.
|
|
85
|
+
- `unique_embeddings_dict`: A dict mapping from (unique) text id
|
|
86
|
+
to its embedding.
|
|
87
|
+
- `duplicate_to_target_map`: A dict mapping from the id of a
|
|
88
|
+
duplicate text to the id of the text it is considered a duplicate
|
|
89
|
+
of.
|
|
90
|
+
|
|
91
|
+
Raises:
|
|
92
|
+
NotImplementedError: If the strategy is not "top1".
|
|
93
|
+
ValueError: If neither embeddings nor embedding_instance is provided,
|
|
94
|
+
or if both are provided at the same time.
|
|
95
|
+
ValueError: If the length of `embeddings` does not match the length of
|
|
96
|
+
`texts`.
|
|
97
|
+
|
|
98
|
+
Example:
|
|
99
|
+
>>> from camel.embeddings.openai_embedding import OpenAIEmbedding
|
|
100
|
+
>>> # Suppose we have 5 texts, some of which may be duplicates
|
|
101
|
+
>>> texts = [
|
|
102
|
+
... "What is AI?",
|
|
103
|
+
... "Artificial Intelligence is about machines",
|
|
104
|
+
... "What is AI?",
|
|
105
|
+
... "Deep Learning is a subset of AI",
|
|
106
|
+
... "What is artificial intelligence?"
|
|
107
|
+
... ]
|
|
108
|
+
>>> # or any other BaseEmbedding instance
|
|
109
|
+
>>> embedding_model = OpenAIEmbedding()
|
|
110
|
+
>>> result = deduplicate_internally(
|
|
111
|
+
... texts=texts,
|
|
112
|
+
... threshold=0.7,
|
|
113
|
+
... embedding_instance=embedding_model
|
|
114
|
+
... )
|
|
115
|
+
>>> print("Unique ids:")
|
|
116
|
+
>>> for uid in result.unique_ids:
|
|
117
|
+
... print(texts[uid])
|
|
118
|
+
Unique ids:
|
|
119
|
+
What is AI?
|
|
120
|
+
Artificial Intelligence is about machines
|
|
121
|
+
Deep Learning is a subset of AI
|
|
122
|
+
What is artificial intelligence?
|
|
123
|
+
|
|
124
|
+
>>> print("Duplicate map:")
|
|
125
|
+
>>> print(result.duplicate_to_target_map)
|
|
126
|
+
{2: 0}
|
|
127
|
+
# This indicates the text at index 2 is considered
|
|
128
|
+
# a duplicate of index 0.
|
|
129
|
+
"""
|
|
130
|
+
if strategy == "llm-supervise":
|
|
131
|
+
# TODO: Implement LLM-supervise deduplication.
|
|
132
|
+
raise NotImplementedError(
|
|
133
|
+
"LLM-supervise deduplication is not yet implemented."
|
|
134
|
+
)
|
|
135
|
+
|
|
136
|
+
# Check if the parameters are valid.
|
|
137
|
+
if embedding_instance is None and embeddings is None:
|
|
138
|
+
raise ValueError(
|
|
139
|
+
"Either 'embedding_instance' or 'embeddings' must be provided."
|
|
140
|
+
)
|
|
141
|
+
if embedding_instance is not None and embeddings is not None:
|
|
142
|
+
raise ValueError(
|
|
143
|
+
"Cannot provide both 'embedding_instance' and 'embeddings'. "
|
|
144
|
+
"Please choose only one way to supply embeddings."
|
|
145
|
+
)
|
|
146
|
+
|
|
147
|
+
if embedding_instance is not None:
|
|
148
|
+
# Use Camel's embedding_instance to vectorize.
|
|
149
|
+
embeddings = embedding_instance.embed_list(texts)
|
|
150
|
+
else:
|
|
151
|
+
# Use pre-supplied embeddings.
|
|
152
|
+
if embeddings and len(embeddings) != len(texts):
|
|
153
|
+
raise ValueError(
|
|
154
|
+
"The length of 'embeddings' does not match the length "
|
|
155
|
+
"of 'texts'."
|
|
156
|
+
)
|
|
157
|
+
|
|
158
|
+
# Calculate cosine similarity.
|
|
159
|
+
similarity_matrix = cosine_similarity(embeddings)
|
|
160
|
+
n = len(texts)
|
|
161
|
+
|
|
162
|
+
# Use the lower triangle to avoid redundant comparisons
|
|
163
|
+
# (or self-comparisons).
|
|
164
|
+
tril_mask = np.tril(np.ones((n, n)), k=-1)
|
|
165
|
+
similarity_matrix = similarity_matrix * tril_mask
|
|
166
|
+
|
|
167
|
+
# For each row, find the column with the highest similarity
|
|
168
|
+
# that exceeds the threshold. If no similarity exceeds the threshold,
|
|
169
|
+
# set the column index to -1.
|
|
170
|
+
masked_similarities = np.where(
|
|
171
|
+
similarity_matrix > threshold, similarity_matrix, -1
|
|
172
|
+
)
|
|
173
|
+
max_indices = masked_similarities.argmax(axis=1)
|
|
174
|
+
|
|
175
|
+
duplicate_to_target_map: Dict[int, int] = {}
|
|
176
|
+
above_threshold = similarity_matrix[np.arange(n), max_indices] > threshold
|
|
177
|
+
|
|
178
|
+
# Construct the "duplicate->target" mapping.
|
|
179
|
+
for i in range(n):
|
|
180
|
+
if above_threshold[i]:
|
|
181
|
+
duplicate_to_target_map[i] = max_indices[i]
|
|
182
|
+
|
|
183
|
+
# Get the actual unique ids and embeddings.
|
|
184
|
+
unique_ids = []
|
|
185
|
+
unique_embeddings_dict = {}
|
|
186
|
+
|
|
187
|
+
assert embeddings, "embeddings must be valid"
|
|
188
|
+
|
|
189
|
+
for i, (_, emb) in enumerate(zip(texts, embeddings)):
|
|
190
|
+
if i not in duplicate_to_target_map:
|
|
191
|
+
unique_ids.append(i)
|
|
192
|
+
unique_embeddings_dict[i] = emb
|
|
193
|
+
|
|
194
|
+
return DeduplicationResult(
|
|
195
|
+
original_texts=texts,
|
|
196
|
+
unique_ids=unique_ids,
|
|
197
|
+
unique_embeddings_dict=unique_embeddings_dict,
|
|
198
|
+
duplicate_to_target_map=duplicate_to_target_map,
|
|
199
|
+
)
|
camel/utils/token_counting.py
CHANGED
|
@@ -267,44 +267,6 @@ class AnthropicTokenCounter(BaseTokenCounter):
|
|
|
267
267
|
).input_tokens
|
|
268
268
|
|
|
269
269
|
|
|
270
|
-
class GeminiTokenCounter(BaseTokenCounter):
|
|
271
|
-
def __init__(self, model_type: UnifiedModelType):
|
|
272
|
-
r"""Constructor for the token counter for Gemini models.
|
|
273
|
-
|
|
274
|
-
Args:
|
|
275
|
-
model_type (UnifiedModelType): Model type for which tokens will be
|
|
276
|
-
counted.
|
|
277
|
-
"""
|
|
278
|
-
import google.generativeai as genai
|
|
279
|
-
|
|
280
|
-
self._client = genai.GenerativeModel(model_type)
|
|
281
|
-
|
|
282
|
-
def count_tokens_from_messages(self, messages: List[OpenAIMessage]) -> int:
|
|
283
|
-
r"""Count number of tokens in the provided message list using
|
|
284
|
-
loaded tokenizer specific for this type of model.
|
|
285
|
-
|
|
286
|
-
Args:
|
|
287
|
-
messages (List[OpenAIMessage]): Message list with the chat history
|
|
288
|
-
in OpenAI API format.
|
|
289
|
-
|
|
290
|
-
Returns:
|
|
291
|
-
int: Number of tokens in the messages.
|
|
292
|
-
"""
|
|
293
|
-
converted_messages = []
|
|
294
|
-
for message in messages:
|
|
295
|
-
role = message.get('role')
|
|
296
|
-
if role == 'assistant':
|
|
297
|
-
role_to_gemini = 'model'
|
|
298
|
-
else:
|
|
299
|
-
role_to_gemini = 'user'
|
|
300
|
-
converted_message = {
|
|
301
|
-
"role": role_to_gemini,
|
|
302
|
-
"parts": message.get("content"),
|
|
303
|
-
}
|
|
304
|
-
converted_messages.append(converted_message)
|
|
305
|
-
return self._client.count_tokens(converted_messages).total_tokens
|
|
306
|
-
|
|
307
|
-
|
|
308
270
|
class LiteLLMTokenCounter(BaseTokenCounter):
|
|
309
271
|
def __init__(self, model_type: UnifiedModelType):
|
|
310
272
|
r"""Constructor for the token counter for LiteLLM models.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: camel-ai
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.20
|
|
4
4
|
Summary: Communicative Agents for AI Society Study
|
|
5
5
|
License: Apache-2.0
|
|
6
6
|
Keywords: communicative-ai,ai-societies,artificial-intelligence,deep-learning,multi-agent-systems,cooperative-ai,natural-language-processing,large-language-models
|
|
@@ -37,7 +37,7 @@ Requires-Dist: azure-storage-blob (>=12.21.0,<13.0.0) ; extra == "storage" or ex
|
|
|
37
37
|
Requires-Dist: beautifulsoup4 (>=4,<5) ; extra == "document-tools" or extra == "all"
|
|
38
38
|
Requires-Dist: botocore (>=1.35.3,<2.0.0) ; extra == "storage" or extra == "all"
|
|
39
39
|
Requires-Dist: cohere (>=5.11.0,<6.0.0) ; extra == "rag" or extra == "model-platforms" or extra == "all"
|
|
40
|
-
Requires-Dist: colorama (>=0,<
|
|
40
|
+
Requires-Dist: colorama (>=0.4.6,<0.5.0)
|
|
41
41
|
Requires-Dist: curl_cffi (==0.6.2)
|
|
42
42
|
Requires-Dist: dappier (>=0.3.3,<0.4.0) ; extra == "web-tools" or extra == "all"
|
|
43
43
|
Requires-Dist: datacommons (>=1.4.3,<2.0.0) ; extra == "data-tools" or extra == "all"
|
|
@@ -55,7 +55,6 @@ Requires-Dist: ffmpeg-python (>=0.2.0,<0.3.0) ; extra == "media-tools" or extra
|
|
|
55
55
|
Requires-Dist: firecrawl-py (>=1.0.0,<2.0.0) ; extra == "web-tools" or extra == "all"
|
|
56
56
|
Requires-Dist: fish-audio-sdk (>=2024.12.5,<2025.0.0) ; extra == "model-platforms" or extra == "all"
|
|
57
57
|
Requires-Dist: google-cloud-storage (>=2.18.0,<3.0.0) ; extra == "storage" or extra == "all"
|
|
58
|
-
Requires-Dist: google-generativeai (>=0.6.0,<0.7.0) ; extra == "model-platforms" or extra == "all"
|
|
59
58
|
Requires-Dist: googlemaps (>=4.10.0,<5.0.0) ; extra == "web-tools" or extra == "all"
|
|
60
59
|
Requires-Dist: httpx (>=0.23.0,<0.27.3)
|
|
61
60
|
Requires-Dist: imageio[pyav] (>=2.34.2,<3.0.0) ; extra == "media-tools" or extra == "all"
|
|
@@ -70,7 +69,7 @@ Requires-Dist: nebula3-python (==3.8.2) ; extra == "rag" or extra == "storage" o
|
|
|
70
69
|
Requires-Dist: neo4j (>=5.18.0,<6.0.0) ; extra == "rag" or extra == "storage" or extra == "all"
|
|
71
70
|
Requires-Dist: newspaper3k (>=0.2.8,<0.3.0) ; extra == "web-tools" or extra == "all"
|
|
72
71
|
Requires-Dist: notion-client (>=2.2.1,<3.0.0) ; extra == "communication-tools" or extra == "all"
|
|
73
|
-
Requires-Dist: numpy (>=1,<2)
|
|
72
|
+
Requires-Dist: numpy (>=1.26,<2.0)
|
|
74
73
|
Requires-Dist: openai (>=1.59.7,<2.0.0)
|
|
75
74
|
Requires-Dist: openapi-spec-validator (>=0.7.1,<0.8.0) ; extra == "document-tools" or extra == "all"
|
|
76
75
|
Requires-Dist: openbb (>=4.3.5,<5.0.0) ; extra == "data-tools" or extra == "all"
|
|
@@ -78,13 +77,13 @@ Requires-Dist: opencv-python (>=4,<5) ; extra == "huggingface" or extra == "all"
|
|
|
78
77
|
Requires-Dist: outlines (>=0.1.7,<0.2.0) ; extra == "all"
|
|
79
78
|
Requires-Dist: pandas (>=1.5.3,<2.0.0) ; extra == "data-tools" or extra == "all"
|
|
80
79
|
Requires-Dist: pandasai (>=2.3.0,<3.0.0) ; extra == "rag" or extra == "document-tools" or extra == "all"
|
|
81
|
-
Requires-Dist: pandoc
|
|
82
|
-
Requires-Dist: pathlib (>=1.0.1,<2.0.0)
|
|
80
|
+
Requires-Dist: pandoc (>=2.4,<3.0)
|
|
83
81
|
Requires-Dist: pdfplumber (>=0.11.0,<0.12.0) ; extra == "document-tools" or extra == "all"
|
|
84
82
|
Requires-Dist: pillow (>=10.1.0,<11.0.0) ; extra == "media-tools" or extra == "all"
|
|
85
83
|
Requires-Dist: prance (>=23.6.21.0,<24.0.0.0) ; extra == "document-tools" or extra == "all"
|
|
86
84
|
Requires-Dist: praw (>=7.7.1,<8.0.0) ; extra == "communication-tools" or extra == "all"
|
|
87
|
-
Requires-Dist: protobuf (>=
|
|
85
|
+
Requires-Dist: protobuf (>=5,<6)
|
|
86
|
+
Requires-Dist: psutil (>=5.9.8,<6.0.0)
|
|
88
87
|
Requires-Dist: pyTelegramBotAPI (>=4.18.0,<5.0.0) ; extra == "communication-tools" or extra == "all"
|
|
89
88
|
Requires-Dist: pydantic (>=1.9,<2.10)
|
|
90
89
|
Requires-Dist: pydub (>=0.25.1,<0.26.0) ; extra == "media-tools" or extra == "all"
|
|
@@ -95,7 +94,6 @@ Requires-Dist: pytest (>=7,<8) ; extra == "test"
|
|
|
95
94
|
Requires-Dist: pytest-asyncio (>=0.23.0,<0.24.0) ; extra == "test"
|
|
96
95
|
Requires-Dist: pyyaml (>=6.0.2,<7.0.0)
|
|
97
96
|
Requires-Dist: qdrant-client (>=1.9.0,<2.0.0) ; extra == "rag" or extra == "storage" or extra == "all"
|
|
98
|
-
Requires-Dist: ragas (<=0.1.6) ; extra == "all"
|
|
99
97
|
Requires-Dist: rank-bm25 (>=0.2.2,<0.3.0) ; extra == "rag" or extra == "all"
|
|
100
98
|
Requires-Dist: redis (>=5.0.6,<6.0.0) ; extra == "storage" or extra == "all"
|
|
101
99
|
Requires-Dist: reka-api (>=3.0.8,<4.0.0) ; extra == "model-platforms" or extra == "all"
|
|
@@ -103,12 +101,13 @@ Requires-Dist: requests_oauthlib (>=1.3.1,<2.0.0) ; extra == "web-tools" or extr
|
|
|
103
101
|
Requires-Dist: rouge (>=1.0.1,<2.0.0) ; extra == "data-tools" or extra == "all"
|
|
104
102
|
Requires-Dist: scholarly[tor] (==1.7.11) ; extra == "research-tools" or extra == "all"
|
|
105
103
|
Requires-Dist: sentence-transformers (>=3.0.1,<4.0.0) ; extra == "rag" or extra == "all"
|
|
106
|
-
Requires-Dist: sentencepiece (>=0,<
|
|
104
|
+
Requires-Dist: sentencepiece (>=0.2,<0.3) ; extra == "huggingface" or extra == "all"
|
|
107
105
|
Requires-Dist: sglang (>=0.4.0,<0.5.0) ; extra == "model-platforms" or extra == "all"
|
|
108
106
|
Requires-Dist: slack-bolt (>=1.20.1,<2.0.0) ; extra == "communication-tools" or extra == "all"
|
|
109
107
|
Requires-Dist: slack-sdk (>=3.27.2,<4.0.0) ; extra == "communication-tools" or extra == "all"
|
|
110
|
-
Requires-Dist: soundfile (>=0,<
|
|
108
|
+
Requires-Dist: soundfile (>=0.13,<0.14) ; extra == "huggingface" or extra == "all"
|
|
111
109
|
Requires-Dist: stripe (>=11.3.0,<12.0.0) ; extra == "data-tools" or extra == "all"
|
|
110
|
+
Requires-Dist: sympy (>=1.13.3,<2.0.0) ; extra == "web-tools" or extra == "all"
|
|
112
111
|
Requires-Dist: tavily-python (>=0.5.0,<0.6.0) ; extra == "web-tools" or extra == "all"
|
|
113
112
|
Requires-Dist: textblob (>=0.17.1,<0.18.0) ; extra == "data-tools" or extra == "all"
|
|
114
113
|
Requires-Dist: tiktoken (>=0.7.0,<0.8.0)
|
|
@@ -408,7 +407,8 @@ Practical guides and tutorials for implementing specific functionalities in CAME
|
|
|
408
407
|
| **[CoT Data Generation and SFT Qwen with Unsolth](https://docs.camel-ai.org/cookbooks/data_generation/cot_data_gen_sft_qwen_unsolth_upload_huggingface.html)** | Discover how to generate CoT data using CAMEL and SFT Qwen with Unsolth, and seamlessly upload your data and model to Huggingface. |
|
|
409
408
|
| **[Agentic Data Generation, Evaluation & Filtering with Reward Models](https://docs.camel-ai.org/cookbooks/data_generation/synthetic_dataevaluation&filter_with_reward_model.html)** | Discover methods for generating, evaluating, and filtering agentic data using reward models to enhance the quality and efficiency of your synthetic data pipelines. |
|
|
410
409
|
| **[Data Model Generation and Structured Output with Qwen Model](https://docs.camel-ai.org/cookbooks/data_generation/data_model_generation_and_structured_output_with_qwen.html)** |Learn how to generate data models and structured outputs using the Qwen Model for improved data representation.|
|
|
411
|
-
|
|
410
|
+
| **[Distill Math Reasoning Data from DeepSeek R1](https://docs.camel-ai.org/cookbooks/data_generation/distill_math_reasoning_data_from_deepseek_r1.html)** |Learn how to set up and leverage CAMEL's data distillation pipline for distilling high-quality maths reasoning data with thought process (Long CoT data)from deepseek R1, and uploading the results to Hugging Face.|
|
|
411
|
+
| **[Self-Improving Math Reasoning Data Distillation from DeepSeek R1](https://docs.camel-ai.org/cookbooks/data_generation/self_improving_math_reasoning_data_distillation_from_deepSeek_r1.html)** |Learn how to set up and leverage CAMEL's data distillation pipline for self-improving math reasoning data distillation from deepseek R1, and uploading the results to Hugging Face.|
|
|
412
412
|
|
|
413
413
|
### Multi-Agent Systems & Applications
|
|
414
414
|
| Cookbook | Description |
|
|
@@ -459,6 +459,8 @@ We implemented amazing research ideas from other works for you to build, compare
|
|
|
459
459
|
|
|
460
460
|
- `Source2Synth` from *Alisia Lupidi et al.*: [Source2Synth: Synthetic Data Generation and Curation Grounded in Real Data Sources](https://arxiv.org/abs/2409.08239). [[Example](https://github.com/camel-ai/camel/blob/master/examples/datagen/source2synth.py)]
|
|
461
461
|
|
|
462
|
+
- `STaR` from *Eric Zelikman et al.*: [STaR: Bootstrapping Reasoning With Reasoning](https://arxiv.org/abs/2203.14465). [[Example](https://github.com/camel-ai/camel/blob/master/examples/datagen/star)]
|
|
463
|
+
|
|
462
464
|
## Other Research Works Based on Camel
|
|
463
465
|
- [Agent Trust](http://agent-trust.camel-ai.org/): Can Large Language Model Agents Simulate Human Trust Behavior?
|
|
464
466
|
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
camel/__init__.py,sha256=
|
|
1
|
+
camel/__init__.py,sha256=5ufH2wwwiY1IqRiM7PZhy3sFHQsboGm6eColckLgHZc,912
|
|
2
2
|
camel/agents/__init__.py,sha256=LcS4m8s97-yADfznvcaAdUe9W0E9h3m6zrSc9H6m9so,1545
|
|
3
3
|
camel/agents/base.py,sha256=c4bJYL3G3Z41SaFdMPMn8ZjLdFiFaVOFO6EQIfuCVR8,1124
|
|
4
|
-
camel/agents/chat_agent.py,sha256=
|
|
4
|
+
camel/agents/chat_agent.py,sha256=mnJNJbklukwGVsDPpPwzd1z8gMeKv3_TG55rbS28NPo,56492
|
|
5
5
|
camel/agents/critic_agent.py,sha256=qFVlHlQo0CVgmPWfWYLT8_oP_KyzCLFsQw_nN_vu5Bs,7487
|
|
6
6
|
camel/agents/deductive_reasoner_agent.py,sha256=6BZGaq1hR6hKJuQtOfoYQnk_AkZpw_Mr7mUy2MspQgs,13540
|
|
7
7
|
camel/agents/embodied_agent.py,sha256=XBxBu5ZMmSJ4B2U3Z7SMwvLlgp6yNpaBe8HNQmY9CZA,7536
|
|
8
|
-
camel/agents/knowledge_graph_agent.py,sha256=
|
|
8
|
+
camel/agents/knowledge_graph_agent.py,sha256=W2wMVe1ib8z6As6iJqtn0UCaouvRRv_o2dpGzvOiI6A,8806
|
|
9
9
|
camel/agents/multi_hop_generator_agent.py,sha256=aRfvDv0GXCsP49An7F-9l87jh9osSxWD565MmGrKH78,4324
|
|
10
10
|
camel/agents/programmed_agent_instruction.py,sha256=99fLe41che3X6wPpNPJXRwl4If6EoQqQVWIoT3DKE1s,7124
|
|
11
11
|
camel/agents/role_assignment_agent.py,sha256=8bkTc14XToFHkP-ZOef5KP0P4hTlCDv0eNsDZPYuukA,5088
|
|
@@ -16,11 +16,11 @@ camel/agents/tool_agents/base.py,sha256=T6G5OaAJd4L_yHSFoWcrtqkMEyhge42ppVjx7lYD
|
|
|
16
16
|
camel/agents/tool_agents/hugging_face_tool_agent.py,sha256=nNySkdBRYaD05rLyPxzmq8W7D9WPcNHCY9h1jD6S0Hk,8717
|
|
17
17
|
camel/benchmarks/__init__.py,sha256=QGZK03uHvXbblVap8lOVUrXlE6VprEDaNev9tiQAWF8,1122
|
|
18
18
|
camel/benchmarks/apibank.py,sha256=mvI8irOfm0GxGafblT_4cpZmZKQO1XNfTDA_qioG9gY,21193
|
|
19
|
-
camel/benchmarks/apibench.py,sha256=
|
|
19
|
+
camel/benchmarks/apibench.py,sha256=F9hvVOpX2NnYDB1BiwN2Tbga1mkHGHsmiLCwhva-Fi0,18973
|
|
20
20
|
camel/benchmarks/base.py,sha256=GHbcE0KAenEiYb3x8orLgyGPp40KTdLHwahVFhI-cgE,4594
|
|
21
21
|
camel/benchmarks/gaia.py,sha256=ZMGzoQ2bdyCmVOdipj2lN3J-Ym1gySuZaYtSTvpUI9I,16774
|
|
22
|
-
camel/benchmarks/nexus.py,sha256=
|
|
23
|
-
camel/benchmarks/ragbench.py,sha256=
|
|
22
|
+
camel/benchmarks/nexus.py,sha256=Yi41HLoP7JsvRd-uieQInlw0jnIf4TfeCPhLJMHjXHo,18113
|
|
23
|
+
camel/benchmarks/ragbench.py,sha256=XlBV6YK_eZSH0yscNMX10BFHsVOXDfLqj4b8QHgsjlk,11079
|
|
24
24
|
camel/bots/__init__.py,sha256=6JRnSmUdnoZra20BJMqqrUrVfYSEbW9NyUksYmu6nwY,1174
|
|
25
25
|
camel/bots/discord/__init__.py,sha256=4ycOm2pMrQ7vQdjB80a5hz7TyiJGnSeHifoxkl8lyyQ,1027
|
|
26
26
|
camel/bots/discord/discord_app.py,sha256=h6FrTiwsw7TqImG62SvzUyNpmVHekwy0GWLmpM9P9s0,14222
|
|
@@ -29,8 +29,9 @@ camel/bots/discord/discord_store.py,sha256=eGBMYG8gm28PmmhcJ-JOVk2UKTBobEzvb6-pC
|
|
|
29
29
|
camel/bots/slack/__init__.py,sha256=iqySoYftEb7SI4pabhMvvTp1YYS09BvjwGXPEbcP1Hc,1055
|
|
30
30
|
camel/bots/slack/models.py,sha256=xMz3RO-88yrxPRrbBDjiabpbZIlpEHCvU-1CvASKARc,5143
|
|
31
31
|
camel/bots/slack/slack_app.py,sha256=SoSRZZnuTJ0aiLUBZqdG8cUFJzYpfpZh7304t0a_7Dg,9944
|
|
32
|
-
camel/bots/telegram_bot.py,sha256=
|
|
33
|
-
camel/configs/__init__.py,sha256=
|
|
32
|
+
camel/bots/telegram_bot.py,sha256=z0B2O14-GTKGVX5e6-Q85zMp3eISE_hH-KqxlGOFJtM,2595
|
|
33
|
+
camel/configs/__init__.py,sha256=IWfwy2Q8O3uHi9q4NKcYaDwRV0npx3DqJdg050LDvjc,3242
|
|
34
|
+
camel/configs/aiml_config.py,sha256=jMgNTvPM9mJ_blm-fM8jmnnI7Os_1vQTE6DPlkwR3ps,4197
|
|
34
35
|
camel/configs/anthropic_config.py,sha256=WIIyPYx7z70jiJoCc1Rz_58jrXRirpyJMlr0FrIii2I,3435
|
|
35
36
|
camel/configs/base_config.py,sha256=RrlOwwTUXeTjsDChZXUZIBK1uCojyavEbX21bGVLuog,3286
|
|
36
37
|
camel/configs/cohere_config.py,sha256=joF4GHqoTIRuEDlyTmxW5Ud23psE0xP1VCcEvKychko,3997
|
|
@@ -40,6 +41,7 @@ camel/configs/groq_config.py,sha256=Xe82_EbEYfacNXQApIHZiXw-NscufZxnLau72YEy_iA,
|
|
|
40
41
|
camel/configs/internlm_config.py,sha256=I1Hcyj5r3Sq7WUu0ypEUroqtOGbI2dXawUS6GVGhW6U,2979
|
|
41
42
|
camel/configs/litellm_config.py,sha256=oa6b67M0UotlvN7NuXrSUXLrskdpm3RMcew0rBfSsBc,4686
|
|
42
43
|
camel/configs/mistral_config.py,sha256=ul7AAeG3172PtodEEruAZky0OURwgp6YeNq8ma-4os4,3463
|
|
44
|
+
camel/configs/moonshot_config.py,sha256=IIGeGEAXd4y7FaZ7uNTAAYOYuaBy4YFMusJjuFvfO4w,2779
|
|
43
45
|
camel/configs/nvidia_config.py,sha256=1Oc3tulHOqAfx1mkrEywrxKIV1SBNzPm0CNrWgj9HXo,3226
|
|
44
46
|
camel/configs/ollama_config.py,sha256=oEYSgieliXFyvZWs-de-ZsSZVzhoDUC_oyCx1GW3HYY,4403
|
|
45
47
|
camel/configs/openai_config.py,sha256=CRqM00fA4mXsaADuhwbwwceW3t4o0ae9_7CiKjJg1gI,7448
|
|
@@ -47,6 +49,7 @@ camel/configs/qwen_config.py,sha256=wLzkv0G3qzcqRN31oHv-6OXKcB1-ILlROj4xgdFSmPM,
|
|
|
47
49
|
camel/configs/reka_config.py,sha256=QhTa4hUKz_TF3txTJRNlLSJ391uphEqZOG0zev6bI7w,3498
|
|
48
50
|
camel/configs/samba_config.py,sha256=2__Xj0HIsFWN38rsbZl9a-lXwOO5XHXoo_j7VwiUDpA,8825
|
|
49
51
|
camel/configs/sglang_config.py,sha256=EFr5TE8kXiZbx2lKm4r3Y5noDHGTIOPL6IlQHDum6kQ,3796
|
|
52
|
+
camel/configs/siliconflow_config.py,sha256=9SyBKMR_a1Usj6jRkbvk-wXAwllMdKnKNoPEwTaFTU4,4018
|
|
50
53
|
camel/configs/togetherai_config.py,sha256=bzFlDPR78NwvGCIPAhplITiy8WsGrdK4IDBbfQ7xGSw,5655
|
|
51
54
|
camel/configs/vllm_config.py,sha256=9F81FtJGbO8T3aGFggDOVUL5qequPmg882ZSXjIeFW0,6110
|
|
52
55
|
camel/configs/yi_config.py,sha256=ZvrOroEdYgdyBWcYxn3CHyOA64P5I16XBVbgfusxaPQ,2745
|
|
@@ -55,8 +58,9 @@ camel/data_collector/__init__.py,sha256=UWZya21xeJ6DvyLcf54XlYPg7ShOsNJmNR88kfRL
|
|
|
55
58
|
camel/data_collector/alpaca_collector.py,sha256=fqS_kws1EU9mDWlVxPXcoD1GhJ7lEzC28muGIMxiUpg,4683
|
|
56
59
|
camel/data_collector/base.py,sha256=Rn0aJBBvpMZYYTLT1yNjIalIvDuVVwOx6iawKlzocZQ,6708
|
|
57
60
|
camel/data_collector/sharegpt_collector.py,sha256=E06pf1CuqBAr2i0AQAlr6FtAEz7mwmKSq0RdFfX48PE,7255
|
|
58
|
-
camel/datagen/__init__.py,sha256=
|
|
59
|
-
camel/datagen/
|
|
61
|
+
camel/datagen/__init__.py,sha256=EPF-eZ4rg7qbeSVZhfQ0iME0WDRSqRwBGbW-s0ZJ2EA,949
|
|
62
|
+
camel/datagen/cot_datagen.py,sha256=WMw4NhUJVgpWOTvsMaQ1Fk1BYSXLtUlP-00wYPSuK7A,17650
|
|
63
|
+
camel/datagen/self_improving_cot.py,sha256=VB4n-DXU13lJI7CK2_NJ8l-qpGnx4CxNrZEL_tF2XXM,31006
|
|
60
64
|
camel/datagen/self_instruct/__init__.py,sha256=kRLWyCF-tGR9KEzpYImpupYvL15LcRfZCHndNu6AvV0,1179
|
|
61
65
|
camel/datagen/self_instruct/filter/__init__.py,sha256=UiGBfDRYO-3Z3dhaxAFVh4F8PF52jo6W6qu7VyHhG_Q,1163
|
|
62
66
|
camel/datagen/self_instruct/filter/filter_function.py,sha256=-voPwP83c_bkZrSAhwludBCtfsKDFG_jlDHcNUOLV7o,6691
|
|
@@ -70,11 +74,11 @@ camel/datagen/source2synth/models.py,sha256=gTdiKoGeHrZBPPOts6mKU9ZeUKh21uDcrCls
|
|
|
70
74
|
camel/datagen/source2synth/user_data_processor_config.py,sha256=WpIePsxzFbpv3wFl0Wpe6kl0fJmR2AajiBH2OOJvFC0,2409
|
|
71
75
|
camel/datahubs/__init__.py,sha256=1a8fRuzgirO2pHtPnuisZ76iF_AN9GxMFq9gwFKWE5I,906
|
|
72
76
|
camel/datahubs/base.py,sha256=4QKWiJaeL5ReQpyTAbOtzHs-2CzAYbVyoMngYwdpZGU,4357
|
|
73
|
-
camel/datahubs/huggingface.py,sha256=
|
|
77
|
+
camel/datahubs/huggingface.py,sha256=m1LDBv9ESNQINfiZdBpuVD5Zr1_iZqo-5LBYHXHhXw8,14853
|
|
74
78
|
camel/datahubs/models.py,sha256=tGb9OP_aomIhnwc0VapJjTg9PmyV_QCp5to9sABXF0Y,978
|
|
75
79
|
camel/embeddings/__init__.py,sha256=YKCFO_YVY-x4A4uWmRuoIEtltrilBmC17DkCcK4zSj8,1263
|
|
76
80
|
camel/embeddings/base.py,sha256=mxqFkWh2AfbxuVKPOqVx16fCznmuSh9QXGjaEeZHvoY,2190
|
|
77
|
-
camel/embeddings/jina_embedding.py,sha256=
|
|
81
|
+
camel/embeddings/jina_embedding.py,sha256=6aakojtsJ6KLp3nqYLhEOtoFm2shoXlRzxb1YYN_uwo,6623
|
|
78
82
|
camel/embeddings/mistral_embedding.py,sha256=JaHjcHrc4U216QfGA4NxOSLrgYB9lM19VR2mIMAkuvk,3287
|
|
79
83
|
camel/embeddings/openai_compatible_embedding.py,sha256=48T1fNUkgifoPiVHPJ7HJERekP1sENy3t07S1ENiwWk,3158
|
|
80
84
|
camel/embeddings/openai_embedding.py,sha256=DZh5OuXzBo1fMXifgyStUMm_BFaK1vQYrKdFtXqLKdg,3655
|
|
@@ -118,7 +122,8 @@ camel/messages/conversion/sharegpt/function_call_formatter.py,sha256=cn7e7CfmxEV
|
|
|
118
122
|
camel/messages/conversion/sharegpt/hermes/__init__.py,sha256=mxuMSm-neaTgInIjYXuIVdC310E6jKJzM3IdtaJ4qY4,812
|
|
119
123
|
camel/messages/conversion/sharegpt/hermes/hermes_function_formatter.py,sha256=-9TT8iOQ-ieKSKR_PmJSA5Bi0uBx-qR7WQ6vxuFkorM,4639
|
|
120
124
|
camel/messages/func_message.py,sha256=EjsUor40oUUKrHwolRpCH0sJECcqnp2mm4072tNWTPg,5939
|
|
121
|
-
camel/models/__init__.py,sha256=
|
|
125
|
+
camel/models/__init__.py,sha256=np8pj6JClpO5HzL_EQb_tkX5-SFTwozy2QUmMQuO7lU,2570
|
|
126
|
+
camel/models/aiml_model.py,sha256=ItiTNq3IhvnGclT9Lwm_3NFzK-yIK2wIhevLfyn5oeU,5222
|
|
122
127
|
camel/models/anthropic_model.py,sha256=BOj4vEtYVWbgy3DmBBlFh6LPXHbi1-LCPWzIxFuw9u4,5829
|
|
123
128
|
camel/models/azure_openai_model.py,sha256=ptL4YK8KkAbOA6XDxIhcEqxPOVGrYmzXqBzdsZAyHss,6083
|
|
124
129
|
camel/models/base_model.py,sha256=rxRZc31cKone4OGuvXi14FI_O9TC1aBvIy8WFSlVeSI,5727
|
|
@@ -130,8 +135,9 @@ camel/models/groq_model.py,sha256=gDLv1_gOIioNmTh7I_efM5FMEsELqeQGAtY7ipd85TU,49
|
|
|
130
135
|
camel/models/internlm_model.py,sha256=khWd570OU3OZJpjGhmq81tJ_OsZM1m3zcyNDmdTmgqo,5114
|
|
131
136
|
camel/models/litellm_model.py,sha256=-9DcJlVBL25vsZOdA0UkEWt5G5PP8QaXXhcE2PRiwRw,5296
|
|
132
137
|
camel/models/mistral_model.py,sha256=7OUTdTKzYPGYdi0n_hBAawlplYVR6XyvfzANHki660c,10182
|
|
133
|
-
camel/models/model_factory.py,sha256=
|
|
138
|
+
camel/models/model_factory.py,sha256=1PgJdifxYYqQ9VnZRrEER7nKjz2X07uHwPMxg454Alk,6732
|
|
134
139
|
camel/models/model_manager.py,sha256=ji1d1S-2lwk6uDggSyTnXbalu2F5lHaZnfPBBCJwBxU,7159
|
|
140
|
+
camel/models/moonshot_model.py,sha256=m4OFqTZfw8n1RCjsC4-WP5Gih1aMI3sUaX3oo7OpSQU,5023
|
|
135
141
|
camel/models/nemotron_model.py,sha256=f663rRrybuAQgBCzaYW-myLp8nZM7S0N14MmOblfB3w,2958
|
|
136
142
|
camel/models/nvidia_model.py,sha256=7THp2MECXYBUpJWTZkkgGQqgsLfjXPMVb1aGWFA1vdg,5247
|
|
137
143
|
camel/models/ollama_model.py,sha256=uiIgXmz6EqRsi3mBh8RAWopOom6rM77H4fP_Hp8cj3U,6057
|
|
@@ -147,6 +153,7 @@ camel/models/reward/nemotron_model.py,sha256=EICDP2SyQpARupxsGWFKJHNADsVknT_t6tC
|
|
|
147
153
|
camel/models/reward/skywork_model.py,sha256=KxHVDuwja2kZBCoCX8_sLBbXUGRSFsTPjgwsy1uyoyU,3246
|
|
148
154
|
camel/models/samba_model.py,sha256=5i3JgjLMFAFspdEwNIzWKMobM4xrDtO4aFXMHhEfJyU,14532
|
|
149
155
|
camel/models/sglang_model.py,sha256=dXOPSdskfF-gK2XUkzPkbTzY1lBVyjMEV6XWl-rEN7U,8147
|
|
156
|
+
camel/models/siliconflow_model.py,sha256=DH3iaFEswa0X1I3EKz0kT5k2xMjPakt6_qd7EZKeJZ0,5136
|
|
150
157
|
camel/models/stub_model.py,sha256=TKTTryatEqCfjQ8NTco9ipj29CbLLtmWEcF_VcaWvQI,3703
|
|
151
158
|
camel/models/togetherai_model.py,sha256=hgeSgV4xCpBUvYqAYILNcRBiHlExoA1nR1tu0CgG-sw,5298
|
|
152
159
|
camel/models/vllm_model.py,sha256=e57qjaHsZ-RTCsMVdMoyM-gseJwjtxiG2ePBKO5dnOQ,5640
|
|
@@ -200,12 +207,12 @@ camel/societies/role_playing.py,sha256=BhM42niGOaQctdOsOHtr6-ZA6oYvhf12eriSDj9Mh
|
|
|
200
207
|
camel/societies/workforce/__init__.py,sha256=bkTI-PE-MSK9AQ2V2gR6cR2WY-R7Jqy_NmXRtAoqo8o,920
|
|
201
208
|
camel/societies/workforce/base.py,sha256=4uSTmBQsWk_UX1xUrEbjo0X7OuYRbGWoroTV71Tvg8U,1947
|
|
202
209
|
camel/societies/workforce/prompts.py,sha256=KBiBWDXhclpJLvdUmk2anX2J9eeUDD7xHYwSeZJD_Hc,6178
|
|
203
|
-
camel/societies/workforce/role_playing_worker.py,sha256=
|
|
204
|
-
camel/societies/workforce/single_agent_worker.py,sha256=
|
|
210
|
+
camel/societies/workforce/role_playing_worker.py,sha256=nfn-hjtFPzhML82mKh16Nig1NRB7WHwgJfdCjM9sDnw,7040
|
|
211
|
+
camel/societies/workforce/single_agent_worker.py,sha256=M2I8U10QVFkUjpdeWVZ6mIuvJ387nM3gQZ60oU0xY5U,3428
|
|
205
212
|
camel/societies/workforce/task_channel.py,sha256=9t5hoinfGYnbRavX4kx34Jk1FOy05SnJZYbNzb5M-CQ,7140
|
|
206
213
|
camel/societies/workforce/utils.py,sha256=yPbcLx8lNZStl15C4UXRBl5qsTrGA-hiIGynnGi53WQ,2384
|
|
207
214
|
camel/societies/workforce/worker.py,sha256=Do6FDpEraICQVptBH-LiG5KDYYQzD83sLoYO9J8NAbc,3933
|
|
208
|
-
camel/societies/workforce/workforce.py,sha256=
|
|
215
|
+
camel/societies/workforce/workforce.py,sha256=lflBJO4vBPg_uY7U-O8STxo90c8iwLN9r-rTwHm118g,18104
|
|
209
216
|
camel/storages/__init__.py,sha256=jXff0PfC9VzAlSAgwlPv3uzZQlhuc82Did_OPNLJJuY,1617
|
|
210
217
|
camel/storages/graph_storages/__init__.py,sha256=G29BNn651C0WTOpjCl4QnVM-4B9tcNh8DdmsCiONH8Y,948
|
|
211
218
|
camel/storages/graph_storages/base.py,sha256=uSe9jWuLudfm5jtfo6E-L_kNzITwK1_Ef-6L4HWw-JM,2852
|
|
@@ -233,7 +240,7 @@ camel/terminators/__init__.py,sha256=t8uqrkUnXEOYMXQDgaBkMFJ0EXFKI0kmx4cUimli3Ls
|
|
|
233
240
|
camel/terminators/base.py,sha256=xmJzERX7GdSXcxZjAHHODa0rOxRChMSRboDCNHWSscs,1511
|
|
234
241
|
camel/terminators/response_terminator.py,sha256=n3G5KP6Oj7-7WlRN0yFcrtLpqAJKaKS0bmhrWlFfCgQ,4982
|
|
235
242
|
camel/terminators/token_limit_terminator.py,sha256=YWv6ZR8R9yI2Qnf_3xES5bEE_O5bb2CxQ0EUXfMh34c,2118
|
|
236
|
-
camel/toolkits/__init__.py,sha256=
|
|
243
|
+
camel/toolkits/__init__.py,sha256=QXU7wR4wpveIP_t2AcaWvOS-ANMygUGCfQXGl59aAyg,2854
|
|
237
244
|
camel/toolkits/arxiv_toolkit.py,sha256=I9WEUturZhbL5gQIgX_8bKttuJUlMKHcvUfhcidFVhs,6204
|
|
238
245
|
camel/toolkits/ask_news_toolkit.py,sha256=PIFGGVHpSOXs2lg-zA6qhlHF17f1CyCjGbpud90yG8I,23158
|
|
239
246
|
camel/toolkits/base.py,sha256=XnERVclg201dG7BrawwbuSeSlkz1ngIfatES1ingpkA,1264
|
|
@@ -277,26 +284,29 @@ camel/toolkits/open_api_specs/web_scraper/paths/__init__.py,sha256=OKCZrQCDwaWtX
|
|
|
277
284
|
camel/toolkits/open_api_specs/web_scraper/paths/scraper.py,sha256=aWy1_ppV4NVVEZfnbN3tu9XA9yAPAC9bRStJ5JuXMRU,1117
|
|
278
285
|
camel/toolkits/open_api_toolkit.py,sha256=Venfq8JwTMQfzRzzB7AYmYUMEX35hW0BjIv_ozFMiNk,23316
|
|
279
286
|
camel/toolkits/openbb_toolkit.py,sha256=tq4ER2utf9y4nsibU7g7jnRefA3UHw4DdXQlSrFhvJk,28802
|
|
280
|
-
camel/toolkits/reddit_toolkit.py,sha256=
|
|
287
|
+
camel/toolkits/reddit_toolkit.py,sha256=j4AiNlKlQFvpFoJVr79Pj41427fpPphBCWKxSvLYqcw,7780
|
|
281
288
|
camel/toolkits/retrieval_toolkit.py,sha256=gMHk-Y-KDROGd-yX9ykfpwAf6ViO678j9Q9Ju3sfBGo,3695
|
|
282
|
-
camel/toolkits/search_toolkit.py,sha256=
|
|
289
|
+
camel/toolkits/search_toolkit.py,sha256=4yTYkook3E3Yb-EOaio2O6FBcvzIXlVVC4WOvNSaYcw,29881
|
|
290
|
+
camel/toolkits/semantic_scholar_toolkit.py,sha256=z7xF3lPtBVXbpYMBDX9eVeHKpTZAg5rKiDnB1bCkhvU,11472
|
|
283
291
|
camel/toolkits/slack_toolkit.py,sha256=n8cn3kZIc27B-2KMTRK6Nsdan37SwMqBiBi1PMtuUvQ,10744
|
|
284
292
|
camel/toolkits/stripe_toolkit.py,sha256=cQJlzu7qXSiClazgr-D3xRAcI_PK_csTT-xcwaTrHYc,9623
|
|
293
|
+
camel/toolkits/sympy_toolkit.py,sha256=1z9nSkEKVHZUJ2CTSnWRQ-8qeXVusaG6nVHsP9J5P0M,31237
|
|
285
294
|
camel/toolkits/twitter_toolkit.py,sha256=a2OLSJSW2wY7pOwOApb1qchZPXzH22Rbgm9Yd7-7vrA,15826
|
|
286
295
|
camel/toolkits/video_toolkit.py,sha256=n1P7F_cjdnC2jfUQQiJnhueRYA83GIjUF7HWIrES5xs,7089
|
|
287
296
|
camel/toolkits/weather_toolkit.py,sha256=qHAMD56zqd5GWnEWiaA_0aBDwvgacdx0pAHScinY4GY,6965
|
|
288
|
-
camel/toolkits/whatsapp_toolkit.py,sha256=
|
|
297
|
+
camel/toolkits/whatsapp_toolkit.py,sha256=iviyCanhaKIGUyyRwLv_eCGKwGgW_TNV6HumpM4ktFc,5651
|
|
289
298
|
camel/types/__init__.py,sha256=_NYwmy412tubPYJon26fS9itGnylP48NLFKgwyMiJNs,2251
|
|
290
|
-
camel/types/enums.py,sha256=
|
|
299
|
+
camel/types/enums.py,sha256=wGDxFA92hXdWKjjlLlPa-CfFMirKzFbBTWptuBlft48,33875
|
|
291
300
|
camel/types/openai_types.py,sha256=7Vlci1uRbpSS81B958Z8ADnkzVyqxV7O5H8hv0i-tdo,2328
|
|
292
|
-
camel/types/unified_model_type.py,sha256=
|
|
293
|
-
camel/utils/__init__.py,sha256=
|
|
301
|
+
camel/types/unified_model_type.py,sha256=GP5GYtA3RfvLsqnk1c4UcOaRKMFhjDgZrLr0ln6JFw8,4253
|
|
302
|
+
camel/utils/__init__.py,sha256=NdTkomQikNGn_ImwT-I__IwGmDEFjn1wGojFq5cqLlQ,2633
|
|
294
303
|
camel/utils/async_func.py,sha256=4esRhhGrvfm-iJRloUbU-sYWyHp_mt0bBBXpwyCv6vc,1556
|
|
295
|
-
camel/utils/commons.py,sha256=
|
|
304
|
+
camel/utils/commons.py,sha256=eX14Wj8zmVqEXuWXydv9-FXkzAli_F2PQWi96tE7oEY,28279
|
|
296
305
|
camel/utils/constants.py,sha256=MQD3bgLIq_NATp0D1iFkrwfkCwVX-PAOSXheTkkEdkY,1410
|
|
306
|
+
camel/utils/deduplication.py,sha256=hCc8KVC-oThCjDzzwy1f_kYF5UvQExV1t5IY1ZgpunE,7755
|
|
297
307
|
camel/utils/response_format.py,sha256=9KrbwtOM9cA3LSjTgLiK7oKy-53_uMh1cvpyNwwJpng,2419
|
|
298
|
-
camel/utils/token_counting.py,sha256=
|
|
299
|
-
camel_ai-0.2.
|
|
300
|
-
camel_ai-0.2.
|
|
301
|
-
camel_ai-0.2.
|
|
302
|
-
camel_ai-0.2.
|
|
308
|
+
camel/utils/token_counting.py,sha256=n5JsWuG6fiuMUgpsKUPMF1NKQJLle9ad1I88_aS4cMM,14018
|
|
309
|
+
camel_ai-0.2.20.dist-info/LICENSE,sha256=id0nB2my5kG0xXeimIu5zZrbHLS6EQvxvkKkzIHaT2k,11343
|
|
310
|
+
camel_ai-0.2.20.dist-info/METADATA,sha256=4PNWDrX5VXM3WcMPzezM8jAKxPtaxEqcMhC-4wnnnu4,36551
|
|
311
|
+
camel_ai-0.2.20.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
|
|
312
|
+
camel_ai-0.2.20.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|