camel-ai 0.2.30__py3-none-any.whl → 0.2.31__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/_utils.py +1 -1
- camel/benchmarks/apibank.py +8 -2
- camel/benchmarks/apibench.py +4 -1
- camel/benchmarks/gaia.py +6 -2
- camel/benchmarks/nexus.py +4 -1
- camel/data_collector/sharegpt_collector.py +16 -5
- camel/datahubs/huggingface.py +3 -2
- camel/datasets/base_generator.py +1 -1
- camel/loaders/base_io.py +1 -1
- camel/loaders/chunkr_reader.py +1 -1
- camel/messages/conversion/conversation_models.py +2 -2
- camel/messages/func_message.py +1 -1
- camel/models/cohere_model.py +3 -1
- camel/models/samba_model.py +4 -2
- camel/personas/persona.py +1 -0
- camel/runtime/api.py +6 -2
- camel/runtime/docker_runtime.py +1 -1
- camel/runtime/remote_http_runtime.py +1 -1
- camel/storages/key_value_storages/json.py +5 -1
- camel/storages/key_value_storages/redis.py +1 -1
- camel/toolkits/file_write_toolkit.py +2 -2
- camel/toolkits/linkedin_toolkit.py +3 -1
- camel/toolkits/networkx_toolkit.py +2 -2
- camel/toolkits/search_toolkit.py +113 -1
- camel/toolkits/semantic_scholar_toolkit.py +2 -2
- camel/toolkits/stripe_toolkit.py +17 -8
- camel/toolkits/sympy_toolkit.py +54 -27
- camel/types/enums.py +3 -0
- {camel_ai-0.2.30.dist-info → camel_ai-0.2.31.dist-info}/METADATA +1 -1
- {camel_ai-0.2.30.dist-info → camel_ai-0.2.31.dist-info}/RECORD +33 -33
- {camel_ai-0.2.30.dist-info → camel_ai-0.2.31.dist-info}/WHEEL +0 -0
- {camel_ai-0.2.30.dist-info → camel_ai-0.2.31.dist-info}/licenses/LICENSE +0 -0
camel/__init__.py
CHANGED
camel/agents/_utils.py
CHANGED
|
@@ -37,7 +37,7 @@ def generate_tool_prompt(tool_schema_list: List[Dict[str, Any]]) -> str:
|
|
|
37
37
|
tool_info = tool["function"]
|
|
38
38
|
tool_name = tool_info["name"]
|
|
39
39
|
tool_description = tool_info["description"]
|
|
40
|
-
tool_json = json.dumps(tool_info, indent=4)
|
|
40
|
+
tool_json = json.dumps(tool_info, indent=4, ensure_ascii=False)
|
|
41
41
|
|
|
42
42
|
prompt = (
|
|
43
43
|
f"Use the function '{tool_name}' to '{tool_description}':\n"
|
camel/benchmarks/apibank.py
CHANGED
|
@@ -316,7 +316,10 @@ class APIBankBenchmark(BaseBenchmark):
|
|
|
316
316
|
'Correct': correct,
|
|
317
317
|
}
|
|
318
318
|
)
|
|
319
|
-
|
|
319
|
+
json_str = json.dumps(
|
|
320
|
+
self._results[-1], indent=2, ensure_ascii=False
|
|
321
|
+
)
|
|
322
|
+
f.write(json_str + "\n")
|
|
320
323
|
|
|
321
324
|
elif (
|
|
322
325
|
sample.ground_truth['role'] == 'AI'
|
|
@@ -361,7 +364,10 @@ class APIBankBenchmark(BaseBenchmark):
|
|
|
361
364
|
'Test': test,
|
|
362
365
|
}
|
|
363
366
|
)
|
|
364
|
-
|
|
367
|
+
json_str = json.dumps(
|
|
368
|
+
self._results[-1], indent=2, ensure_ascii=False
|
|
369
|
+
)
|
|
370
|
+
f.write(json_str + "\n")
|
|
365
371
|
|
|
366
372
|
f.flush()
|
|
367
373
|
|
camel/benchmarks/apibench.py
CHANGED
|
@@ -323,7 +323,10 @@ class APIBenchBenchmark(BaseBenchmark):
|
|
|
323
323
|
|
|
324
324
|
agent.reset()
|
|
325
325
|
|
|
326
|
-
|
|
326
|
+
json_str = json.dumps(
|
|
327
|
+
self._results[-1], indent=2, ensure_ascii=False
|
|
328
|
+
)
|
|
329
|
+
f.write(json_str + "\n")
|
|
327
330
|
f.flush()
|
|
328
331
|
|
|
329
332
|
total = len(self._results)
|
camel/benchmarks/gaia.py
CHANGED
|
@@ -332,7 +332,9 @@ class GAIABenchmark(BaseBenchmark):
|
|
|
332
332
|
"history": agent.memory.get_context(),
|
|
333
333
|
}
|
|
334
334
|
self._results.append(result_data)
|
|
335
|
-
file_obj.write(
|
|
335
|
+
file_obj.write(
|
|
336
|
+
json.dumps(result_data, indent=2) + "\n", ensure_ascii=False
|
|
337
|
+
)
|
|
336
338
|
file_obj.flush()
|
|
337
339
|
|
|
338
340
|
def _handle_error(
|
|
@@ -351,7 +353,9 @@ class GAIABenchmark(BaseBenchmark):
|
|
|
351
353
|
"score": 0,
|
|
352
354
|
}
|
|
353
355
|
self._results.append(error_data)
|
|
354
|
-
file_obj.write(
|
|
356
|
+
file_obj.write(
|
|
357
|
+
json.dumps(error_data, indent=2) + "\n", ensure_ascii=False
|
|
358
|
+
)
|
|
355
359
|
file_obj.flush()
|
|
356
360
|
|
|
357
361
|
def _generate_summary(self) -> Dict[str, Any]:
|
camel/benchmarks/nexus.py
CHANGED
|
@@ -343,7 +343,10 @@ class NexusBenchmark(BaseBenchmark):
|
|
|
343
343
|
|
|
344
344
|
agent.reset()
|
|
345
345
|
|
|
346
|
-
|
|
346
|
+
json_str = json.dumps(
|
|
347
|
+
self._results[-1], indent=2, ensure_ascii=False
|
|
348
|
+
)
|
|
349
|
+
f.write(json_str + "\n")
|
|
347
350
|
f.flush()
|
|
348
351
|
|
|
349
352
|
total = len(self._results)
|
|
@@ -108,6 +108,7 @@ class ShareGPTDataCollector(BaseDataCollector):
|
|
|
108
108
|
tools=json.dumps(
|
|
109
109
|
[t.get_openai_tool_schema()["function"] for t in self.tools]
|
|
110
110
|
),
|
|
111
|
+
ensure_ascii=False,
|
|
111
112
|
conversations=[],
|
|
112
113
|
)
|
|
113
114
|
|
|
@@ -124,7 +125,9 @@ class ShareGPTDataCollector(BaseDataCollector):
|
|
|
124
125
|
conversations.append(
|
|
125
126
|
{
|
|
126
127
|
"from": "function_call",
|
|
127
|
-
"value": json.dumps(
|
|
128
|
+
"value": json.dumps(
|
|
129
|
+
message.function_call, ensure_ascii=False
|
|
130
|
+
),
|
|
128
131
|
}
|
|
129
132
|
)
|
|
130
133
|
else:
|
|
@@ -135,7 +138,9 @@ class ShareGPTDataCollector(BaseDataCollector):
|
|
|
135
138
|
conversations.append(
|
|
136
139
|
{
|
|
137
140
|
"from": "observation",
|
|
138
|
-
"value": json.dumps(
|
|
141
|
+
"value": json.dumps(
|
|
142
|
+
message.message, ensure_ascii=False
|
|
143
|
+
), # type: ignore[attr-defined]
|
|
139
144
|
}
|
|
140
145
|
)
|
|
141
146
|
data["conversations"] = conversations
|
|
@@ -171,7 +176,8 @@ class ShareGPTDataCollector(BaseDataCollector):
|
|
|
171
176
|
context.append(
|
|
172
177
|
"Tools: "
|
|
173
178
|
+ json.dumps(
|
|
174
|
-
[t.get_openai_tool_schema()["function"] for t in self.tools]
|
|
179
|
+
[t.get_openai_tool_schema()["function"] for t in self.tools],
|
|
180
|
+
ensure_ascii=False,
|
|
175
181
|
)
|
|
176
182
|
)
|
|
177
183
|
for _data in self.get_agent_history(str(self.agent_name)):
|
|
@@ -180,10 +186,15 @@ class ShareGPTDataCollector(BaseDataCollector):
|
|
|
180
186
|
f"{role}: " if role != "user" else "User: " + f"{_data.name}: "
|
|
181
187
|
)
|
|
182
188
|
if message.function_call:
|
|
183
|
-
context.append(
|
|
189
|
+
context.append(
|
|
190
|
+
prefix
|
|
191
|
+
+ json.dumps(message.function_call, ensure_ascii=False)
|
|
192
|
+
)
|
|
184
193
|
|
|
185
194
|
elif role == "function" or role == "tool":
|
|
186
|
-
context.append(
|
|
195
|
+
context.append(
|
|
196
|
+
prefix + json.dumps(message.message, ensure_ascii=False)
|
|
197
|
+
) # type: ignore[attr-defined]
|
|
187
198
|
else:
|
|
188
199
|
context.append(prefix + str(message.message))
|
|
189
200
|
return converter.convert(
|
camel/datahubs/huggingface.py
CHANGED
|
@@ -372,6 +372,7 @@ class HuggingFaceDatasetManager(BaseDatasetManager):
|
|
|
372
372
|
for record in records
|
|
373
373
|
],
|
|
374
374
|
f,
|
|
375
|
+
ensure_ascii=False,
|
|
375
376
|
)
|
|
376
377
|
temp_file_path = f.name
|
|
377
378
|
|
|
@@ -411,14 +412,14 @@ class HuggingFaceDatasetManager(BaseDatasetManager):
|
|
|
411
412
|
)
|
|
412
413
|
else:
|
|
413
414
|
try:
|
|
414
|
-
json.dumps(file_content)
|
|
415
|
+
json.dumps(file_content, ensure_ascii=False)
|
|
415
416
|
json_content = file_content
|
|
416
417
|
except (TypeError, ValueError):
|
|
417
418
|
raise ValueError(
|
|
418
419
|
"file_content is not JSON serializable."
|
|
419
420
|
)
|
|
420
421
|
|
|
421
|
-
json.dump(json_content, f)
|
|
422
|
+
json.dump(json_content, f, ensure_ascii=False)
|
|
422
423
|
elif file_type == "md" or file_type == "txt":
|
|
423
424
|
f.write(file_content)
|
|
424
425
|
else:
|
camel/datasets/base_generator.py
CHANGED
|
@@ -120,7 +120,7 @@ class BaseGenerator(abc.ABC):
|
|
|
120
120
|
try:
|
|
121
121
|
with file_path.open("w", encoding="utf-8") as f:
|
|
122
122
|
for datapoint in self._data:
|
|
123
|
-
json.dump(datapoint.to_dict(), f)
|
|
123
|
+
json.dump(datapoint.to_dict(), f, ensure_ascii=False)
|
|
124
124
|
f.write("\n") # Ensure each entry is on a new line
|
|
125
125
|
logger.info(f"Dataset saved successfully to {file_path}")
|
|
126
126
|
except IOError as e:
|
camel/loaders/base_io.py
CHANGED
|
@@ -276,7 +276,7 @@ class JsonFile(File):
|
|
|
276
276
|
# Parse the JSON data from the file
|
|
277
277
|
data = json.load(file)
|
|
278
278
|
# Create a dictionary with the parsed data
|
|
279
|
-
doc = {"page_content": json.dumps(data)}
|
|
279
|
+
doc = {"page_content": json.dumps(data, ensure_ascii=False)}
|
|
280
280
|
# Calculate a unique identifier for the file
|
|
281
281
|
file_id = md5(file.getvalue()).hexdigest()
|
|
282
282
|
# Reset the file pointer to the beginning
|
camel/loaders/chunkr_reader.py
CHANGED
|
@@ -113,7 +113,7 @@ class ToolCall(BaseModel):
|
|
|
113
113
|
|
|
114
114
|
# Try to serialize arguments to ensure they're JSON-compatible
|
|
115
115
|
try:
|
|
116
|
-
json.dumps(v)
|
|
116
|
+
json.dumps(v, ensure_ascii=False)
|
|
117
117
|
except (TypeError, ValueError):
|
|
118
118
|
raise ValueError("Arguments must be JSON-serializable")
|
|
119
119
|
|
|
@@ -155,7 +155,7 @@ class ToolResponse(BaseModel):
|
|
|
155
155
|
|
|
156
156
|
# Ensure content is JSON-serializable
|
|
157
157
|
try:
|
|
158
|
-
json.dumps(v)
|
|
158
|
+
json.dumps(v, ensure_ascii=False)
|
|
159
159
|
except (TypeError, ValueError):
|
|
160
160
|
raise ValueError("Response content must be JSON-serializable")
|
|
161
161
|
|
camel/messages/func_message.py
CHANGED
camel/models/cohere_model.py
CHANGED
|
@@ -176,7 +176,9 @@ class CohereModel(BaseModelBackend):
|
|
|
176
176
|
else:
|
|
177
177
|
arguments = function_call.get("arguments") # type: ignore[attr-defined]
|
|
178
178
|
arguments_dict = ast.literal_eval(arguments)
|
|
179
|
-
arguments_json = json.dumps(
|
|
179
|
+
arguments_json = json.dumps(
|
|
180
|
+
arguments_dict, ensure_ascii=False
|
|
181
|
+
)
|
|
180
182
|
|
|
181
183
|
assis_tool_call_id = str(uuid.uuid4())
|
|
182
184
|
tool_call_id = assis_tool_call_id
|
camel/models/samba_model.py
CHANGED
|
@@ -307,7 +307,8 @@ class SambaModel(BaseModelBackend):
|
|
|
307
307
|
{
|
|
308
308
|
"conversation_id": str(uuid.uuid4()),
|
|
309
309
|
"messages": messages,
|
|
310
|
-
}
|
|
310
|
+
},
|
|
311
|
+
ensure_ascii=False,
|
|
311
312
|
),
|
|
312
313
|
"params": {
|
|
313
314
|
"do_sample": {"type": "bool", "value": "true"},
|
|
@@ -537,7 +538,8 @@ class SambaModel(BaseModelBackend):
|
|
|
537
538
|
{
|
|
538
539
|
"conversation_id": str(uuid.uuid4()),
|
|
539
540
|
"messages": messages,
|
|
540
|
-
}
|
|
541
|
+
},
|
|
542
|
+
ensure_ascii=False,
|
|
541
543
|
),
|
|
542
544
|
"params": {
|
|
543
545
|
"do_sample": {"type": "bool", "value": "true"},
|
camel/personas/persona.py
CHANGED
camel/runtime/api.py
CHANGED
|
@@ -80,10 +80,14 @@ for module_function in modules_functions:
|
|
|
80
80
|
output = sys.stdout.read()
|
|
81
81
|
sys.stdout = sys.__stdout__
|
|
82
82
|
return {
|
|
83
|
-
"output": json.dumps(
|
|
83
|
+
"output": json.dumps(
|
|
84
|
+
response_data, ensure_ascii=False
|
|
85
|
+
),
|
|
84
86
|
"stdout": output,
|
|
85
87
|
}
|
|
86
|
-
return {
|
|
88
|
+
return {
|
|
89
|
+
"output": json.dumps(response_data, ensure_ascii=False)
|
|
90
|
+
}
|
|
87
91
|
|
|
88
92
|
except (ImportError, AttributeError) as e:
|
|
89
93
|
logger.error(f"Error importing {module_function}: {e}")
|
camel/runtime/docker_runtime.py
CHANGED
|
@@ -100,7 +100,7 @@ class RemoteHttpRuntime(BaseRuntime):
|
|
|
100
100
|
if not isinstance(funcs, list):
|
|
101
101
|
funcs = [funcs]
|
|
102
102
|
if arguments is not None:
|
|
103
|
-
entrypoint += json.dumps(arguments)
|
|
103
|
+
entrypoint += json.dumps(arguments, ensure_ascii=False)
|
|
104
104
|
|
|
105
105
|
for func in funcs:
|
|
106
106
|
inner_func = func.func
|
|
@@ -75,7 +75,11 @@ class JsonStorage(BaseKeyValueStorage):
|
|
|
75
75
|
"""
|
|
76
76
|
with self.json_path.open("a") as f:
|
|
77
77
|
f.writelines(
|
|
78
|
-
[
|
|
78
|
+
[
|
|
79
|
+
json.dumps(r, cls=_CamelJSONEncoder, ensure_ascii=False)
|
|
80
|
+
+ "\n"
|
|
81
|
+
for r in records
|
|
82
|
+
]
|
|
79
83
|
)
|
|
80
84
|
|
|
81
85
|
def load(self) -> List[Dict[str, Any]]:
|
|
@@ -133,7 +133,7 @@ class RedisStorage(BaseKeyValueStorage):
|
|
|
133
133
|
if self._client is None:
|
|
134
134
|
raise ValueError("Redis client is not initialized")
|
|
135
135
|
try:
|
|
136
|
-
value = json.dumps(records)
|
|
136
|
+
value = json.dumps(records, ensure_ascii=False)
|
|
137
137
|
if expire:
|
|
138
138
|
await self._client.setex(self._sid, expire, value)
|
|
139
139
|
else:
|
|
@@ -219,13 +219,13 @@ class FileWriteToolkit(BaseToolkit):
|
|
|
219
219
|
try:
|
|
220
220
|
# Try parsing as JSON string first
|
|
221
221
|
data = json.loads(content)
|
|
222
|
-
json.dump(data, f)
|
|
222
|
+
json.dump(data, f, ensure_ascii=False)
|
|
223
223
|
except json.JSONDecodeError:
|
|
224
224
|
# If not valid JSON string, write as is
|
|
225
225
|
f.write(content)
|
|
226
226
|
else:
|
|
227
227
|
# If not string, dump as JSON
|
|
228
|
-
json.dump(content, f)
|
|
228
|
+
json.dump(content, f, ensure_ascii=False)
|
|
229
229
|
logger.debug(f"Wrote JSON to {file_path} with {encoding} encoding")
|
|
230
230
|
|
|
231
231
|
def _write_yaml_file(
|
|
@@ -75,7 +75,9 @@ class LinkedInToolkit(BaseToolkit):
|
|
|
75
75
|
}
|
|
76
76
|
|
|
77
77
|
response = requests.post(
|
|
78
|
-
url,
|
|
78
|
+
url,
|
|
79
|
+
headers=headers,
|
|
80
|
+
data=json.dumps(post_data, ensure_ascii=False),
|
|
79
81
|
)
|
|
80
82
|
if response.status_code == 201:
|
|
81
83
|
post_response = response.json()
|
|
@@ -178,7 +178,7 @@ class NetworkXToolkit(BaseToolkit):
|
|
|
178
178
|
"""
|
|
179
179
|
logger.info("Serializing the graph.")
|
|
180
180
|
nx = self._get_nx()
|
|
181
|
-
return json.dumps(nx.node_link_data(self.graph))
|
|
181
|
+
return json.dumps(nx.node_link_data(self.graph), ensure_ascii=False)
|
|
182
182
|
|
|
183
183
|
def deserialize_graph(self, data: str) -> None:
|
|
184
184
|
r"""Loads a graph from a serialized JSON string.
|
|
@@ -199,7 +199,7 @@ class NetworkXToolkit(BaseToolkit):
|
|
|
199
199
|
logger.info(f"Exporting graph to file: {file_path}")
|
|
200
200
|
nx = self._get_nx()
|
|
201
201
|
with open(file_path, "w") as file:
|
|
202
|
-
json.dump(nx.node_link_data(self.graph), file)
|
|
202
|
+
json.dump(nx.node_link_data(self.graph), file, ensure_ascii=False)
|
|
203
203
|
|
|
204
204
|
def import_from_file(self, file_path: str) -> None:
|
|
205
205
|
r"""Imports a graph from a JSON file.
|
camel/toolkits/search_toolkit.py
CHANGED
|
@@ -751,7 +751,8 @@ class SearchToolkit(BaseToolkit):
|
|
|
751
751
|
"summary": summary,
|
|
752
752
|
"count": count,
|
|
753
753
|
"page": page,
|
|
754
|
-
}
|
|
754
|
+
},
|
|
755
|
+
ensure_ascii=False,
|
|
755
756
|
)
|
|
756
757
|
try:
|
|
757
758
|
response = requests.post(url, headers=headers, data=payload)
|
|
@@ -835,6 +836,116 @@ class SearchToolkit(BaseToolkit):
|
|
|
835
836
|
except Exception as e:
|
|
836
837
|
return {"error": f"Baidu scraping error: {e!s}"}
|
|
837
838
|
|
|
839
|
+
def search_bing(self, query: str, max_results: int = 5) -> Dict[str, Any]:
|
|
840
|
+
r"""Use Bing search engine to search information for the given query.
|
|
841
|
+
|
|
842
|
+
This function queries the Chinese version of Bing search engine (cn.
|
|
843
|
+
bing.com) using web scraping to retrieve relevant search results. It
|
|
844
|
+
extracts search results including titles, snippets, and URLs. This
|
|
845
|
+
function is particularly useful when the query is in Chinese or when
|
|
846
|
+
Chinese search results are desired.
|
|
847
|
+
|
|
848
|
+
Args:
|
|
849
|
+
query (str): The search query string to submit to Bing. Works best
|
|
850
|
+
with Chinese queries or when Chinese results are preferred.
|
|
851
|
+
max_results (int): Maximum number of results to return.
|
|
852
|
+
(default: :obj:`5`)
|
|
853
|
+
|
|
854
|
+
Returns:
|
|
855
|
+
Dict ([str, Any]): A dictionary containing either:
|
|
856
|
+
- 'results': A list of dictionaries, each with:
|
|
857
|
+
- 'result_id': The index of the result.
|
|
858
|
+
- 'snippet': A brief description of the search result.
|
|
859
|
+
- 'title': The title of the search result.
|
|
860
|
+
- 'link': The URL of the search result.
|
|
861
|
+
- or 'error': An error message if something went wrong.
|
|
862
|
+
"""
|
|
863
|
+
from typing import Any, Dict, List, cast
|
|
864
|
+
from urllib.parse import urlencode
|
|
865
|
+
|
|
866
|
+
from bs4 import BeautifulSoup, Tag
|
|
867
|
+
|
|
868
|
+
try:
|
|
869
|
+
query = urlencode({"q": query})
|
|
870
|
+
url = f'https://cn.bing.com/search?{query}'
|
|
871
|
+
headers = {
|
|
872
|
+
"User-Agent": (
|
|
873
|
+
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) "
|
|
874
|
+
"AppleWebKit/537.36 (KHTML, like Gecko) "
|
|
875
|
+
"Chrome/120.0.0.0 Safari/537.36"
|
|
876
|
+
),
|
|
877
|
+
}
|
|
878
|
+
# Add timeout to prevent hanging
|
|
879
|
+
response = requests.get(url, headers=headers, timeout=10)
|
|
880
|
+
|
|
881
|
+
# Check if the request was successful
|
|
882
|
+
if response.status_code != 200:
|
|
883
|
+
return {
|
|
884
|
+
"error": (
|
|
885
|
+
f"Bing returned status code: "
|
|
886
|
+
f"{response.status_code}"
|
|
887
|
+
)
|
|
888
|
+
}
|
|
889
|
+
|
|
890
|
+
response.encoding = 'utf-8'
|
|
891
|
+
soup = BeautifulSoup(response.text, 'html.parser')
|
|
892
|
+
|
|
893
|
+
b_results_element = soup.find("ol", id="b_results")
|
|
894
|
+
if b_results_element is None:
|
|
895
|
+
return {"results": []}
|
|
896
|
+
|
|
897
|
+
# Ensure b_results is a Tag and find all li elements
|
|
898
|
+
b_results_tag = cast(Tag, b_results_element)
|
|
899
|
+
result_items = b_results_tag.find_all("li")
|
|
900
|
+
|
|
901
|
+
results: List[Dict[str, Any]] = []
|
|
902
|
+
for i in range(min(len(result_items), max_results)):
|
|
903
|
+
row = result_items[i]
|
|
904
|
+
if not isinstance(row, Tag):
|
|
905
|
+
continue
|
|
906
|
+
|
|
907
|
+
h2_element = row.find("h2")
|
|
908
|
+
if h2_element is None:
|
|
909
|
+
continue
|
|
910
|
+
h2_tag = cast(Tag, h2_element)
|
|
911
|
+
|
|
912
|
+
title = h2_tag.get_text().strip()
|
|
913
|
+
|
|
914
|
+
link_tag_element = h2_tag.find("a")
|
|
915
|
+
if link_tag_element is None:
|
|
916
|
+
continue
|
|
917
|
+
link_tag = cast(Tag, link_tag_element)
|
|
918
|
+
|
|
919
|
+
link = link_tag.get("href")
|
|
920
|
+
if link is None:
|
|
921
|
+
continue
|
|
922
|
+
|
|
923
|
+
content_element = row.find("p", class_="b_algoSlug")
|
|
924
|
+
content_text = ""
|
|
925
|
+
if content_element is not None and isinstance(
|
|
926
|
+
content_element, Tag
|
|
927
|
+
):
|
|
928
|
+
content_text = content_element.get_text()
|
|
929
|
+
|
|
930
|
+
row_data = {
|
|
931
|
+
"result_id": i + 1,
|
|
932
|
+
"snippet": content_text,
|
|
933
|
+
"title": title,
|
|
934
|
+
"link": link,
|
|
935
|
+
}
|
|
936
|
+
results.append(row_data)
|
|
937
|
+
|
|
938
|
+
if not results:
|
|
939
|
+
return {
|
|
940
|
+
"warning": "No results found. Check if "
|
|
941
|
+
"Bing HTML structure has changed."
|
|
942
|
+
}
|
|
943
|
+
|
|
944
|
+
return {"results": results}
|
|
945
|
+
|
|
946
|
+
except Exception as e:
|
|
947
|
+
return {"error": f"Bing scraping error: {e!s}"}
|
|
948
|
+
|
|
838
949
|
def get_tools(self) -> List[FunctionTool]:
|
|
839
950
|
r"""Returns a list of FunctionTool objects representing the
|
|
840
951
|
functions in the toolkit.
|
|
@@ -853,4 +964,5 @@ class SearchToolkit(BaseToolkit):
|
|
|
853
964
|
FunctionTool(self.search_brave),
|
|
854
965
|
FunctionTool(self.search_bocha),
|
|
855
966
|
FunctionTool(self.search_baidu),
|
|
967
|
+
FunctionTool(self.search_bing),
|
|
856
968
|
]
|
|
@@ -238,7 +238,7 @@ class SemanticScholarToolkit(BaseToolkit):
|
|
|
238
238
|
papers = response.json()
|
|
239
239
|
if save_to_file:
|
|
240
240
|
with open('recommended_papers.json', 'w') as output:
|
|
241
|
-
json.dump(papers, output)
|
|
241
|
+
json.dump(papers, output, ensure_ascii=False)
|
|
242
242
|
return papers
|
|
243
243
|
except requests.exceptions.RequestException as e:
|
|
244
244
|
return {"error": str(e)}
|
|
@@ -282,7 +282,7 @@ class SemanticScholarToolkit(BaseToolkit):
|
|
|
282
282
|
response_data = response.json()
|
|
283
283
|
if save_to_file:
|
|
284
284
|
with open('author_information.json', 'w') as output:
|
|
285
|
-
json.dump(response_data, output)
|
|
285
|
+
json.dump(response_data, output, ensure_ascii=False)
|
|
286
286
|
return response_data
|
|
287
287
|
except requests.exceptions.RequestException as e:
|
|
288
288
|
return {"error": str(e)}
|
camel/toolkits/stripe_toolkit.py
CHANGED
|
@@ -85,7 +85,7 @@ class StripeToolkit(BaseToolkit):
|
|
|
85
85
|
self.logger.info(f"Retrieving customer with ID: {customer_id}")
|
|
86
86
|
customer = stripe.Customer.retrieve(customer_id)
|
|
87
87
|
self.logger.info(f"Retrieved customer: {customer.id}")
|
|
88
|
-
json_string = json.dumps(customer)
|
|
88
|
+
json_string = json.dumps(customer, ensure_ascii=False)
|
|
89
89
|
return json_string
|
|
90
90
|
except Exception as e:
|
|
91
91
|
return self.handle_exception("customer_get", e)
|
|
@@ -109,7 +109,9 @@ class StripeToolkit(BaseToolkit):
|
|
|
109
109
|
self.logger.info(
|
|
110
110
|
f"Successfully retrieved {len(customers)} customers."
|
|
111
111
|
)
|
|
112
|
-
return json.dumps(
|
|
112
|
+
return json.dumps(
|
|
113
|
+
[customer for customer in customers], ensure_ascii=False
|
|
114
|
+
)
|
|
113
115
|
except Exception as e:
|
|
114
116
|
return self.handle_exception("customer_list", e)
|
|
115
117
|
|
|
@@ -128,7 +130,7 @@ class StripeToolkit(BaseToolkit):
|
|
|
128
130
|
self.logger.info(
|
|
129
131
|
f"Successfully retrieved account balance: {balance}."
|
|
130
132
|
)
|
|
131
|
-
return json.dumps(balance)
|
|
133
|
+
return json.dumps(balance, ensure_ascii=False)
|
|
132
134
|
except Exception as e:
|
|
133
135
|
return self.handle_exception("balance_get", e)
|
|
134
136
|
|
|
@@ -154,7 +156,10 @@ class StripeToolkit(BaseToolkit):
|
|
|
154
156
|
f"Successfully retrieved {len(transactions)} "
|
|
155
157
|
"balance transactions."
|
|
156
158
|
)
|
|
157
|
-
return json.dumps(
|
|
159
|
+
return json.dumps(
|
|
160
|
+
[transaction for transaction in transactions],
|
|
161
|
+
ensure_ascii=False,
|
|
162
|
+
)
|
|
158
163
|
except Exception as e:
|
|
159
164
|
return self.handle_exception("balance_transaction_list", e)
|
|
160
165
|
|
|
@@ -174,7 +179,7 @@ class StripeToolkit(BaseToolkit):
|
|
|
174
179
|
self.logger.info(f"Retrieving payment with ID: {payment_id}")
|
|
175
180
|
payment = stripe.PaymentIntent.retrieve(payment_id)
|
|
176
181
|
self.logger.info(f"Retrieved payment: {payment.id}")
|
|
177
|
-
return json.dumps(payment)
|
|
182
|
+
return json.dumps(payment, ensure_ascii=False)
|
|
178
183
|
except Exception as e:
|
|
179
184
|
return self.handle_exception("payment_get", e)
|
|
180
185
|
|
|
@@ -197,7 +202,9 @@ class StripeToolkit(BaseToolkit):
|
|
|
197
202
|
self.logger.info(
|
|
198
203
|
f"Successfully retrieved {len(payments)} payments."
|
|
199
204
|
)
|
|
200
|
-
return json.dumps(
|
|
205
|
+
return json.dumps(
|
|
206
|
+
[payment for payment in payments], ensure_ascii=False
|
|
207
|
+
)
|
|
201
208
|
except Exception as e:
|
|
202
209
|
return self.handle_exception("payment_list", e)
|
|
203
210
|
|
|
@@ -217,7 +224,7 @@ class StripeToolkit(BaseToolkit):
|
|
|
217
224
|
self.logger.info(f"Retrieving refund with ID: {refund_id}")
|
|
218
225
|
refund = stripe.Refund.retrieve(refund_id)
|
|
219
226
|
self.logger.info(f"Retrieved refund: {refund.id}")
|
|
220
|
-
return json.dumps(refund)
|
|
227
|
+
return json.dumps(refund, ensure_ascii=False)
|
|
221
228
|
except Exception as e:
|
|
222
229
|
return self.handle_exception("refund_get", e)
|
|
223
230
|
|
|
@@ -238,7 +245,9 @@ class StripeToolkit(BaseToolkit):
|
|
|
238
245
|
self.logger.info(f"Listing refunds with limit={limit}")
|
|
239
246
|
refunds = stripe.Refund.list(limit=limit).data
|
|
240
247
|
self.logger.info(f"Successfully retrieved {len(refunds)} refunds.")
|
|
241
|
-
return json.dumps(
|
|
248
|
+
return json.dumps(
|
|
249
|
+
[refund for refund in refunds], ensure_ascii=False
|
|
250
|
+
)
|
|
242
251
|
except Exception as e:
|
|
243
252
|
return self.handle_exception("refund_list", e)
|
|
244
253
|
|
camel/toolkits/sympy_toolkit.py
CHANGED
|
@@ -61,7 +61,10 @@ class SymPyToolkit(BaseToolkit):
|
|
|
61
61
|
try:
|
|
62
62
|
expr = sp.parsing.sympy_parser.parse_expr(expression)
|
|
63
63
|
simplified = sp.simplify(expr)
|
|
64
|
-
return json.dumps(
|
|
64
|
+
return json.dumps(
|
|
65
|
+
{"status": "success", "result": str(simplified)},
|
|
66
|
+
ensure_ascii=False,
|
|
67
|
+
)
|
|
65
68
|
except Exception as e:
|
|
66
69
|
return self.handle_exception("simplify_expression", e)
|
|
67
70
|
|
|
@@ -83,7 +86,9 @@ class SymPyToolkit(BaseToolkit):
|
|
|
83
86
|
try:
|
|
84
87
|
expr = sp.parsing.sympy_parser.parse_expr(expression)
|
|
85
88
|
expanded_expr = sp.expand(expr)
|
|
86
|
-
return json.dumps(
|
|
89
|
+
return json.dumps(
|
|
90
|
+
{"result": str(expanded_expr)}, ensure_ascii=False
|
|
91
|
+
)
|
|
87
92
|
except Exception as e:
|
|
88
93
|
return self.handle_exception("expand_expression", e)
|
|
89
94
|
|
|
@@ -105,7 +110,9 @@ class SymPyToolkit(BaseToolkit):
|
|
|
105
110
|
try:
|
|
106
111
|
expr = sp.parsing.sympy_parser.parse_expr(expression)
|
|
107
112
|
factored_expr = sp.factor(expr)
|
|
108
|
-
return json.dumps(
|
|
113
|
+
return json.dumps(
|
|
114
|
+
{"result": str(factored_expr)}, ensure_ascii=False
|
|
115
|
+
)
|
|
109
116
|
except Exception as e:
|
|
110
117
|
return self.handle_exception("factor_expression", e)
|
|
111
118
|
|
|
@@ -133,7 +140,9 @@ class SymPyToolkit(BaseToolkit):
|
|
|
133
140
|
eqs = [sp.sympify(eq) for eq in equations]
|
|
134
141
|
vars = sp.symbols(variables)
|
|
135
142
|
solution = sp.linsolve(eqs, vars)
|
|
136
|
-
return json.dumps(
|
|
143
|
+
return json.dumps(
|
|
144
|
+
{"result": [str(sol) for sol in solution]}, ensure_ascii=False
|
|
145
|
+
)
|
|
137
146
|
except Exception as e:
|
|
138
147
|
return self.handle_exception("solve_linear_system", e)
|
|
139
148
|
|
|
@@ -164,7 +173,9 @@ class SymPyToolkit(BaseToolkit):
|
|
|
164
173
|
eqs = [sp.sympify(eq) for eq in sympy_equations]
|
|
165
174
|
vars = sp.symbols(variables)
|
|
166
175
|
solution = sp.nonlinsolve(eqs, vars)
|
|
167
|
-
return json.dumps(
|
|
176
|
+
return json.dumps(
|
|
177
|
+
{"result": [str(sol) for sol in solution]}, ensure_ascii=False
|
|
178
|
+
)
|
|
168
179
|
except Exception as e:
|
|
169
180
|
return self.handle_exception("solve_nonlinear_system", e)
|
|
170
181
|
|
|
@@ -191,7 +202,7 @@ class SymPyToolkit(BaseToolkit):
|
|
|
191
202
|
var = sp.symbols(variable)
|
|
192
203
|
ineq = sp.sympify(inequality)
|
|
193
204
|
solution = sp.solve_univariate_inequality(ineq, var)
|
|
194
|
-
return json.dumps({"result": str(solution)})
|
|
205
|
+
return json.dumps({"result": str(solution)}, ensure_ascii=False)
|
|
195
206
|
except Exception as e:
|
|
196
207
|
return self.handle_exception("solve_univariate_inequality", e)
|
|
197
208
|
|
|
@@ -214,7 +225,7 @@ class SymPyToolkit(BaseToolkit):
|
|
|
214
225
|
try:
|
|
215
226
|
ineqs = [sp.sympify(ineq) for ineq in inequalities]
|
|
216
227
|
solution = sp.reduce_inequalities(ineqs)
|
|
217
|
-
return json.dumps({"result": str(solution)})
|
|
228
|
+
return json.dumps({"result": str(solution)}, ensure_ascii=False)
|
|
218
229
|
except Exception as e:
|
|
219
230
|
return self.handle_exception("reduce_inequalities", e)
|
|
220
231
|
|
|
@@ -241,7 +252,7 @@ class SymPyToolkit(BaseToolkit):
|
|
|
241
252
|
var = sp.symbols(variable)
|
|
242
253
|
expr = sp.parsing.sympy_parser.parse_expr(expression)
|
|
243
254
|
poly = sp.Poly(expr, var)
|
|
244
|
-
return json.dumps({"result": str(poly)})
|
|
255
|
+
return json.dumps({"result": str(poly)}, ensure_ascii=False)
|
|
245
256
|
except Exception as e:
|
|
246
257
|
return self.handle_exception("polynomial_representation", e)
|
|
247
258
|
|
|
@@ -266,7 +277,7 @@ class SymPyToolkit(BaseToolkit):
|
|
|
266
277
|
var = sp.symbols(variable)
|
|
267
278
|
expr = sp.parsing.sympy_parser.parse_expr(expression)
|
|
268
279
|
degree = int(sp.degree(expr, var))
|
|
269
|
-
return json.dumps({"result": degree})
|
|
280
|
+
return json.dumps({"result": degree}, ensure_ascii=False)
|
|
270
281
|
except Exception as e:
|
|
271
282
|
return self.handle_exception("polynomial_degree", e)
|
|
272
283
|
|
|
@@ -292,7 +303,10 @@ class SymPyToolkit(BaseToolkit):
|
|
|
292
303
|
var = sp.symbols(variable)
|
|
293
304
|
expr = sp.parsing.sympy_parser.parse_expr(expression)
|
|
294
305
|
coeffs = sp.Poly(expr, var).all_coeffs()
|
|
295
|
-
return json.dumps(
|
|
306
|
+
return json.dumps(
|
|
307
|
+
{"result": [str(coeff) for coeff in coeffs]},
|
|
308
|
+
ensure_ascii=False,
|
|
309
|
+
)
|
|
296
310
|
except Exception as e:
|
|
297
311
|
return self.handle_exception("polynomial_coefficients", e)
|
|
298
312
|
|
|
@@ -323,7 +337,9 @@ class SymPyToolkit(BaseToolkit):
|
|
|
323
337
|
)
|
|
324
338
|
eq = sp.sympify(sympy_equation)
|
|
325
339
|
solutions = sp.solve(eq, variable)
|
|
326
|
-
return json.dumps(
|
|
340
|
+
return json.dumps(
|
|
341
|
+
{"result": [str(sol) for sol in solutions]}, ensure_ascii=False
|
|
342
|
+
)
|
|
327
343
|
except Exception as e:
|
|
328
344
|
return self.handle_exception("solve_equation", e)
|
|
329
345
|
|
|
@@ -346,7 +362,9 @@ class SymPyToolkit(BaseToolkit):
|
|
|
346
362
|
try:
|
|
347
363
|
expr = sp.parsing.sympy_parser.parse_expr(expression)
|
|
348
364
|
roots = sp.solve(expr)
|
|
349
|
-
return json.dumps(
|
|
365
|
+
return json.dumps(
|
|
366
|
+
{"status": "success", "result": str(roots)}, ensure_ascii=False
|
|
367
|
+
)
|
|
350
368
|
|
|
351
369
|
except Exception as e:
|
|
352
370
|
return self.handle_exception("find_roots", e)
|
|
@@ -379,7 +397,7 @@ class SymPyToolkit(BaseToolkit):
|
|
|
379
397
|
)
|
|
380
398
|
expr = sp.parsing.sympy_parser.parse_expr(expression)
|
|
381
399
|
derivative = sp.diff(expr, variable)
|
|
382
|
-
return json.dumps({"result": str(derivative)})
|
|
400
|
+
return json.dumps({"result": str(derivative)}, ensure_ascii=False)
|
|
383
401
|
except Exception as e:
|
|
384
402
|
return self.handle_exception("differentiate", e)
|
|
385
403
|
|
|
@@ -411,7 +429,7 @@ class SymPyToolkit(BaseToolkit):
|
|
|
411
429
|
)
|
|
412
430
|
expr = sp.parsing.sympy_parser.parse_expr(expression)
|
|
413
431
|
integral = sp.integrate(expr, variable)
|
|
414
|
-
return json.dumps({"result": str(integral)})
|
|
432
|
+
return json.dumps({"result": str(integral)}, ensure_ascii=False)
|
|
415
433
|
except Exception as e:
|
|
416
434
|
return self.handle_exception("integrate", e)
|
|
417
435
|
|
|
@@ -441,7 +459,7 @@ class SymPyToolkit(BaseToolkit):
|
|
|
441
459
|
var = sp.symbols(variable)
|
|
442
460
|
expr = sp.parsing.sympy_parser.parse_expr(expression)
|
|
443
461
|
integral = sp.integrate(expr, (var, lower, upper))
|
|
444
|
-
return json.dumps({"result": str(integral)})
|
|
462
|
+
return json.dumps({"result": str(integral)}, ensure_ascii=False)
|
|
445
463
|
except Exception as e:
|
|
446
464
|
return self.handle_exception("definite_integral", e)
|
|
447
465
|
|
|
@@ -473,7 +491,7 @@ class SymPyToolkit(BaseToolkit):
|
|
|
473
491
|
var = sp.symbols(variable)
|
|
474
492
|
expr = sp.parsing.sympy_parser.parse_expr(expression)
|
|
475
493
|
series = sp.series(expr, var, point, order)
|
|
476
|
-
return json.dumps({"result": str(series)})
|
|
494
|
+
return json.dumps({"result": str(series)}, ensure_ascii=False)
|
|
477
495
|
except Exception as e:
|
|
478
496
|
return self.handle_exception("series_expansion", e)
|
|
479
497
|
|
|
@@ -505,7 +523,7 @@ class SymPyToolkit(BaseToolkit):
|
|
|
505
523
|
var = sp.symbols(variable)
|
|
506
524
|
expr = sp.parsing.sympy_parser.parse_expr(expression)
|
|
507
525
|
limit = sp.limit(expr, var, point)
|
|
508
|
-
return json.dumps({"result": str(limit)})
|
|
526
|
+
return json.dumps({"result": str(limit)}, ensure_ascii=False)
|
|
509
527
|
except Exception as e:
|
|
510
528
|
return self.handle_exception("compute_limit", e)
|
|
511
529
|
|
|
@@ -534,7 +552,8 @@ class SymPyToolkit(BaseToolkit):
|
|
|
534
552
|
derivative = sp.diff(expr, var)
|
|
535
553
|
critical_points = sp.solve(derivative, var)
|
|
536
554
|
return json.dumps(
|
|
537
|
-
{"result": [str(point) for point in critical_points]}
|
|
555
|
+
{"result": [str(point) for point in critical_points]},
|
|
556
|
+
ensure_ascii=False,
|
|
538
557
|
)
|
|
539
558
|
except Exception as e:
|
|
540
559
|
return self.handle_exception("find_critical_points", e)
|
|
@@ -568,7 +587,9 @@ class SymPyToolkit(BaseToolkit):
|
|
|
568
587
|
right_limit = sp.limit(expr, var, point, dir='+')
|
|
569
588
|
value_at_point = expr.subs(var, point)
|
|
570
589
|
is_continuous = left_limit == right_limit == value_at_point
|
|
571
|
-
return json.dumps(
|
|
590
|
+
return json.dumps(
|
|
591
|
+
{"result": str(is_continuous)}, ensure_ascii=False
|
|
592
|
+
)
|
|
572
593
|
except Exception as e:
|
|
573
594
|
return self.handle_exception("check_continuity", e)
|
|
574
595
|
|
|
@@ -590,7 +611,7 @@ class SymPyToolkit(BaseToolkit):
|
|
|
590
611
|
try:
|
|
591
612
|
mat = sp.Matrix(matrix)
|
|
592
613
|
determinant = mat.det()
|
|
593
|
-
return json.dumps({"result": str(determinant)})
|
|
614
|
+
return json.dumps({"result": str(determinant)}, ensure_ascii=False)
|
|
594
615
|
except Exception as e:
|
|
595
616
|
return self.handle_exception("compute_determinant", e)
|
|
596
617
|
|
|
@@ -613,7 +634,7 @@ class SymPyToolkit(BaseToolkit):
|
|
|
613
634
|
try:
|
|
614
635
|
mat = sp.Matrix(matrix)
|
|
615
636
|
inverse = mat.inv()
|
|
616
|
-
return json.dumps({"result": str(inverse)})
|
|
637
|
+
return json.dumps({"result": str(inverse)}, ensure_ascii=False)
|
|
617
638
|
except Exception as e:
|
|
618
639
|
return self.handle_exception("compute_inverse", e)
|
|
619
640
|
|
|
@@ -638,7 +659,8 @@ class SymPyToolkit(BaseToolkit):
|
|
|
638
659
|
mat = sp.Matrix(matrix)
|
|
639
660
|
eigenvalues = mat.eigenvals()
|
|
640
661
|
return json.dumps(
|
|
641
|
-
{"result": {str(k): str(v) for k, v in eigenvalues.items()}}
|
|
662
|
+
{"result": {str(k): str(v) for k, v in eigenvalues.items()}},
|
|
663
|
+
ensure_ascii=False,
|
|
642
664
|
)
|
|
643
665
|
except Exception as e:
|
|
644
666
|
return self.handle_exception("compute_eigenvalues", e)
|
|
@@ -676,7 +698,7 @@ class SymPyToolkit(BaseToolkit):
|
|
|
676
698
|
}
|
|
677
699
|
for eigenvalue, multiplicity, vectors in eigenvectors
|
|
678
700
|
]
|
|
679
|
-
return json.dumps({"result": result})
|
|
701
|
+
return json.dumps({"result": result}, ensure_ascii=False)
|
|
680
702
|
except Exception as e:
|
|
681
703
|
return self.handle_exception("compute_eigenvectors", e)
|
|
682
704
|
|
|
@@ -700,7 +722,9 @@ class SymPyToolkit(BaseToolkit):
|
|
|
700
722
|
try:
|
|
701
723
|
mat = sp.Matrix(matrix)
|
|
702
724
|
nullspace = mat.nullspace()
|
|
703
|
-
return json.dumps(
|
|
725
|
+
return json.dumps(
|
|
726
|
+
{"result": [str(vec) for vec in nullspace]}, ensure_ascii=False
|
|
727
|
+
)
|
|
704
728
|
except Exception as e:
|
|
705
729
|
return self.handle_exception("compute_nullspace", e)
|
|
706
730
|
|
|
@@ -722,7 +746,7 @@ class SymPyToolkit(BaseToolkit):
|
|
|
722
746
|
try:
|
|
723
747
|
mat = sp.Matrix(matrix)
|
|
724
748
|
rank = mat.rank()
|
|
725
|
-
return json.dumps({"result": rank})
|
|
749
|
+
return json.dumps({"result": rank}, ensure_ascii=False)
|
|
726
750
|
except Exception as e:
|
|
727
751
|
return self.handle_exception("compute_rank", e)
|
|
728
752
|
|
|
@@ -759,7 +783,9 @@ class SymPyToolkit(BaseToolkit):
|
|
|
759
783
|
|
|
760
784
|
# Compute the dot (inner) product.
|
|
761
785
|
inner_product = v1.dot(v2)
|
|
762
|
-
return json.dumps(
|
|
786
|
+
return json.dumps(
|
|
787
|
+
{"result": str(inner_product)}, ensure_ascii=False
|
|
788
|
+
)
|
|
763
789
|
except Exception as e:
|
|
764
790
|
return self.handle_exception("compute_inner_product", e)
|
|
765
791
|
|
|
@@ -781,7 +807,8 @@ class SymPyToolkit(BaseToolkit):
|
|
|
781
807
|
"""
|
|
782
808
|
logger.error(f"Error in {func_name}: {error}")
|
|
783
809
|
return json.dumps(
|
|
784
|
-
{"status": "error", "message": f"Error in {func_name}: {error}"}
|
|
810
|
+
{"status": "error", "message": f"Error in {func_name}: {error}"},
|
|
811
|
+
ensure_ascii=False,
|
|
785
812
|
)
|
|
786
813
|
|
|
787
814
|
def get_tools(self) -> List[FunctionTool]:
|
camel/types/enums.py
CHANGED
|
@@ -166,6 +166,7 @@ class ModelType(UnifiedModelType, Enum):
|
|
|
166
166
|
QWEN_2_5_14B = "qwen2.5-14b-instruct"
|
|
167
167
|
QWEN_QWQ_32B = "qwq-32b-preview"
|
|
168
168
|
QWEN_QVQ_72B = "qvq-72b-preview"
|
|
169
|
+
QWEN_QWQ_PLUS = "qwq-plus"
|
|
169
170
|
|
|
170
171
|
# Yi models (01-ai)
|
|
171
172
|
YI_LIGHTNING = "yi-lightning"
|
|
@@ -470,6 +471,7 @@ class ModelType(UnifiedModelType, Enum):
|
|
|
470
471
|
ModelType.QWEN_2_5_14B,
|
|
471
472
|
ModelType.QWEN_QWQ_32B,
|
|
472
473
|
ModelType.QWEN_QVQ_72B,
|
|
474
|
+
ModelType.QWEN_QWQ_PLUS,
|
|
473
475
|
}
|
|
474
476
|
|
|
475
477
|
@property
|
|
@@ -599,6 +601,7 @@ class ModelType(UnifiedModelType, Enum):
|
|
|
599
601
|
ModelType.NVIDIA_MISTRAL_LARGE,
|
|
600
602
|
ModelType.NVIDIA_MIXTRAL_8X7B,
|
|
601
603
|
ModelType.QWEN_QWQ_32B,
|
|
604
|
+
ModelType.QWEN_QWQ_PLUS,
|
|
602
605
|
ModelType.QWEN_QVQ_72B,
|
|
603
606
|
ModelType.INTERNLM3_8B_INSTRUCT,
|
|
604
607
|
ModelType.INTERNLM3_LATEST,
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
camel/__init__.py,sha256=
|
|
1
|
+
camel/__init__.py,sha256=3AYfBXH_CPMAtsuXZIspxxR0qgvvNc2dxiWqXFh_I98,912
|
|
2
2
|
camel/generators.py,sha256=JRqj9_m1PF4qT6UtybzTQ-KBT9MJQt18OAAYvQ_fr2o,13844
|
|
3
3
|
camel/human.py,sha256=9X09UmxI2JqQnhrFfnZ3B9EzFmVfdSWQcjLWTIXKXe0,4962
|
|
4
4
|
camel/logger.py,sha256=rZVeOVYuQ9RYJ5Tqyv0usqy0g4zaVEq4qSfZ9nd2640,5755
|
|
5
5
|
camel/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
6
6
|
camel/agents/__init__.py,sha256=LcS4m8s97-yADfznvcaAdUe9W0E9h3m6zrSc9H6m9so,1545
|
|
7
7
|
camel/agents/_types.py,sha256=GGpZ9FGq_SGla_Vz-YcYW7KMQzwE8lfM4Ga0QaGzKxk,1423
|
|
8
|
-
camel/agents/_utils.py,sha256=
|
|
8
|
+
camel/agents/_utils.py,sha256=0O9YjIin-ZSEux2fQ2NPuB2YIxXsPyd9Ws1Kll6Vxhw,6248
|
|
9
9
|
camel/agents/base.py,sha256=c4bJYL3G3Z41SaFdMPMn8ZjLdFiFaVOFO6EQIfuCVR8,1124
|
|
10
10
|
camel/agents/chat_agent.py,sha256=hd47ZXj0Hh0_5EI1T0pkS_lHt0h5M9iY9Ju3T22Yt_I,48036
|
|
11
11
|
camel/agents/critic_agent.py,sha256=qFVlHlQo0CVgmPWfWYLT8_oP_KyzCLFsQw_nN_vu5Bs,7487
|
|
@@ -21,11 +21,11 @@ camel/agents/tool_agents/__init__.py,sha256=hhd1kQYDshfvszN5JHBorINH9L3dI6xdDfKn
|
|
|
21
21
|
camel/agents/tool_agents/base.py,sha256=T6G5OaAJd4L_yHSFoWcrtqkMEyhge42ppVjx7lYD3Cg,1393
|
|
22
22
|
camel/agents/tool_agents/hugging_face_tool_agent.py,sha256=nNySkdBRYaD05rLyPxzmq8W7D9WPcNHCY9h1jD6S0Hk,8717
|
|
23
23
|
camel/benchmarks/__init__.py,sha256=QGZK03uHvXbblVap8lOVUrXlE6VprEDaNev9tiQAWF8,1122
|
|
24
|
-
camel/benchmarks/apibank.py,sha256=
|
|
25
|
-
camel/benchmarks/apibench.py,sha256=
|
|
24
|
+
camel/benchmarks/apibank.py,sha256=gqhrKQdBWUPrAH_C7-QHlf89rslCIcioSJqY1a_T1qg,21429
|
|
25
|
+
camel/benchmarks/apibench.py,sha256=DW4gJwn4_BTo_rk97tn5t03m385uGEC5M4-xAIrl1hU,19067
|
|
26
26
|
camel/benchmarks/base.py,sha256=GHbcE0KAenEiYb3x8orLgyGPp40KTdLHwahVFhI-cgE,4594
|
|
27
|
-
camel/benchmarks/gaia.py,sha256=
|
|
28
|
-
camel/benchmarks/nexus.py,sha256=
|
|
27
|
+
camel/benchmarks/gaia.py,sha256=TKUZr1XsPAVsJHxkpy0HUi64BMz0x3LAUUSRHlG2SxM,16858
|
|
28
|
+
camel/benchmarks/nexus.py,sha256=Yp1UGyaD3_857QKoUTOeSeB4MKqP08znaxa9hzm5gRk,18207
|
|
29
29
|
camel/benchmarks/ragbench.py,sha256=XlBV6YK_eZSH0yscNMX10BFHsVOXDfLqj4b8QHgsjlk,11079
|
|
30
30
|
camel/bots/__init__.py,sha256=6JRnSmUdnoZra20BJMqqrUrVfYSEbW9NyUksYmu6nwY,1174
|
|
31
31
|
camel/bots/telegram_bot.py,sha256=z0B2O14-GTKGVX5e6-Q85zMp3eISE_hH-KqxlGOFJtM,2595
|
|
@@ -63,7 +63,7 @@ camel/configs/zhipuai_config.py,sha256=30plN-bSwogoP87V7elTRCMBspOZ58t4aKgg9ZoJF
|
|
|
63
63
|
camel/data_collector/__init__.py,sha256=UWZya21xeJ6DvyLcf54XlYPg7ShOsNJmNR88kfRLmnA,924
|
|
64
64
|
camel/data_collector/alpaca_collector.py,sha256=fqS_kws1EU9mDWlVxPXcoD1GhJ7lEzC28muGIMxiUpg,4683
|
|
65
65
|
camel/data_collector/base.py,sha256=Rn0aJBBvpMZYYTLT1yNjIalIvDuVVwOx6iawKlzocZQ,6708
|
|
66
|
-
camel/data_collector/sharegpt_collector.py,sha256=
|
|
66
|
+
camel/data_collector/sharegpt_collector.py,sha256=MqsGjkP9jOPuXY2fhN0xQ6HUZM0ZDuD6GHMdrCpbCpw,7616
|
|
67
67
|
camel/datagen/__init__.py,sha256=EPF-eZ4rg7qbeSVZhfQ0iME0WDRSqRwBGbW-s0ZJ2EA,949
|
|
68
68
|
camel/datagen/cot_datagen.py,sha256=WMw4NhUJVgpWOTvsMaQ1Fk1BYSXLtUlP-00wYPSuK7A,17650
|
|
69
69
|
camel/datagen/self_improving_cot.py,sha256=4pTT_rsEOXevn3e_BlTpUFYsmDRCvV72sRkcmF-iywI,34284
|
|
@@ -80,10 +80,10 @@ camel/datagen/source2synth/models.py,sha256=gTdiKoGeHrZBPPOts6mKU9ZeUKh21uDcrCls
|
|
|
80
80
|
camel/datagen/source2synth/user_data_processor_config.py,sha256=WpIePsxzFbpv3wFl0Wpe6kl0fJmR2AajiBH2OOJvFC0,2409
|
|
81
81
|
camel/datahubs/__init__.py,sha256=1a8fRuzgirO2pHtPnuisZ76iF_AN9GxMFq9gwFKWE5I,906
|
|
82
82
|
camel/datahubs/base.py,sha256=4QKWiJaeL5ReQpyTAbOtzHs-2CzAYbVyoMngYwdpZGU,4357
|
|
83
|
-
camel/datahubs/huggingface.py,sha256=
|
|
83
|
+
camel/datahubs/huggingface.py,sha256=LgRruML4XnwHrm_jMB-aB-Ha-M9ErRrA7YmiL6saGis,14929
|
|
84
84
|
camel/datahubs/models.py,sha256=tGb9OP_aomIhnwc0VapJjTg9PmyV_QCp5to9sABXF0Y,978
|
|
85
85
|
camel/datasets/__init__.py,sha256=1hzkuN_B3i-VF6NbkyqyJkBbPzy0_qQImJcq-807VR4,945
|
|
86
|
-
camel/datasets/base_generator.py,sha256=
|
|
86
|
+
camel/datasets/base_generator.py,sha256=vP6vGEwtLwQTiaxiq5u8oKtIzMayx-JbXh7QYCaU97k,12256
|
|
87
87
|
camel/datasets/models.py,sha256=H0ksOfkwiPFjVr9xHMYbVoj8YTTWaLI2GYiWqesmiVs,2228
|
|
88
88
|
camel/datasets/static_dataset.py,sha256=3r_WeyzY5WsnP9iHxE-q25TIDlWncS55Qbc-ztHrfUU,12220
|
|
89
89
|
camel/embeddings/__init__.py,sha256=YKCFO_YVY-x4A4uWmRuoIEtltrilBmC17DkCcK4zSj8,1263
|
|
@@ -112,8 +112,8 @@ camel/interpreters/subprocess_interpreter.py,sha256=8tNbaQ8PQLy8HT3mrQ-vS93mcqn3
|
|
|
112
112
|
camel/interpreters/docker/Dockerfile,sha256=6_k33dlpxgf8V9vfywWmjLuOgHmT2s-a8Lb8VbFRv4s,253
|
|
113
113
|
camel/loaders/__init__.py,sha256=AJnrCWXkD0he3uJDxs7arMGf8nFqNYz3SK0JagMEO7A,1250
|
|
114
114
|
camel/loaders/apify_reader.py,sha256=oaVjKyNhJhG-hTuIwrpZ2hsB4XTL0M-kUksgSL2R0ck,7952
|
|
115
|
-
camel/loaders/base_io.py,sha256=
|
|
116
|
-
camel/loaders/chunkr_reader.py,sha256=
|
|
115
|
+
camel/loaders/base_io.py,sha256=zsbdBPHgSPFyQrtiUgAsHvy39QHWUObRYNaVvr-pPk0,10190
|
|
116
|
+
camel/loaders/chunkr_reader.py,sha256=Vzc0a1ac28DHQ5z40Va4ce2noOxaGnhRi3Clf60R1lc,6140
|
|
117
117
|
camel/loaders/firecrawl_reader.py,sha256=wCPHEWbfLv_q2x9MdTiSvJ_LDqUPO88lzPf0mmOBsME,5667
|
|
118
118
|
camel/loaders/jina_url_reader.py,sha256=dL9J5JlsFKEhi4gU_vYIxKvvf_RJ4LY9gG6i8P8JpcA,3601
|
|
119
119
|
camel/loaders/mineru_extractor.py,sha256=nKa5n7f3ergv1TURcbXZJP5mQpnSCIFdlWrxWn4hBz8,9070
|
|
@@ -130,10 +130,10 @@ camel/memories/context_creators/__init__.py,sha256=pqzkBM2ro5JZD7RhWg05TjinphhCq
|
|
|
130
130
|
camel/memories/context_creators/score_based.py,sha256=wNPino1fMS4UwebMGc3lgCa5mdVLIXfN3WMxB8xL-x8,5999
|
|
131
131
|
camel/messages/__init__.py,sha256=Px-gTFp2Kcgbeb2sZQ_f4tqjoLHE-QEOiMHIMfPrvTw,1949
|
|
132
132
|
camel/messages/base.py,sha256=dY9HVqoVjUDvlNzCHOwcTSbhiPvIi6CINLg8oJ1U5j4,19602
|
|
133
|
-
camel/messages/func_message.py,sha256=
|
|
133
|
+
camel/messages/func_message.py,sha256=2fv35Ruyhhf-wmqtCPiqC-ZujnR-hJH-rEoSgPTKdA8,5959
|
|
134
134
|
camel/messages/conversion/__init__.py,sha256=8B4C-0wj-dm925YRKNyx31WYK25PWpME7Q9jPtx2jkY,1047
|
|
135
135
|
camel/messages/conversion/alpaca.py,sha256=jBU2bMhzNjzptGuoasThYvFov_cYPCYt3pEfs0T7z7U,4163
|
|
136
|
-
camel/messages/conversion/conversation_models.py,sha256=
|
|
136
|
+
camel/messages/conversion/conversation_models.py,sha256=qTrH62Iem4F_KcxNR6PvfjnrkfVbOyRBhyUgok4EviM,5340
|
|
137
137
|
camel/messages/conversion/sharegpt/__init__.py,sha256=oWUuHV5w85kxqhz_hoElLmCfzLm-ccku-fM9SnUJ5zI,794
|
|
138
138
|
camel/messages/conversion/sharegpt/function_call_formatter.py,sha256=cn7e7CfmxEVFlfOqhjhNuA8nuWvWD6hXYn-3okXNxxQ,1832
|
|
139
139
|
camel/messages/conversion/sharegpt/hermes/__init__.py,sha256=mxuMSm-neaTgInIjYXuIVdC310E6jKJzM3IdtaJ4qY4,812
|
|
@@ -145,7 +145,7 @@ camel/models/anthropic_model.py,sha256=8XAj9sVaN1X0hvrL9a-qsmkAFWoGe1Ozj5XZsXYe1
|
|
|
145
145
|
camel/models/azure_openai_model.py,sha256=l8hqhRQyxtkPR9mUq6fzbeL3ARjGxE8aht_GhiWC-r4,10383
|
|
146
146
|
camel/models/base_audio_model.py,sha256=QkLqh0v-5kcE_jwFB5xAgvztAqB2Bot4_iG9sZdcl8A,2986
|
|
147
147
|
camel/models/base_model.py,sha256=RolL8fRwVpfz8g9lpb_71h0mYTNl-U63f8KBy6hc3E0,10679
|
|
148
|
-
camel/models/cohere_model.py,sha256=
|
|
148
|
+
camel/models/cohere_model.py,sha256=i1GHWp1l9oqbhzCjyaG9njrqLF1__q38OrTWOgChofw,13421
|
|
149
149
|
camel/models/deepseek_model.py,sha256=HjFEGhxOuEGYOzE8dbkdJRjtrDIbyUZ9XRPKAgm4UFo,9621
|
|
150
150
|
camel/models/fish_audio_model.py,sha256=RCwORRIdCbjZXWWjjctpksPI2DnS0b68JjxunHBQ1xk,5981
|
|
151
151
|
camel/models/gemini_model.py,sha256=MUIQfZmSiqABPRjwjA8C-oIpRCgJmkRssM14BBApMWA,9779
|
|
@@ -164,7 +164,7 @@ camel/models/openai_compatible_model.py,sha256=GswUEFqVRJGCUb1IwgkR_SOIKCX7LrA4k
|
|
|
164
164
|
camel/models/openai_model.py,sha256=CbfD9yVtAltyqdFpjnLXncFnmaGPDZq8JhJDaSfG0pc,10186
|
|
165
165
|
camel/models/qwen_model.py,sha256=_LeeB0yrXRMI-gZOEEOHg0bWNOJpuQHf2G7u40--3r8,7064
|
|
166
166
|
camel/models/reka_model.py,sha256=15DscZf3lbqsIzm6kzjzDrhblBt1_0xlphT4isuQMu0,10146
|
|
167
|
-
camel/models/samba_model.py,sha256=
|
|
167
|
+
camel/models/samba_model.py,sha256=t8b9TA1iVlOUizYSn5NDw4RZWjURqsyd4mkisDXef_s,22558
|
|
168
168
|
camel/models/sglang_model.py,sha256=lAxWpArP74lQ3E2IG-tEtBbs5ZRQPwKMfThvWSq1nFg,13782
|
|
169
169
|
camel/models/siliconflow_model.py,sha256=c5vk4zAhZVf8pDF1uh-iSa_v8d0QoPLuIN27EemdMGE,5659
|
|
170
170
|
camel/models/stub_model.py,sha256=dygYoxemnWWaxEX21L8QyKe-c75ti2CK9HnTuyHL5vs,5160
|
|
@@ -179,7 +179,7 @@ camel/models/reward/evaluator.py,sha256=54ev5MuQ_5Tp0-LGO59EIuIkGrVMbtXXqpBR5Ps9
|
|
|
179
179
|
camel/models/reward/nemotron_model.py,sha256=EICDP2SyQpARupxsGWFKJHNADsVknT_t6tCG5R8AEPA,3916
|
|
180
180
|
camel/models/reward/skywork_model.py,sha256=KxHVDuwja2kZBCoCX8_sLBbXUGRSFsTPjgwsy1uyoyU,3246
|
|
181
181
|
camel/personas/__init__.py,sha256=b2EU-unbIfCZjgq2dODf9mq0L9-VP5QXDVTjeYyvKCM,804
|
|
182
|
-
camel/personas/persona.py,sha256=
|
|
182
|
+
camel/personas/persona.py,sha256=PCu_hCXM3AqOc4J0HT8F6_WT_GKj8ahWM1Aw1lxL0q4,4253
|
|
183
183
|
camel/personas/persona_hub.py,sha256=v5O3BE_krz6s1OOiRhhnODuCf-2cqIw1tDCWgGG55dU,10555
|
|
184
184
|
camel/prompts/__init__.py,sha256=suZUHJ4XUDCU4mB0AtMCcPbfzHU2nHEZH37sC_oyCx4,2386
|
|
185
185
|
camel/prompts/ai_society.py,sha256=dOLSDCcjHkwTFXYorc0bSZq76DHj2cRMGKBVCViaaEg,6300
|
|
@@ -208,12 +208,12 @@ camel/retrievers/cohere_rerank_retriever.py,sha256=tzMS3HG4wD3gbIAVcHsC5fTbFxuiN
|
|
|
208
208
|
camel/retrievers/hybrid_retrival.py,sha256=2ySeXnLunoBHarqssijjxn7bAQGypAXX6QdzxYstreM,9466
|
|
209
209
|
camel/retrievers/vector_retriever.py,sha256=qWR9aUpXyhfv_t6rdgnOCASzfB13FkOWhx3BttIqNa8,10748
|
|
210
210
|
camel/runtime/__init__.py,sha256=QFxG8qYixImqSmC5bLXgT4_gkC5V8nq9dr9XlY4iZZM,1125
|
|
211
|
-
camel/runtime/api.py,sha256=
|
|
211
|
+
camel/runtime/api.py,sha256=JfkHqQ_Xs3ZNl4TXC_obV3Ymi21ltP1LAkXzBA3H_Lo,3227
|
|
212
212
|
camel/runtime/base.py,sha256=KKBLO6PwWEWBXbYaVtO9JXqBT8110iYpMhgNSIxQvYQ,1512
|
|
213
213
|
camel/runtime/configs.py,sha256=7swJ6shD5CAnQj16D_j1BWJjRDHLue8_BJcQ1-YiKJI,2431
|
|
214
|
-
camel/runtime/docker_runtime.py,sha256=
|
|
214
|
+
camel/runtime/docker_runtime.py,sha256=Q1eN4rWxDB4PF_G7nq64Rk7xhRZgAhNqmlxsu6YMdCg,13578
|
|
215
215
|
camel/runtime/llm_guard_runtime.py,sha256=n8MImZsYLXCfr6LG6BFvlC75Al16GMJMvGp4vFsob6E,8101
|
|
216
|
-
camel/runtime/remote_http_runtime.py,sha256=
|
|
216
|
+
camel/runtime/remote_http_runtime.py,sha256=Emgz2xz4vbwCvErDk6Ni25aDA3EBXoPOQ7U70AgVg0w,6669
|
|
217
217
|
camel/runtime/utils/__init__.py,sha256=_4kT7j4gW9t5Zd_AbFa2mcHe8rpLB0tVlgAhQHxfwQQ,875
|
|
218
218
|
camel/runtime/utils/function_risk_toolkit.py,sha256=0A9IN61JSziwKYB0AtCTZByXV9A3zWDRcNATG2V2dmA,2356
|
|
219
219
|
camel/runtime/utils/ignore_risk_toolkit.py,sha256=kvLyF7EWEjXhlQJsmvA3JDB7An_LjtFjCaanNxOVaBE,2695
|
|
@@ -242,8 +242,8 @@ camel/storages/graph_storages/neo4j_graph.py,sha256=Ng7fLCUrWhdFAd4d6UEpuAB6B6Qg
|
|
|
242
242
|
camel/storages/key_value_storages/__init__.py,sha256=le_hl7MYoQvaiYaJHwomy8c0cvTemicZbmwxgCJUpOs,962
|
|
243
243
|
camel/storages/key_value_storages/base.py,sha256=FSfxeLuG7SPvn-Mg-OQxtRKPtQBnRkB7lYeDaFOefpk,2177
|
|
244
244
|
camel/storages/key_value_storages/in_memory.py,sha256=k04Nx53lYxD5MoqDtBEgZrQYkAQ-zIuU6tqnoNqiHws,1949
|
|
245
|
-
camel/storages/key_value_storages/json.py,sha256=
|
|
246
|
-
camel/storages/key_value_storages/redis.py,sha256=
|
|
245
|
+
camel/storages/key_value_storages/json.py,sha256=6GY91uqI2FgSO9mIEZGLSclIOOqDVLEXLn3mBQTJ1lg,3584
|
|
246
|
+
camel/storages/key_value_storages/redis.py,sha256=Suo7wxxBXFc0fkJ8qSX2xQ26Ik_YhoKWfTOVQKUl5vA,5720
|
|
247
247
|
camel/storages/object_storages/__init__.py,sha256=26yATVTD9yVH-p9KueD30JakstTGiDh89GcFtUNNe4U,915
|
|
248
248
|
camel/storages/object_storages/amazon_s3.py,sha256=9Yvyyyb1LGHxr8REEza7oGopbVtLEfOyXWJc18ZwgqA,7418
|
|
249
249
|
camel/storages/object_storages/azure_blob.py,sha256=66dHcvjE2ZNdb339oBU6LbFiKzPYrnlb4tQ_3m2Yazc,5992
|
|
@@ -271,19 +271,19 @@ camel/toolkits/dalle_toolkit.py,sha256=Usmw3JiJErLQgWSB1qKq_bOACNwbUTQPFc_EsVzTr
|
|
|
271
271
|
camel/toolkits/dappier_toolkit.py,sha256=_69IAmXE2QSbwGxnSEycaV2XrrkiM5wKI6heM7-4MfU,8175
|
|
272
272
|
camel/toolkits/data_commons_toolkit.py,sha256=VmDipqHabDdYVCzhuoaPE832i76yXt-uom7p5ObH1w0,14121
|
|
273
273
|
camel/toolkits/excel_toolkit.py,sha256=7ihj4vAmbWA1RFNQb0b5h86HY0cFYLlgX5h6laGCM-E,5908
|
|
274
|
-
camel/toolkits/file_write_toolkit.py,sha256
|
|
274
|
+
camel/toolkits/file_write_toolkit.py,sha256=-efVXPEaHCZbsYi6BGffb6HMld-y8vFD6mU3gxoHFTo,13443
|
|
275
275
|
camel/toolkits/function_tool.py,sha256=9I-7HHGf5TzdQDJce9xyz1tfrGZr5Os5iAopMK4p0XA,30325
|
|
276
276
|
camel/toolkits/github_toolkit.py,sha256=EifsTjWJdykNgrGkhUJSHMRy1yx2oQdkW6eLqs8o0oQ,11728
|
|
277
277
|
camel/toolkits/google_maps_toolkit.py,sha256=WTnkURpGri9KcY5OwV7AJJHOzmpu5RNmYE1QCVqvwWM,12023
|
|
278
278
|
camel/toolkits/google_scholar_toolkit.py,sha256=pRFr-GZeGaYARuzbEhg3aDKyzWwAfj02YVp1Y5WOGTQ,7515
|
|
279
279
|
camel/toolkits/human_toolkit.py,sha256=9CjB1flGXIx7mzkIliDjcwXATUvZNdrRCKWyEgR9EJc,1791
|
|
280
280
|
camel/toolkits/image_analysis_toolkit.py,sha256=dpvT8n49s8B8AhJ8aFdy4OONb8E8r_Cwxpx-ByFruy8,7209
|
|
281
|
-
camel/toolkits/linkedin_toolkit.py,sha256=
|
|
281
|
+
camel/toolkits/linkedin_toolkit.py,sha256=5ZSMG01RXjibJ2CtB1vLlQ4B-rv4sqf_2cUZC78WTE8,8041
|
|
282
282
|
camel/toolkits/math_toolkit.py,sha256=5yVF0bKuwkZIV01uICd3TOfktXlTERjKt4DrFyz_oaE,3639
|
|
283
283
|
camel/toolkits/mcp_toolkit.py,sha256=emglu4H4Kg_CGku9_8xKUqUwCzjXCIlgilGT-v7qlPE,17647
|
|
284
284
|
camel/toolkits/meshy_toolkit.py,sha256=Fd6sQV2JtduxyvHxCBA0_zl2OCgJRAlvDEe58hX8gRg,6463
|
|
285
285
|
camel/toolkits/mineru_toolkit.py,sha256=vRX9LholLNkpbJ6axfEN4pTG85aWb0PDmlVy3rAAXhg,6868
|
|
286
|
-
camel/toolkits/networkx_toolkit.py,sha256=
|
|
286
|
+
camel/toolkits/networkx_toolkit.py,sha256=Zdnk5zmM_xzyoQ0qH0YRu8HY1Y0Uojg69sg1VVBvPcQ,8523
|
|
287
287
|
camel/toolkits/notion_toolkit.py,sha256=44TYy_51RhIQVfCuLKMH9U5cmRCzpQNSEN9IbrZlSqU,9590
|
|
288
288
|
camel/toolkits/open_api_toolkit.py,sha256=Venfq8JwTMQfzRzzB7AYmYUMEX35hW0BjIv_ozFMiNk,23316
|
|
289
289
|
camel/toolkits/openbb_toolkit.py,sha256=_13onVlXnUz9SZQHkeqQlZpXf1GVWp8BzrCFSK8aCMY,28911
|
|
@@ -291,11 +291,11 @@ camel/toolkits/page_script.js,sha256=gypbuQ_gn_oa3rQDoCN_q-kJ0jND1eSvY-30PufPZmQ
|
|
|
291
291
|
camel/toolkits/pubmed_toolkit.py,sha256=vrd5GIhSYt9Z8EHaWkFb0x9i6_TP7pQZc7jlLHSol04,12180
|
|
292
292
|
camel/toolkits/reddit_toolkit.py,sha256=cTqEq1CRaLq9XxUHkHCmd09tRzb5Mz_bUs2JV58ewrs,8012
|
|
293
293
|
camel/toolkits/retrieval_toolkit.py,sha256=y_mQtknrSIDDXSyQb-4FY6ahV_mOxkBhDkA2eMIVnz0,3801
|
|
294
|
-
camel/toolkits/search_toolkit.py,sha256=
|
|
295
|
-
camel/toolkits/semantic_scholar_toolkit.py,sha256=
|
|
294
|
+
camel/toolkits/search_toolkit.py,sha256=QIV9scEZbGx2PaAFkM4EDxnAr6gg8fZeKj8TrGlLC-I,38916
|
|
295
|
+
camel/toolkits/semantic_scholar_toolkit.py,sha256=DlkmHOVZ3KBSlxwxxZxJlA8RprZYpLpIAdZOrPAvAbM,11587
|
|
296
296
|
camel/toolkits/slack_toolkit.py,sha256=n8cn3kZIc27B-2KMTRK6Nsdan37SwMqBiBi1PMtuUvQ,10744
|
|
297
|
-
camel/toolkits/stripe_toolkit.py,sha256=
|
|
298
|
-
camel/toolkits/sympy_toolkit.py,sha256=
|
|
297
|
+
camel/toolkits/stripe_toolkit.py,sha256=taOMTa2P0GVkG5QZdBFL3cAHsSGrLDRrdXlVZ065hio,10078
|
|
298
|
+
camel/toolkits/sympy_toolkit.py,sha256=XtfZ3RGG-Oma7yS1pKyq3jTrXqq7uLxWE7vD3e-jo4I,33711
|
|
299
299
|
camel/toolkits/terminal_toolkit.py,sha256=y-6Spdn_58Yrj3Rc5rhCX4vVgZsfm80lnI3fv9kPVUA,15181
|
|
300
300
|
camel/toolkits/twitter_toolkit.py,sha256=a2OLSJSW2wY7pOwOApb1qchZPXzH22Rbgm9Yd7-7vrA,15826
|
|
301
301
|
camel/toolkits/video_analysis_toolkit.py,sha256=lDAY6YP1zXykSxt8Qanf0WZR3l1p8c4akKPkaF5R3wU,15064
|
|
@@ -329,7 +329,7 @@ camel/toolkits/open_api_specs/web_scraper/openapi.yaml,sha256=u_WalQ01e8W1D27VnZ
|
|
|
329
329
|
camel/toolkits/open_api_specs/web_scraper/paths/__init__.py,sha256=OKCZrQCDwaWtXIN_2rA9FSqEvgpQRieRoHh7Ek6N16A,702
|
|
330
330
|
camel/toolkits/open_api_specs/web_scraper/paths/scraper.py,sha256=aWy1_ppV4NVVEZfnbN3tu9XA9yAPAC9bRStJ5JuXMRU,1117
|
|
331
331
|
camel/types/__init__.py,sha256=VLWhAt857IFct3XepY5BNOIhyhDhfmODTezr9jhO_TI,2251
|
|
332
|
-
camel/types/enums.py,sha256=
|
|
332
|
+
camel/types/enums.py,sha256=zIgu5av92E1PPoDbU0ezvCNmp-aOuOBn4IFWhrG_Ymg,34448
|
|
333
333
|
camel/types/openai_types.py,sha256=8ZFzLe-zGmKNPfuVZFzxlxAX98lGf18gtrPhOgMmzus,2104
|
|
334
334
|
camel/types/unified_model_type.py,sha256=GP5GYtA3RfvLsqnk1c4UcOaRKMFhjDgZrLr0ln6JFw8,4253
|
|
335
335
|
camel/types/agents/__init__.py,sha256=cbvVkogPoZgcwZrgxLH6EtpGXk0kavF79nOic0Dc1vg,786
|
|
@@ -345,7 +345,7 @@ camel/verifiers/__init__.py,sha256=p6UEyvaOlwUQaFACGB4C07fL1xSnpTouElt19YRuneQ,9
|
|
|
345
345
|
camel/verifiers/base.py,sha256=efWZV9g58IHzJ24U4zr109y34CaAi8tV9WZPMCzP3YI,12017
|
|
346
346
|
camel/verifiers/models.py,sha256=hC6m_YxEX-mqi_tkCNZHZWLBWf04ZTyv5vfKR-BEyU4,2818
|
|
347
347
|
camel/verifiers/python_verifier.py,sha256=bj-UGxeJTZzxVVa3a8IEQ1lNOpSaaW3JdGnUEoPeQD0,7519
|
|
348
|
-
camel_ai-0.2.
|
|
349
|
-
camel_ai-0.2.
|
|
350
|
-
camel_ai-0.2.
|
|
351
|
-
camel_ai-0.2.
|
|
348
|
+
camel_ai-0.2.31.dist-info/METADATA,sha256=ikaZBrxTm9AelDQjHjCXFsWwrA_sqwPWcAMUzLYaYRI,38046
|
|
349
|
+
camel_ai-0.2.31.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
350
|
+
camel_ai-0.2.31.dist-info/licenses/LICENSE,sha256=id0nB2my5kG0xXeimIu5zZrbHLS6EQvxvkKkzIHaT2k,11343
|
|
351
|
+
camel_ai-0.2.31.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|