camel-ai 0.2.12__py3-none-any.whl → 0.2.13__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of camel-ai might be problematic. Click here for more details.
- camel/__init__.py +1 -1
- camel/agents/chat_agent.py +1 -1
- camel/embeddings/openai_compatible_embedding.py +1 -1
- camel/embeddings/openai_embedding.py +1 -1
- camel/messages/base.py +5 -5
- camel/models/__init__.py +2 -0
- camel/models/anthropic_model.py +1 -1
- camel/models/azure_openai_model.py +1 -1
- camel/models/deepseek_model.py +1 -1
- camel/models/fish_audio_model.py +146 -0
- camel/models/gemini_model.py +1 -1
- camel/models/groq_model.py +1 -1
- camel/models/nemotron_model.py +1 -1
- camel/models/nvidia_model.py +1 -1
- camel/models/ollama_model.py +1 -1
- camel/models/openai_compatible_model.py +1 -1
- camel/models/openai_model.py +1 -1
- camel/models/qwen_model.py +1 -1
- camel/models/reward/nemotron_model.py +1 -1
- camel/models/samba_model.py +1 -1
- camel/models/sglang_model.py +2 -2
- camel/models/togetherai_model.py +1 -1
- camel/models/vllm_model.py +1 -1
- camel/models/yi_model.py +1 -1
- camel/models/zhipuai_model.py +1 -1
- camel/runtime/configs.py +12 -12
- camel/runtime/docker_runtime.py +7 -7
- camel/runtime/llm_guard_runtime.py +3 -3
- camel/runtime/remote_http_runtime.py +5 -5
- camel/runtime/utils/function_risk_toolkit.py +1 -1
- camel/runtime/utils/ignore_risk_toolkit.py +2 -2
- camel/toolkits/arxiv_toolkit.py +6 -6
- camel/toolkits/ask_news_toolkit.py +2 -2
- camel/toolkits/github_toolkit.py +3 -3
- camel/toolkits/google_scholar_toolkit.py +16 -2
- camel/toolkits/meshy_toolkit.py +2 -2
- camel/toolkits/search_toolkit.py +2 -2
- camel/utils/token_counting.py +9 -2
- {camel_ai-0.2.12.dist-info → camel_ai-0.2.13.dist-info}/METADATA +13 -10
- {camel_ai-0.2.12.dist-info → camel_ai-0.2.13.dist-info}/RECORD +42 -41
- {camel_ai-0.2.12.dist-info → camel_ai-0.2.13.dist-info}/LICENSE +0 -0
- {camel_ai-0.2.12.dist-info → camel_ai-0.2.13.dist-info}/WHEEL +0 -0
camel/__init__.py
CHANGED
camel/agents/chat_agent.py
CHANGED
|
@@ -1042,7 +1042,7 @@ class ChatAgent(BaseAgent):
|
|
|
1042
1042
|
num_tokens (int): The number of tokens used in this step.
|
|
1043
1043
|
external_tool_request (Optional[ChatCompletionMessageToolCall]):
|
|
1044
1044
|
Any external tool request made during this step.
|
|
1045
|
-
(default
|
|
1045
|
+
(default: :obj:`None`)
|
|
1046
1046
|
|
|
1047
1047
|
Returns:
|
|
1048
1048
|
Dict[str, Any]: A dictionary containing information about the chat
|
|
@@ -56,7 +56,7 @@ class OpenAIEmbedding(BaseEmbedding[str]):
|
|
|
56
56
|
assert isinstance(dimensions, int)
|
|
57
57
|
self.output_dim = dimensions
|
|
58
58
|
self._api_key = api_key or os.environ.get("OPENAI_API_KEY")
|
|
59
|
-
self.client = OpenAI(timeout=
|
|
59
|
+
self.client = OpenAI(timeout=180, max_retries=3, api_key=self._api_key)
|
|
60
60
|
|
|
61
61
|
@api_keys_required("OPENAI_API_KEY")
|
|
62
62
|
def embed_list(
|
camel/messages/base.py
CHANGED
|
@@ -52,15 +52,15 @@ class BaseMessage:
|
|
|
52
52
|
for the message.
|
|
53
53
|
content (str): The content of the message.
|
|
54
54
|
video_bytes (Optional[bytes]): Optional bytes of a video associated
|
|
55
|
-
with the message. (default
|
|
55
|
+
with the message. (default: :obj:`None`)
|
|
56
56
|
image_list (Optional[List[Image.Image]]): Optional list of PIL Image
|
|
57
|
-
objects associated with the message. (default
|
|
57
|
+
objects associated with the message. (default: :obj:`None`)
|
|
58
58
|
image_detail (Literal["auto", "low", "high"]): Detail level of the
|
|
59
|
-
images associated with the message. (default
|
|
59
|
+
images associated with the message. (default: :obj:`auto`)
|
|
60
60
|
video_detail (Literal["auto", "low", "high"]): Detail level of the
|
|
61
|
-
videos associated with the message. (default
|
|
61
|
+
videos associated with the message. (default: :obj:`low`)
|
|
62
62
|
parsed: Optional[Union[Type[BaseModel], dict]]: Optional object which
|
|
63
|
-
is parsed from the content. (default
|
|
63
|
+
is parsed from the content. (default: :obj:`None`)
|
|
64
64
|
"""
|
|
65
65
|
|
|
66
66
|
role_name: str
|
camel/models/__init__.py
CHANGED
|
@@ -16,6 +16,7 @@ from .azure_openai_model import AzureOpenAIModel
|
|
|
16
16
|
from .base_model import BaseModelBackend
|
|
17
17
|
from .cohere_model import CohereModel
|
|
18
18
|
from .deepseek_model import DeepSeekModel
|
|
19
|
+
from .fish_audio_model import FishAudioModel
|
|
19
20
|
from .gemini_model import GeminiModel
|
|
20
21
|
from .groq_model import GroqModel
|
|
21
22
|
from .litellm_model import LiteLLMModel
|
|
@@ -66,4 +67,5 @@ __all__ = [
|
|
|
66
67
|
'QwenModel',
|
|
67
68
|
'ModelProcessingError',
|
|
68
69
|
'DeepSeekModel',
|
|
70
|
+
'FishAudioModel',
|
|
69
71
|
]
|
camel/models/anthropic_model.py
CHANGED
|
@@ -35,7 +35,7 @@ class AnthropicModel(BaseModelBackend):
|
|
|
35
35
|
model_config_dict (Optional[Dict[str, Any]], optional): A dictionary
|
|
36
36
|
that will be fed into Anthropic.messages.create(). If
|
|
37
37
|
:obj:`None`, :obj:`AnthropicConfig().as_dict()` will be used.
|
|
38
|
-
(default
|
|
38
|
+
(default: :obj:`None`)
|
|
39
39
|
api_key (Optional[str], optional): The API key for authenticating with
|
|
40
40
|
the Anthropic service. (default: :obj:`None`)
|
|
41
41
|
url (Optional[str], optional): The url to the Anthropic service.
|
camel/models/deepseek_model.py
CHANGED
|
@@ -0,0 +1,146 @@
|
|
|
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
|
+
import os
|
|
16
|
+
from typing import Any, Optional
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class FishAudioModel:
|
|
20
|
+
r"""Provides access to FishAudio's Text-to-Speech (TTS) and Speech_to_Text
|
|
21
|
+
(STT) models.
|
|
22
|
+
"""
|
|
23
|
+
|
|
24
|
+
def __init__(
|
|
25
|
+
self,
|
|
26
|
+
api_key: Optional[str] = None,
|
|
27
|
+
url: Optional[str] = None,
|
|
28
|
+
) -> None:
|
|
29
|
+
r"""Initialize an instance of FishAudioModel.
|
|
30
|
+
|
|
31
|
+
Args:
|
|
32
|
+
api_key (Optional[str]): API key for FishAudio service. If not
|
|
33
|
+
provided, the environment variable `FISHAUDIO_API_KEY` will be
|
|
34
|
+
used.
|
|
35
|
+
url (Optional[str]): Base URL for FishAudio API. If not provided,
|
|
36
|
+
the environment variable `FISHAUDIO_API_BASE_URL` will be used.
|
|
37
|
+
"""
|
|
38
|
+
from fish_audio_sdk import Session
|
|
39
|
+
|
|
40
|
+
self._api_key = api_key or os.environ.get("FISHAUDIO_API_KEY")
|
|
41
|
+
self._url = url or os.environ.get(
|
|
42
|
+
"FISHAUDIO_API_BASE_URL", "https://api.fish.audio"
|
|
43
|
+
)
|
|
44
|
+
self.session = Session(apikey=self._api_key, base_url=self._url)
|
|
45
|
+
|
|
46
|
+
def text_to_speech(
|
|
47
|
+
self,
|
|
48
|
+
input: str,
|
|
49
|
+
storage_path: str,
|
|
50
|
+
reference_id: Optional[str] = None,
|
|
51
|
+
reference_audio: Optional[str] = None,
|
|
52
|
+
reference_audio_text: Optional[str] = None,
|
|
53
|
+
**kwargs: Any,
|
|
54
|
+
) -> Any:
|
|
55
|
+
r"""Convert text to speech and save the output to a file.
|
|
56
|
+
|
|
57
|
+
Args:
|
|
58
|
+
input_text (str): The text to convert to speech.
|
|
59
|
+
storage_path (str): The file path where the resulting speech will
|
|
60
|
+
be saved.
|
|
61
|
+
reference_id (Optional[str]): An optional reference ID to
|
|
62
|
+
associate with the request. (default: :obj:`None`)
|
|
63
|
+
reference_audio (Optional[str]): Path to an audio file for
|
|
64
|
+
reference speech. (default: :obj:`None`)
|
|
65
|
+
reference_audio_text (Optional[str]): Text for the reference audio.
|
|
66
|
+
(default: :obj:`None`)
|
|
67
|
+
**kwargs (Any): Additional parameters to pass to the TTS request.
|
|
68
|
+
|
|
69
|
+
Raises:
|
|
70
|
+
FileNotFoundError: If the reference audio file cannot be found.
|
|
71
|
+
"""
|
|
72
|
+
from fish_audio_sdk import ReferenceAudio, TTSRequest
|
|
73
|
+
|
|
74
|
+
directory = os.path.dirname(storage_path)
|
|
75
|
+
if directory and not os.path.exists(directory):
|
|
76
|
+
os.makedirs(directory)
|
|
77
|
+
|
|
78
|
+
if not reference_audio:
|
|
79
|
+
with open(f"{storage_path}", "wb") as f:
|
|
80
|
+
for chunk in self.session.tts(
|
|
81
|
+
TTSRequest(reference_id=reference_id, text=input, **kwargs)
|
|
82
|
+
):
|
|
83
|
+
f.write(chunk)
|
|
84
|
+
else:
|
|
85
|
+
if not os.path.exists(reference_audio):
|
|
86
|
+
raise FileNotFoundError(
|
|
87
|
+
f"Reference audio file not found: {reference_audio}"
|
|
88
|
+
)
|
|
89
|
+
if not reference_audio_text:
|
|
90
|
+
raise ValueError("reference_audio_text should be provided")
|
|
91
|
+
with open(f"{reference_audio}", "rb") as audio_file:
|
|
92
|
+
with open(f"{storage_path}", "wb") as f:
|
|
93
|
+
for chunk in self.session.tts(
|
|
94
|
+
TTSRequest(
|
|
95
|
+
text=input,
|
|
96
|
+
references=[
|
|
97
|
+
ReferenceAudio(
|
|
98
|
+
audio=audio_file.read(),
|
|
99
|
+
text=reference_audio_text,
|
|
100
|
+
)
|
|
101
|
+
],
|
|
102
|
+
**kwargs,
|
|
103
|
+
)
|
|
104
|
+
):
|
|
105
|
+
f.write(chunk)
|
|
106
|
+
|
|
107
|
+
def speech_to_text(
|
|
108
|
+
self,
|
|
109
|
+
audio_file_path: str,
|
|
110
|
+
language: Optional[str] = None,
|
|
111
|
+
ignore_timestamps: Optional[bool] = None,
|
|
112
|
+
**kwargs: Any,
|
|
113
|
+
) -> str:
|
|
114
|
+
r"""Convert speech to text from an audio file.
|
|
115
|
+
|
|
116
|
+
Args:
|
|
117
|
+
audio_file_path (str): The path to the audio file to transcribe.
|
|
118
|
+
language (Optional[str]): The language of the audio. (default:
|
|
119
|
+
:obj:`None`)
|
|
120
|
+
ignore_timestamps (Optional[bool]): Whether to ignore timestamps.
|
|
121
|
+
(default: :obj:`None`)
|
|
122
|
+
**kwargs (Any): Additional parameters to pass to the STT request.
|
|
123
|
+
|
|
124
|
+
Returns:
|
|
125
|
+
str: The transcribed text from the audio.
|
|
126
|
+
|
|
127
|
+
Raises:
|
|
128
|
+
FileNotFoundError: If the audio file cannot be found.
|
|
129
|
+
"""
|
|
130
|
+
from fish_audio_sdk import ASRRequest
|
|
131
|
+
|
|
132
|
+
if not os.path.exists(audio_file_path):
|
|
133
|
+
raise FileNotFoundError(f"Audio file not found: {audio_file_path}")
|
|
134
|
+
|
|
135
|
+
with open(f"{audio_file_path}", "rb") as audio_file:
|
|
136
|
+
audio_data = audio_file.read()
|
|
137
|
+
|
|
138
|
+
response = self.session.asr(
|
|
139
|
+
ASRRequest(
|
|
140
|
+
audio=audio_data,
|
|
141
|
+
language=language,
|
|
142
|
+
ignore_timestamps=ignore_timestamps,
|
|
143
|
+
**kwargs,
|
|
144
|
+
)
|
|
145
|
+
)
|
|
146
|
+
return response.text
|
camel/models/gemini_model.py
CHANGED
camel/models/groq_model.py
CHANGED
camel/models/nemotron_model.py
CHANGED
|
@@ -52,7 +52,7 @@ class NemotronModel(BaseModelBackend):
|
|
|
52
52
|
api_key = api_key or os.environ.get("NVIDIA_API_KEY")
|
|
53
53
|
super().__init__(model_type, {}, api_key, url)
|
|
54
54
|
self._client = OpenAI(
|
|
55
|
-
timeout=
|
|
55
|
+
timeout=180,
|
|
56
56
|
max_retries=3,
|
|
57
57
|
base_url=self._url,
|
|
58
58
|
api_key=self._api_key,
|
camel/models/nvidia_model.py
CHANGED
camel/models/ollama_model.py
CHANGED
camel/models/openai_model.py
CHANGED
camel/models/qwen_model.py
CHANGED
|
@@ -47,7 +47,7 @@ class NemotronRewardModel(BaseRewardModel):
|
|
|
47
47
|
api_key = api_key or os.environ.get("NVIDIA_API_KEY")
|
|
48
48
|
super().__init__(model_type, api_key, url)
|
|
49
49
|
self._client = OpenAI(
|
|
50
|
-
timeout=
|
|
50
|
+
timeout=180,
|
|
51
51
|
max_retries=3,
|
|
52
52
|
base_url=self.url,
|
|
53
53
|
api_key=self.api_key,
|
camel/models/samba_model.py
CHANGED
camel/models/sglang_model.py
CHANGED
|
@@ -80,7 +80,7 @@ class SGLangModel(BaseModelBackend):
|
|
|
80
80
|
if self._url:
|
|
81
81
|
# Initialize the client if an existing URL is provided
|
|
82
82
|
self._client = OpenAI(
|
|
83
|
-
timeout=
|
|
83
|
+
timeout=180,
|
|
84
84
|
max_retries=3,
|
|
85
85
|
api_key="Set-but-ignored", # required but ignored
|
|
86
86
|
base_url=self._url,
|
|
@@ -113,7 +113,7 @@ class SGLangModel(BaseModelBackend):
|
|
|
113
113
|
self.last_run_time = time.time()
|
|
114
114
|
# Initialize the client after the server starts
|
|
115
115
|
self._client = OpenAI(
|
|
116
|
-
timeout=
|
|
116
|
+
timeout=180,
|
|
117
117
|
max_retries=3,
|
|
118
118
|
api_key="Set-but-ignored", # required but ignored
|
|
119
119
|
base_url=self._url,
|
camel/models/togetherai_model.py
CHANGED
camel/models/vllm_model.py
CHANGED
camel/models/yi_model.py
CHANGED
camel/models/zhipuai_model.py
CHANGED
camel/runtime/configs.py
CHANGED
|
@@ -21,23 +21,23 @@ class TaskConfig(BaseModel):
|
|
|
21
21
|
|
|
22
22
|
Arttributes:
|
|
23
23
|
cmd (str or list): Command to be executed
|
|
24
|
-
stdout (bool): Attach to stdout. (default
|
|
25
|
-
stderr (bool): Attach to stderr. (default
|
|
26
|
-
stdin (bool): Attach to stdin. (default
|
|
27
|
-
tty (bool): Allocate a pseudo-TTY. (default
|
|
28
|
-
privileged (bool): Run as privileged. (default
|
|
29
|
-
user (str): User to execute command as. (default
|
|
24
|
+
stdout (bool): Attach to stdout. (default: :obj: `True`)
|
|
25
|
+
stderr (bool): Attach to stderr. (default: :obj: `True`)
|
|
26
|
+
stdin (bool): Attach to stdin. (default: :obj: `False`)
|
|
27
|
+
tty (bool): Allocate a pseudo-TTY. (default: :obj: `False`)
|
|
28
|
+
privileged (bool): Run as privileged. (default: :obj: `False`)
|
|
29
|
+
user (str): User to execute command as. (default: :obj: `""`)
|
|
30
30
|
detach (bool): If true, detach from the exec command.
|
|
31
|
-
(default
|
|
32
|
-
stream (bool): Stream response data. (default
|
|
31
|
+
(default: :obj: `False`)
|
|
32
|
+
stream (bool): Stream response data. (default: :obj: `False`)
|
|
33
33
|
socket (bool): Return the connection socket to allow custom
|
|
34
|
-
read/write operations. (default
|
|
34
|
+
read/write operations. (default: :obj: `False`)
|
|
35
35
|
environment (dict or list): A dictionary or a list of strings in
|
|
36
36
|
the following format ``["PASSWORD=xxx"]`` or
|
|
37
|
-
``{"PASSWORD": "xxx"}``. (default
|
|
37
|
+
``{"PASSWORD": "xxx"}``. (default: :obj: `None`)
|
|
38
38
|
workdir (str): Path to working directory for this exec session.
|
|
39
|
-
(default
|
|
40
|
-
demux (bool): Return stdout and stderr separately. (default
|
|
39
|
+
(default: :obj: `None`)
|
|
40
|
+
demux (bool): Return stdout and stderr separately. (default: :obj:
|
|
41
41
|
`False`)
|
|
42
42
|
"""
|
|
43
43
|
|
camel/runtime/docker_runtime.py
CHANGED
|
@@ -42,10 +42,10 @@ class DockerRuntime(BaseRuntime):
|
|
|
42
42
|
|
|
43
43
|
Args:
|
|
44
44
|
image (str): The name of the Docker image to use for the runtime.
|
|
45
|
-
port (int): The port number to use for the runtime API. (default
|
|
45
|
+
port (int): The port number to use for the runtime API. (default: :obj:
|
|
46
46
|
`8000`)
|
|
47
47
|
remove (bool): Whether to remove the container after stopping it. '
|
|
48
|
-
(default
|
|
48
|
+
(default: :obj: `True`)
|
|
49
49
|
kwargs (dict): Additional keyword arguments to pass to the
|
|
50
50
|
Docker client.
|
|
51
51
|
"""
|
|
@@ -170,7 +170,7 @@ class DockerRuntime(BaseRuntime):
|
|
|
170
170
|
|
|
171
171
|
Args:
|
|
172
172
|
time_out (int): The number of seconds to wait for the container to
|
|
173
|
-
start. (default
|
|
173
|
+
start. (default: :obj: `15`)
|
|
174
174
|
|
|
175
175
|
Returns:
|
|
176
176
|
DockerRuntime: The DockerRuntime instance.
|
|
@@ -259,9 +259,9 @@ class DockerRuntime(BaseRuntime):
|
|
|
259
259
|
list of functions to add.
|
|
260
260
|
entrypoint (str): The entrypoint for the function.
|
|
261
261
|
redirect_stdout (bool): Whether to return the stdout of
|
|
262
|
-
the function. (default
|
|
262
|
+
the function. (default: :obj: `False`)
|
|
263
263
|
arguments (Optional[Dict[str, Any]]): The arguments for the
|
|
264
|
-
function. (default
|
|
264
|
+
function. (default: :obj: `None`)
|
|
265
265
|
|
|
266
266
|
Returns:
|
|
267
267
|
DockerRuntime: The DockerRuntime instance.
|
|
@@ -330,7 +330,7 @@ class DockerRuntime(BaseRuntime):
|
|
|
330
330
|
|
|
331
331
|
Args:
|
|
332
332
|
remove (Optional[bool]): Whether to remove the container
|
|
333
|
-
after stopping it. (default
|
|
333
|
+
after stopping it. (default: :obj: `None`)
|
|
334
334
|
|
|
335
335
|
Returns:
|
|
336
336
|
DockerRuntime: The DockerRuntime instance.
|
|
@@ -366,7 +366,7 @@ class DockerRuntime(BaseRuntime):
|
|
|
366
366
|
r"""Wait for the API Server to be ready.
|
|
367
367
|
|
|
368
368
|
Args:
|
|
369
|
-
timeout (int): The number of seconds to wait. (default
|
|
369
|
+
timeout (int): The number of seconds to wait. (default: :obj: `10`)
|
|
370
370
|
|
|
371
371
|
Returns:
|
|
372
372
|
bool: Whether the API Server is ready.
|
|
@@ -68,9 +68,9 @@ class LLMGuardRuntime(BaseRuntime):
|
|
|
68
68
|
Arguments:
|
|
69
69
|
prompt (str): The prompt to use for the language model. (default:
|
|
70
70
|
:obj:`GUARDPROMPT`)
|
|
71
|
-
model (BaseModelBackend): The language model to use. (default
|
|
71
|
+
model (BaseModelBackend): The language model to use. (default: :obj:
|
|
72
72
|
`None`)
|
|
73
|
-
verbose (bool): Whether to print verbose output. (default
|
|
73
|
+
verbose (bool): Whether to print verbose output. (default: :obj:
|
|
74
74
|
`False`)
|
|
75
75
|
"""
|
|
76
76
|
|
|
@@ -114,7 +114,7 @@ class LLMGuardRuntime(BaseRuntime):
|
|
|
114
114
|
funcs (FunctionTool or List[FunctionTool]): The function or
|
|
115
115
|
list of functions to add.
|
|
116
116
|
threshold (int): The risk threshold for functions.
|
|
117
|
-
(default
|
|
117
|
+
(default: :obj:`2`)
|
|
118
118
|
|
|
119
119
|
Returns:
|
|
120
120
|
LLMGuardRuntime: The current runtime.
|
|
@@ -36,9 +36,9 @@ class RemoteHttpRuntime(BaseRuntime):
|
|
|
36
36
|
|
|
37
37
|
Args:
|
|
38
38
|
host (str): The host of the remote server.
|
|
39
|
-
port (int): The port of the remote server. (default
|
|
39
|
+
port (int): The port of the remote server. (default: :obj: `8000`)
|
|
40
40
|
python_exec (str): The python executable to run the API server.
|
|
41
|
-
(default
|
|
41
|
+
(default: :obj: `python3`)
|
|
42
42
|
"""
|
|
43
43
|
|
|
44
44
|
def __init__(
|
|
@@ -90,9 +90,9 @@ class RemoteHttpRuntime(BaseRuntime):
|
|
|
90
90
|
list of functions to add.
|
|
91
91
|
entrypoint (str): The entrypoint for the function.
|
|
92
92
|
redirect_stdout (bool): Whether to return the stdout of
|
|
93
|
-
the function. (default
|
|
93
|
+
the function. (default: :obj: `False`)
|
|
94
94
|
arguments (Optional[Dict[str, Any]]): The arguments for the
|
|
95
|
-
function. (default
|
|
95
|
+
function. (default: :obj: `None`)
|
|
96
96
|
|
|
97
97
|
Returns:
|
|
98
98
|
RemoteHttpRuntime: The current runtime.
|
|
@@ -162,7 +162,7 @@ class RemoteHttpRuntime(BaseRuntime):
|
|
|
162
162
|
r"""Wait for the API Server to be ready.
|
|
163
163
|
|
|
164
164
|
Args:
|
|
165
|
-
timeout (int): The number of seconds to wait. (default
|
|
165
|
+
timeout (int): The number of seconds to wait. (default: :obj: `10`)
|
|
166
166
|
|
|
167
167
|
Returns:
|
|
168
168
|
bool: Whether the API Server is ready.
|
|
@@ -22,9 +22,9 @@ class IgnoreRiskToolkit(BaseToolkit):
|
|
|
22
22
|
|
|
23
23
|
Args:
|
|
24
24
|
function_names (Optional[List[str]]): A list of function names to
|
|
25
|
-
ignore risks for. (default
|
|
25
|
+
ignore risks for. (default: :obj:`None`)
|
|
26
26
|
verbose (Optional[bool]): Whether to print verbose output.
|
|
27
|
-
(default
|
|
27
|
+
(default: :obj:`False`)
|
|
28
28
|
"""
|
|
29
29
|
|
|
30
30
|
def __init__(
|
camel/toolkits/arxiv_toolkit.py
CHANGED
|
@@ -44,9 +44,9 @@ class ArxivToolkit(BaseToolkit):
|
|
|
44
44
|
query (str): The search query string used to search for papers on
|
|
45
45
|
arXiv.
|
|
46
46
|
paper_ids (List[str], optional): A list of specific arXiv paper
|
|
47
|
-
IDs to search for. (default
|
|
47
|
+
IDs to search for. (default: :obj: `None`)
|
|
48
48
|
max_results (int, optional): The maximum number of search results
|
|
49
|
-
to retrieve. (default
|
|
49
|
+
to retrieve. (default: :obj: `5`)
|
|
50
50
|
|
|
51
51
|
Returns:
|
|
52
52
|
Generator: A generator that yields results from the arXiv search
|
|
@@ -75,9 +75,9 @@ class ArxivToolkit(BaseToolkit):
|
|
|
75
75
|
Args:
|
|
76
76
|
query (str): The search query string.
|
|
77
77
|
paper_ids (List[str], optional): A list of specific arXiv paper
|
|
78
|
-
IDs to search for. (default
|
|
78
|
+
IDs to search for. (default: :obj: `None`)
|
|
79
79
|
max_results (int, optional): The maximum number of search results
|
|
80
|
-
to return. (default
|
|
80
|
+
to return. (default: :obj: `5`)
|
|
81
81
|
|
|
82
82
|
Returns:
|
|
83
83
|
List[Dict[str, str]]: A list of dictionaries, each containing
|
|
@@ -119,9 +119,9 @@ class ArxivToolkit(BaseToolkit):
|
|
|
119
119
|
Args:
|
|
120
120
|
query (str): The search query string.
|
|
121
121
|
paper_ids (List[str], optional): A list of specific arXiv paper
|
|
122
|
-
IDs to download. (default
|
|
122
|
+
IDs to download. (default: :obj: `None`)
|
|
123
123
|
max_results (int, optional): The maximum number of search results
|
|
124
|
-
to download. (default
|
|
124
|
+
to download. (default: :obj: `5`)
|
|
125
125
|
output_dir (str, optional): The directory to save the downloaded
|
|
126
126
|
PDFs. Defaults to the current directory.
|
|
127
127
|
|
|
@@ -228,7 +228,7 @@ class AskNewsToolkit(BaseToolkit):
|
|
|
228
228
|
return value. (default: :obj:`"string"`)
|
|
229
229
|
method (Literal["nl", "kw"]): The search method, either "nl" for
|
|
230
230
|
natural language or "kw" for keyword search.
|
|
231
|
-
(default
|
|
231
|
+
(default: :obj:`"kw"`)
|
|
232
232
|
|
|
233
233
|
Returns:
|
|
234
234
|
Union[str, dict, Tuple[str, dict]]: The Reddit search
|
|
@@ -523,7 +523,7 @@ class AsyncAskNewsToolkit(BaseToolkit):
|
|
|
523
523
|
return value. (default: :obj:"string")
|
|
524
524
|
method (Literal["nl", "kw"]): The search method, either "nl" for
|
|
525
525
|
natural language or "kw" for keyword search.
|
|
526
|
-
(default
|
|
526
|
+
(default: :obj:"kw")
|
|
527
527
|
|
|
528
528
|
Returns:
|
|
529
529
|
Union[str, dict, Tuple[str, dict]]: The Reddit search
|
camel/toolkits/github_toolkit.py
CHANGED
|
@@ -139,7 +139,7 @@ class GithubToolkit(BaseToolkit):
|
|
|
139
139
|
|
|
140
140
|
Args:
|
|
141
141
|
state (Literal["open", "closed", "all"]): The state of pull
|
|
142
|
-
requests to retrieve. (default
|
|
142
|
+
requests to retrieve. (default: :obj: `all`)
|
|
143
143
|
Options are:
|
|
144
144
|
- "open": Retrieve only open pull requests.
|
|
145
145
|
- "closed": Retrieve only closed pull requests.
|
|
@@ -179,7 +179,7 @@ class GithubToolkit(BaseToolkit):
|
|
|
179
179
|
|
|
180
180
|
Args:
|
|
181
181
|
state (Literal["open", "closed", "all"]): The state of pull
|
|
182
|
-
requests to retrieve. (default
|
|
182
|
+
requests to retrieve. (default: :obj: `all`)
|
|
183
183
|
Options are:
|
|
184
184
|
- "open": Retrieve only open pull requests.
|
|
185
185
|
- "closed": Retrieve only closed pull requests.
|
|
@@ -254,7 +254,7 @@ class GithubToolkit(BaseToolkit):
|
|
|
254
254
|
Args:
|
|
255
255
|
path (str): The repository path to start the traversal from.
|
|
256
256
|
empty string means starts from the root directory.
|
|
257
|
-
(default
|
|
257
|
+
(default: :obj: `""`)
|
|
258
258
|
|
|
259
259
|
Returns:
|
|
260
260
|
List[str]: A list of file paths within the specified directory
|
|
@@ -33,7 +33,11 @@ class GoogleScholarToolkit(BaseToolkit):
|
|
|
33
33
|
"""
|
|
34
34
|
|
|
35
35
|
def __init__(
|
|
36
|
-
self,
|
|
36
|
+
self,
|
|
37
|
+
author_identifier: str,
|
|
38
|
+
is_author_name: bool = False,
|
|
39
|
+
proxy_http: Optional[str] = None,
|
|
40
|
+
proxy_https: Optional[str] = None,
|
|
37
41
|
) -> None:
|
|
38
42
|
r"""Initializes the GoogleScholarToolkit with the author's identifier.
|
|
39
43
|
|
|
@@ -42,8 +46,18 @@ class GoogleScholarToolkit(BaseToolkit):
|
|
|
42
46
|
of the author to search for.
|
|
43
47
|
is_author_name (bool): Flag to indicate if the identifier is a
|
|
44
48
|
name. (default: :obj:`False`)
|
|
49
|
+
proxy_http ( Optional[str]): Proxy http address pass to pg.
|
|
50
|
+
SingleProxy. (default: :obj:`None`)
|
|
51
|
+
proxy_https ( Optional[str]): Proxy https address pass to pg.
|
|
52
|
+
SingleProxy. (default: :obj:`None`)
|
|
45
53
|
"""
|
|
46
|
-
from scholarly import scholarly
|
|
54
|
+
from scholarly import ProxyGenerator, scholarly
|
|
55
|
+
|
|
56
|
+
# Set Proxy is HTTP or HTTPS provided
|
|
57
|
+
if proxy_http or proxy_https:
|
|
58
|
+
pg = ProxyGenerator()
|
|
59
|
+
pg.SingleProxy(http=proxy_http, https=proxy_https)
|
|
60
|
+
scholarly.use_proxy(pg)
|
|
47
61
|
|
|
48
62
|
self.scholarly = scholarly
|
|
49
63
|
self.author_identifier = author_identifier
|
camel/toolkits/meshy_toolkit.py
CHANGED
|
@@ -117,9 +117,9 @@ class MeshyToolkit(BaseToolkit):
|
|
|
117
117
|
Args:
|
|
118
118
|
task_id (str): The ID of the task to monitor.
|
|
119
119
|
polling_interval (int): Seconds to wait between status checks.
|
|
120
|
-
(default
|
|
120
|
+
(default: :obj:`10`)
|
|
121
121
|
timeout (int): Maximum seconds to wait before timing out.
|
|
122
|
-
(default
|
|
122
|
+
(default: :obj:`3600`)
|
|
123
123
|
|
|
124
124
|
Returns:
|
|
125
125
|
Dict[str, Any]: Final response from the API when task completes.
|
camel/toolkits/search_toolkit.py
CHANGED
|
@@ -181,7 +181,7 @@ class SearchToolkit(BaseToolkit):
|
|
|
181
181
|
country (str): The search query country where results come from.
|
|
182
182
|
The country string is limited to 2 character country codes of
|
|
183
183
|
supported countries. For a list of supported values, see
|
|
184
|
-
Country Codes. (default
|
|
184
|
+
Country Codes. (default: :obj:`US `)
|
|
185
185
|
search_lang (str): The search language preference. The 2 or more
|
|
186
186
|
character language code for which search results are provided.
|
|
187
187
|
For a list of possible values, see Language Codes.
|
|
@@ -416,7 +416,7 @@ class SearchToolkit(BaseToolkit):
|
|
|
416
416
|
query (str): The query to send to Wolfram Alpha.
|
|
417
417
|
is_detailed (bool): Whether to include additional details
|
|
418
418
|
including step by step information in the result.
|
|
419
|
-
(default
|
|
419
|
+
(default: :obj:`False`)
|
|
420
420
|
|
|
421
421
|
Returns:
|
|
422
422
|
Union[str, Dict[str, Any]]: The result from Wolfram Alpha.
|
camel/utils/token_counting.py
CHANGED
|
@@ -144,12 +144,19 @@ class OpenAITokenCounter(BaseTokenCounter):
|
|
|
144
144
|
num_tokens += self.tokens_per_message
|
|
145
145
|
for key, value in message.items():
|
|
146
146
|
if not isinstance(value, list):
|
|
147
|
-
num_tokens += len(
|
|
147
|
+
num_tokens += len(
|
|
148
|
+
self.encoding.encode(str(value), disallowed_special=())
|
|
149
|
+
)
|
|
148
150
|
else:
|
|
149
151
|
for item in value:
|
|
150
152
|
if item["type"] == "text":
|
|
151
153
|
num_tokens += len(
|
|
152
|
-
self.encoding.encode(
|
|
154
|
+
self.encoding.encode(
|
|
155
|
+
str(
|
|
156
|
+
item["text"],
|
|
157
|
+
),
|
|
158
|
+
disallowed_special=(),
|
|
159
|
+
)
|
|
153
160
|
)
|
|
154
161
|
elif item["type"] == "image_url":
|
|
155
162
|
image_str: str = item["image_url"]["url"]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: camel-ai
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.13
|
|
4
4
|
Summary: Communicative Agents for AI Society Study
|
|
5
5
|
Home-page: https://www.camel-ai.org/
|
|
6
6
|
License: Apache-2.0
|
|
@@ -53,6 +53,7 @@ Requires-Dist: e2b-code-interpreter (>=1.0.3,<2.0.0) ; extra == "tools" or extra
|
|
|
53
53
|
Requires-Dist: eval-type-backport (==0.2.0)
|
|
54
54
|
Requires-Dist: ffmpeg-python (>=0.2.0,<0.3.0) ; extra == "tools" or extra == "all"
|
|
55
55
|
Requires-Dist: firecrawl-py (>=1.0.0,<2.0.0) ; extra == "tools" or extra == "all"
|
|
56
|
+
Requires-Dist: fish-audio-sdk (>=2024.12.5,<2025.0.0) ; extra == "model-platforms" or extra == "all"
|
|
56
57
|
Requires-Dist: google-cloud-storage (>=2.18.0,<3.0.0) ; extra == "object-storages" or extra == "all"
|
|
57
58
|
Requires-Dist: google-generativeai (>=0.6.0,<0.7.0) ; extra == "model-platforms" or extra == "all"
|
|
58
59
|
Requires-Dist: googlemaps (>=4.10.0,<5.0.0) ; extra == "tools" or extra == "all"
|
|
@@ -67,7 +68,7 @@ Requires-Dist: mock (>=5,<6) ; extra == "test"
|
|
|
67
68
|
Requires-Dist: nebula3-python (==3.8.2) ; extra == "rag" or extra == "graph-storages" or extra == "all"
|
|
68
69
|
Requires-Dist: neo4j (>=5.18.0,<6.0.0) ; extra == "rag" or extra == "graph-storages" or extra == "all"
|
|
69
70
|
Requires-Dist: newspaper3k (>=0.2.8,<0.3.0) ; extra == "tools" or extra == "all"
|
|
70
|
-
Requires-Dist: nltk (==3.
|
|
71
|
+
Requires-Dist: nltk (==3.9.1) ; extra == "tools" or extra == "all"
|
|
71
72
|
Requires-Dist: notion-client (>=2.2.1,<3.0.0) ; extra == "tools" or extra == "all"
|
|
72
73
|
Requires-Dist: numpy (>=1,<2)
|
|
73
74
|
Requires-Dist: openai (>=1.45.0,<2.0.0)
|
|
@@ -76,7 +77,7 @@ Requires-Dist: opencv-python (>=4,<5) ; extra == "huggingface-agent" or extra ==
|
|
|
76
77
|
Requires-Dist: pandoc
|
|
77
78
|
Requires-Dist: pathlib (>=1.0.1,<2.0.0)
|
|
78
79
|
Requires-Dist: pdfplumber (>=0.11.0,<0.12.0) ; extra == "tools" or extra == "all"
|
|
79
|
-
Requires-Dist: pillow (>=
|
|
80
|
+
Requires-Dist: pillow (>=11.0.0,<12.0.0) ; extra == "tools" or extra == "all"
|
|
80
81
|
Requires-Dist: prance (>=23.6.21.0,<24.0.0.0) ; extra == "tools" or extra == "all"
|
|
81
82
|
Requires-Dist: praw (>=7.7.1,<8.0.0) ; extra == "tools" or extra == "all"
|
|
82
83
|
Requires-Dist: protobuf (>=4,<5)
|
|
@@ -103,12 +104,12 @@ Requires-Dist: slack-sdk (>=3.27.2,<4.0.0) ; extra == "tools" or extra == "all"
|
|
|
103
104
|
Requires-Dist: soundfile (>=0,<1) ; extra == "huggingface-agent" or extra == "all"
|
|
104
105
|
Requires-Dist: stripe (>=11.3.0,<12.0.0) ; extra == "tools" or extra == "all"
|
|
105
106
|
Requires-Dist: tavily-python (>=0.5.0,<0.6.0) ; extra == "search-tools" or extra == "all"
|
|
106
|
-
Requires-Dist: textblob (>=0.
|
|
107
|
+
Requires-Dist: textblob (>=0.17.1,<0.18.0) ; extra == "tools" or extra == "all"
|
|
107
108
|
Requires-Dist: tiktoken (>=0.7.0,<0.8.0)
|
|
108
109
|
Requires-Dist: torch (==2.2.1) ; (platform_system == "Darwin" and platform_machine != "arm64") and (extra == "huggingface-agent" or extra == "all")
|
|
109
110
|
Requires-Dist: torch (>=2,<3) ; (platform_system != "Darwin" or platform_machine == "arm64") and (extra == "huggingface-agent" or extra == "all")
|
|
110
111
|
Requires-Dist: transformers (>=4,<5) ; extra == "huggingface-agent" or extra == "all"
|
|
111
|
-
Requires-Dist: unstructured[all-docs] (
|
|
112
|
+
Requires-Dist: unstructured[all-docs] (==0.16.11) ; extra == "rag" or extra == "all"
|
|
112
113
|
Requires-Dist: wikipedia (>=1,<2) ; extra == "search-tools" or extra == "tools" or extra == "all"
|
|
113
114
|
Requires-Dist: wolframalpha (>=5.0.0,<6.0.0) ; extra == "search-tools" or extra == "tools" or extra == "all"
|
|
114
115
|
Requires-Dist: yt-dlp (>=2024.11.4,<2025.0.0) ; extra == "tools" or extra == "all"
|
|
@@ -262,7 +263,7 @@ conda create --name camel python=3.10
|
|
|
262
263
|
conda activate camel
|
|
263
264
|
|
|
264
265
|
# Clone github repo
|
|
265
|
-
git clone -b v0.2.
|
|
266
|
+
git clone -b v0.2.13 https://github.com/camel-ai/camel.git
|
|
266
267
|
|
|
267
268
|
# Change directory into project directory
|
|
268
269
|
cd camel
|
|
@@ -441,6 +442,8 @@ Practical guides and tutorials for implementing specific functionalities in CAME
|
|
|
441
442
|
| **[3 Ways to Ingest Data from Websites with Firecrawl](https://docs.camel-ai.org/cookbooks/ingest_data_from_websites_with_Firecrawl.html)** | Explore three methods for extracting and processing data from websites using Firecrawl. |
|
|
442
443
|
| **[Data Deneration with CAMEL and Finetuning with Unsloth](https://docs.camel-ai.org/cookbooks/sft_data_generation_and_unsloth_finetuning.html)** | Learn how to generate data with CAMEL and fine-tune models effectively with Unsloth. |
|
|
443
444
|
| **[Customer Service Discord Bot with Agentic RAG](https://docs.camel-ai.org/cookbooks/customer_service_Discord_bot_with_agentic_RAG.html)** | Learn how to build a robust customer service bot for Discord using Agentic RAG. |
|
|
445
|
+
| **[Create AI Agents that work with your PDFs using Chunkr & Mistral AI](https://docs.camel-ai.org/cookbooks/agent_with_chunkr_for_pdf_parsing.html)** | Learn how to create AI agents that work with your PDFs using Chunkr and Mistral AI. |
|
|
446
|
+
| **[Data Gen with Real Function Calls and Hermes Format](https://docs.camel-ai.org/cookbooks/data_gen_with_real_function_calls_and_hermes_format.html)** | Explore how to generate data with real function calls and the Hermes format. |
|
|
444
447
|
|
|
445
448
|
## Utilize Various LLMs as Backends
|
|
446
449
|
|
|
@@ -480,10 +483,10 @@ We implemented amazing research ideas from other works for you to build, compare
|
|
|
480
483
|
We warmly invite you to use CAMEL for your impactful research.
|
|
481
484
|
|
|
482
485
|
## News
|
|
483
|
-
📢 Added
|
|
484
|
-
-
|
|
485
|
-
- Integrated
|
|
486
|
-
-
|
|
486
|
+
📢 Added support for Qwen models, Deepseek models to the 🐫 CAMEL framework!. (Nov 28, 2024)
|
|
487
|
+
- Integrate SGLang into the 🐫 CAMEL framework. (Dec, 13, 2024)
|
|
488
|
+
- Integrated Reward Model into the 🐫 CAMEL framework. (Dec, 13, 2024)
|
|
489
|
+
- Added GAIA Benchmark! (Dec, 09, 2024)
|
|
487
490
|
- ...
|
|
488
491
|
- Released AI Society and Code dataset (April 2, 2023)
|
|
489
492
|
- Initial release of `CAMEL` python library (March 21, 2023)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
camel/__init__.py,sha256=
|
|
1
|
+
camel/__init__.py,sha256=pCIReTm4dam962sCmtLU92cJ8uPmiYeGGRtPGPw7kio,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=-czR5ppfBLMeYp-tidH9oeLdmjXQh14U13TsJY7qHAo,51469
|
|
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
|
|
@@ -52,8 +52,8 @@ camel/datahubs/models.py,sha256=e_jkKz1ShwmMLwveDOE1xGJk-w3-j1p2hSc0j-4cEuQ,903
|
|
|
52
52
|
camel/embeddings/__init__.py,sha256=uOPul-p528_0TcCoBIe8-jhU4p1z1r5Lnsy0IFle3HQ,1200
|
|
53
53
|
camel/embeddings/base.py,sha256=mxqFkWh2AfbxuVKPOqVx16fCznmuSh9QXGjaEeZHvoY,2190
|
|
54
54
|
camel/embeddings/mistral_embedding.py,sha256=hU58FkRlQxTMlR0IMXln3F4M7stdX2Kbw9neAD6aZT0,3235
|
|
55
|
-
camel/embeddings/openai_compatible_embedding.py,sha256=
|
|
56
|
-
camel/embeddings/openai_embedding.py,sha256=
|
|
55
|
+
camel/embeddings/openai_compatible_embedding.py,sha256=40QBRRmrNdw1FnTtn3cKTZCUtjFAb3jxl2NwUxXh0YY,3049
|
|
56
|
+
camel/embeddings/openai_embedding.py,sha256=3WqZs_iedapQbFjkQgvYBkV6dfyjbgbs8hVicRpunGw,3603
|
|
57
57
|
camel/embeddings/sentence_transformers_embeddings.py,sha256=E7a8lN50CtDBsFO-NOFQ6qfCnbH41O0_kTTg7dG3sOo,2724
|
|
58
58
|
camel/embeddings/vlm_embedding.py,sha256=HZFdcz1YzkFPzMj45_jaCVmDQJyccoXN561aLWlrYmo,5497
|
|
59
59
|
camel/generators.py,sha256=JRqj9_m1PF4qT6UtybzTQ-KBT9MJQt18OAAYvQ_fr2o,13844
|
|
@@ -84,7 +84,7 @@ camel/memories/context_creators/__init__.py,sha256=pqzkBM2ro5JZD7RhWg05TjinphhCq
|
|
|
84
84
|
camel/memories/context_creators/score_based.py,sha256=eNZDvLt1AV1bDXB_No0gDWDJQNczKL85E8WRjWetvxg,5379
|
|
85
85
|
camel/memories/records.py,sha256=wOMlTit1xWTs32uztGQ7KQ2wdT6vgHzFdpVCiih2lBA,3680
|
|
86
86
|
camel/messages/__init__.py,sha256=85FeH6KpPt8eriwJEIS_jMQdiD6pCuU_0Hwt0pA7tSE,1878
|
|
87
|
-
camel/messages/base.py,sha256=
|
|
87
|
+
camel/messages/base.py,sha256=1jCeQn0Rs7vujjG2iqlBG449dGqM1INZVlVZGG5IY2E,19614
|
|
88
88
|
camel/messages/conversion/__init__.py,sha256=8B4C-0wj-dm925YRKNyx31WYK25PWpME7Q9jPtx2jkY,1047
|
|
89
89
|
camel/messages/conversion/alpaca.py,sha256=jBU2bMhzNjzptGuoasThYvFov_cYPCYt3pEfs0T7z7U,4163
|
|
90
90
|
camel/messages/conversion/conversation_models.py,sha256=f2ybtYdCbILq9IYgaHkQ57yYxDdCBSspKrfaArZvNw8,5300
|
|
@@ -93,37 +93,38 @@ camel/messages/conversion/sharegpt/function_call_formatter.py,sha256=cn7e7CfmxEV
|
|
|
93
93
|
camel/messages/conversion/sharegpt/hermes/__init__.py,sha256=mxuMSm-neaTgInIjYXuIVdC310E6jKJzM3IdtaJ4qY4,812
|
|
94
94
|
camel/messages/conversion/sharegpt/hermes/hermes_function_formatter.py,sha256=zJ9q7KFFMlQ27-WuFxf4LLL9DQt2bpeGJ2IzoUzmqZg,4552
|
|
95
95
|
camel/messages/func_message.py,sha256=MTkkJksMCd640QJx5pzRHI__6jJyh86u3B-02hi2Csk,5639
|
|
96
|
-
camel/models/__init__.py,sha256=
|
|
97
|
-
camel/models/anthropic_model.py,sha256=
|
|
98
|
-
camel/models/azure_openai_model.py,sha256
|
|
96
|
+
camel/models/__init__.py,sha256=7h04fxeP2Ze3st9Xc23uEfAPcutf-dNveWTrJoMPJn4,2393
|
|
97
|
+
camel/models/anthropic_model.py,sha256=JuXUsCy6bjieT6DY1TuKfbZ2ips8Y53-kvylESyw9qo,6501
|
|
98
|
+
camel/models/azure_openai_model.py,sha256=hjF7-nRj2XRVWZ5AtJDGeKmfu9CsFV2PYvSUnC77vCg,6170
|
|
99
99
|
camel/models/base_model.py,sha256=rxRZc31cKone4OGuvXi14FI_O9TC1aBvIy8WFSlVeSI,5727
|
|
100
100
|
camel/models/cohere_model.py,sha256=NpkFxnlwLWn6r00MqbS7PlP4SEp6YaQhlgO9Le2K8Js,10320
|
|
101
|
-
camel/models/deepseek_model.py,sha256=
|
|
102
|
-
camel/models/
|
|
103
|
-
camel/models/
|
|
101
|
+
camel/models/deepseek_model.py,sha256=RKX-lnBZDq6l4eXeARvPI0HPHRScGhBBR18NbnxNFb4,5034
|
|
102
|
+
camel/models/fish_audio_model.py,sha256=mid-wdV_hkxHay-vgnF3zshwdXLyO4eM31139_0BXzo,5586
|
|
103
|
+
camel/models/gemini_model.py,sha256=hHXYatKdNCnSpRaOh0ktv-M1uTtN8xtFtCO1RUaGUqk,5049
|
|
104
|
+
camel/models/groq_model.py,sha256=TY2I9nrHfvj5dwbEptx1WboidBo_SpNy_P0p5YqNB0E,4962
|
|
104
105
|
camel/models/litellm_model.py,sha256=-9DcJlVBL25vsZOdA0UkEWt5G5PP8QaXXhcE2PRiwRw,5296
|
|
105
106
|
camel/models/mistral_model.py,sha256=wq0oKZ0rLPEIDZPgmNiPoeDdQBo5_oISU9u-62FO6us,9772
|
|
106
107
|
camel/models/model_factory.py,sha256=O8gz27WeDWm_HG1GiSAdmeHmwXJrfdIs0Hkjtv8wY6s,6142
|
|
107
108
|
camel/models/model_manager.py,sha256=ji1d1S-2lwk6uDggSyTnXbalu2F5lHaZnfPBBCJwBxU,7159
|
|
108
|
-
camel/models/nemotron_model.py,sha256=
|
|
109
|
-
camel/models/nvidia_model.py,sha256=
|
|
110
|
-
camel/models/ollama_model.py,sha256=
|
|
109
|
+
camel/models/nemotron_model.py,sha256=Irzl4oCBARRvAxTS_8kIRQQIIeH-ezpFBHcRJ8o14Is,2906
|
|
110
|
+
camel/models/nvidia_model.py,sha256=fVU0IgXl2iZ4x2uObageXpt_Olw4xE6pYEOLI6ut0zU,5195
|
|
111
|
+
camel/models/ollama_model.py,sha256=uiIgXmz6EqRsi3mBh8RAWopOom6rM77H4fP_Hp8cj3U,6057
|
|
111
112
|
camel/models/openai_audio_models.py,sha256=61tGMxwOwXwh9RThXcQmkTCiGPEhau85_BM_nxgIKmY,10036
|
|
112
|
-
camel/models/openai_compatible_model.py,sha256=
|
|
113
|
-
camel/models/openai_model.py,sha256=
|
|
114
|
-
camel/models/qwen_model.py,sha256=
|
|
113
|
+
camel/models/openai_compatible_model.py,sha256=NnDSj7e-SDYDGq0VTQVHCE0kRTJ2JDb62Z8z0ZcpygA,4059
|
|
114
|
+
camel/models/openai_model.py,sha256=FkQawaaZ4hWh_Hdm0irOr9K5vIKT5VCnflI3EAPWzZc,6565
|
|
115
|
+
camel/models/qwen_model.py,sha256=dK--AZe0tWjgdJIp9ssVd63NWQeBe7qAn8QQhn711Zk,4992
|
|
115
116
|
camel/models/reka_model.py,sha256=lwg27dzrEOlia9-apX5Km5sHShL6Fl55C4EOr8PXjDQ,8277
|
|
116
117
|
camel/models/reward/__init__.py,sha256=8tvL9Qo9YAqllhcXB5yfH9dAwuvlXKNpKL1WIM_lJ9s,912
|
|
117
118
|
camel/models/reward/base_reward_model.py,sha256=erCmBCl51oFNjEHCXWxdHKIPNVJnQlNGgYBDn2bFD-Q,2064
|
|
118
119
|
camel/models/reward/evaluator.py,sha256=54ev5MuQ_5Tp0-LGO59EIuIkGrVMbtXXqpBR5Ps9kCM,2426
|
|
119
|
-
camel/models/reward/nemotron_model.py,sha256=
|
|
120
|
-
camel/models/samba_model.py,sha256=
|
|
121
|
-
camel/models/sglang_model.py,sha256=
|
|
120
|
+
camel/models/reward/nemotron_model.py,sha256=xzIdxBycugbESfOmWwVxbAszH2peSDheAY-KxukoKnY,3869
|
|
121
|
+
camel/models/samba_model.py,sha256=UBXZfaX3AlgzLkNu7uMk9L0iX-Ci29pCt5ucii6GzBI,14480
|
|
122
|
+
camel/models/sglang_model.py,sha256=dXOPSdskfF-gK2XUkzPkbTzY1lBVyjMEV6XWl-rEN7U,8147
|
|
122
123
|
camel/models/stub_model.py,sha256=TKTTryatEqCfjQ8NTco9ipj29CbLLtmWEcF_VcaWvQI,3703
|
|
123
|
-
camel/models/togetherai_model.py,sha256=
|
|
124
|
-
camel/models/vllm_model.py,sha256=
|
|
125
|
-
camel/models/yi_model.py,sha256=
|
|
126
|
-
camel/models/zhipuai_model.py,sha256=
|
|
124
|
+
camel/models/togetherai_model.py,sha256=05sI91AAHUqacG0_8vJPOHs_LxAjsCp6W4VhAH8-RN8,5246
|
|
125
|
+
camel/models/vllm_model.py,sha256=e57qjaHsZ-RTCsMVdMoyM-gseJwjtxiG2ePBKO5dnOQ,5640
|
|
126
|
+
camel/models/yi_model.py,sha256=twHdQ1VhNicm4iTqvpF7WmbEEWslhD8CqBurSFnXxVk,4907
|
|
127
|
+
camel/models/zhipuai_model.py,sha256=dc36vMSKg_oDcB7ZjMcwraWB350N5IIY3kvMTN5M8cM,5121
|
|
127
128
|
camel/personas/__init__.py,sha256=b2EU-unbIfCZjgq2dODf9mq0L9-VP5QXDVTjeYyvKCM,804
|
|
128
129
|
camel/personas/persona.py,sha256=Ssvp8coQU_kYuDm0W0J8r5AAZyOsn8EScLhVa0HjDOs,4221
|
|
129
130
|
camel/personas/persona_hub.py,sha256=v5O3BE_krz6s1OOiRhhnODuCf-2cqIw1tDCWgGG55dU,10555
|
|
@@ -155,13 +156,13 @@ camel/retrievers/vector_retriever.py,sha256=LkOKwPJIeZJp8bovpUbsCZgakrQDX19BLGbU
|
|
|
155
156
|
camel/runtime/__init__.py,sha256=QFxG8qYixImqSmC5bLXgT4_gkC5V8nq9dr9XlY4iZZM,1125
|
|
156
157
|
camel/runtime/api.py,sha256=NBSg1C0v6RqlooTIzPEDKcHNixPTaQImFvWmWsaskhc,3095
|
|
157
158
|
camel/runtime/base.py,sha256=KKBLO6PwWEWBXbYaVtO9JXqBT8110iYpMhgNSIxQvYQ,1512
|
|
158
|
-
camel/runtime/configs.py,sha256
|
|
159
|
-
camel/runtime/docker_runtime.py,sha256=
|
|
160
|
-
camel/runtime/llm_guard_runtime.py,sha256=
|
|
161
|
-
camel/runtime/remote_http_runtime.py,sha256=
|
|
159
|
+
camel/runtime/configs.py,sha256=7swJ6shD5CAnQj16D_j1BWJjRDHLue8_BJcQ1-YiKJI,2431
|
|
160
|
+
camel/runtime/docker_runtime.py,sha256=erQiP_vlu0xQD3iVYnRxHJVI6i_7tv_yrfRS7sbR0Lc,13558
|
|
161
|
+
camel/runtime/llm_guard_runtime.py,sha256=n8MImZsYLXCfr6LG6BFvlC75Al16GMJMvGp4vFsob6E,8101
|
|
162
|
+
camel/runtime/remote_http_runtime.py,sha256=G-uYajki-QTjeUdpCoPVDjvI-Rvc69aYvG3SVc2lm6s,6649
|
|
162
163
|
camel/runtime/utils/__init__.py,sha256=_4kT7j4gW9t5Zd_AbFa2mcHe8rpLB0tVlgAhQHxfwQQ,875
|
|
163
|
-
camel/runtime/utils/function_risk_toolkit.py,sha256=
|
|
164
|
-
camel/runtime/utils/ignore_risk_toolkit.py,sha256=
|
|
164
|
+
camel/runtime/utils/function_risk_toolkit.py,sha256=0A9IN61JSziwKYB0AtCTZByXV9A3zWDRcNATG2V2dmA,2356
|
|
165
|
+
camel/runtime/utils/ignore_risk_toolkit.py,sha256=kvLyF7EWEjXhlQJsmvA3JDB7An_LjtFjCaanNxOVaBE,2695
|
|
165
166
|
camel/schemas/__init__.py,sha256=FIispqu0jMi7DPFg8iGsc3NdbC0daxSbWjybd72F6cA,792
|
|
166
167
|
camel/schemas/base.py,sha256=S5fDiqJmNzTOhxN3Wl93gAcZnu3ke71fhZod5lq4mPI,1660
|
|
167
168
|
camel/schemas/openai_converter.py,sha256=heyQesFAAjo4RF4R5BB1SPpF4mbNt9UhTvszxyJYDTM,4310
|
|
@@ -205,20 +206,20 @@ camel/terminators/base.py,sha256=xmJzERX7GdSXcxZjAHHODa0rOxRChMSRboDCNHWSscs,151
|
|
|
205
206
|
camel/terminators/response_terminator.py,sha256=n3G5KP6Oj7-7WlRN0yFcrtLpqAJKaKS0bmhrWlFfCgQ,4982
|
|
206
207
|
camel/terminators/token_limit_terminator.py,sha256=YWv6ZR8R9yI2Qnf_3xES5bEE_O5bb2CxQ0EUXfMh34c,2118
|
|
207
208
|
camel/toolkits/__init__.py,sha256=NS4O1h4MwQB0g8jH1HvN__e25Y6BhgTl1wzQCXJb1xc,2574
|
|
208
|
-
camel/toolkits/arxiv_toolkit.py,sha256=
|
|
209
|
-
camel/toolkits/ask_news_toolkit.py,sha256=
|
|
209
|
+
camel/toolkits/arxiv_toolkit.py,sha256=wDsWOpZHOE5Rib35acCq3P2adpsunQpuL9kxUYx3Tas,5672
|
|
210
|
+
camel/toolkits/ask_news_toolkit.py,sha256=PIFGGVHpSOXs2lg-zA6qhlHF17f1CyCjGbpud90yG8I,23158
|
|
210
211
|
camel/toolkits/base.py,sha256=XnERVclg201dG7BrawwbuSeSlkz1ngIfatES1ingpkA,1264
|
|
211
212
|
camel/toolkits/code_execution.py,sha256=DRJ1yHDubv93CQfgm0tSi4Tn1uvqh3eGmYGXjtd2bCA,4464
|
|
212
213
|
camel/toolkits/dalle_toolkit.py,sha256=Usmw3JiJErLQgWSB1qKq_bOACNwbUTQPFc_EsVzTrGo,5115
|
|
213
214
|
camel/toolkits/data_commons_toolkit.py,sha256=_LJJ83eWEHuT8VsPLsH66LSakRkxwV4AkQmktN017S4,13060
|
|
214
215
|
camel/toolkits/function_tool.py,sha256=Zo2F77DeMnrsgFJh6HD8zBjUIYRSlf6WAgUAos2LSFo,29417
|
|
215
|
-
camel/toolkits/github_toolkit.py,sha256=
|
|
216
|
+
camel/toolkits/github_toolkit.py,sha256=7HCw3kBvpMPL2sMQJ7H7gIslqEDBFyepdF3JicbRs0U,11628
|
|
216
217
|
camel/toolkits/google_maps_toolkit.py,sha256=a5ex5_PyhOEriv_0UloUgSpXGI7b12lwhQyewp78s1I,11948
|
|
217
|
-
camel/toolkits/google_scholar_toolkit.py,sha256=
|
|
218
|
+
camel/toolkits/google_scholar_toolkit.py,sha256=eiSBzRmmAYTMP5feDLoWIiurm0RpyY03V8ZPSRxdTCg,7120
|
|
218
219
|
camel/toolkits/human_toolkit.py,sha256=4YsZrCSFaMceM1MpGa-tg5gkmbdcZrm0qe3j2JRgfE8,1829
|
|
219
220
|
camel/toolkits/linkedin_toolkit.py,sha256=r1q8Ds95chC9vxtsaUYUDEitM8tDjUw_MrkpWpM4W8s,7911
|
|
220
221
|
camel/toolkits/math_toolkit.py,sha256=5yVF0bKuwkZIV01uICd3TOfktXlTERjKt4DrFyz_oaE,3639
|
|
221
|
-
camel/toolkits/meshy_toolkit.py,sha256=
|
|
222
|
+
camel/toolkits/meshy_toolkit.py,sha256=V02qG1TKiBOH_1Ti1FXy8aQ_OiWjpM541QJFPYfAU1Q,6331
|
|
222
223
|
camel/toolkits/notion_toolkit.py,sha256=jXvPBNs_VHMDDWa59UmTZuwFgJXgRgFirlH1BK70kHw,9506
|
|
223
224
|
camel/toolkits/open_api_specs/biztoc/__init__.py,sha256=OKCZrQCDwaWtXIN_2rA9FSqEvgpQRieRoHh7Ek6N16A,702
|
|
224
225
|
camel/toolkits/open_api_specs/biztoc/ai-plugin.json,sha256=IJinQbLv5MFPGFwdN7PbOhwArFVExSEZdJspe-mOBIo,866
|
|
@@ -248,7 +249,7 @@ camel/toolkits/open_api_specs/web_scraper/paths/scraper.py,sha256=aWy1_ppV4NVVEZ
|
|
|
248
249
|
camel/toolkits/open_api_toolkit.py,sha256=Venfq8JwTMQfzRzzB7AYmYUMEX35hW0BjIv_ozFMiNk,23316
|
|
249
250
|
camel/toolkits/reddit_toolkit.py,sha256=tb0qwgtawgWe-PPotKVsKqMqkSiACP6k9MzKHuMbkXU,8886
|
|
250
251
|
camel/toolkits/retrieval_toolkit.py,sha256=gMHk-Y-KDROGd-yX9ykfpwAf6ViO678j9Q9Ju3sfBGo,3695
|
|
251
|
-
camel/toolkits/search_toolkit.py,sha256=
|
|
252
|
+
camel/toolkits/search_toolkit.py,sha256=LmTY6yyDpJi9XOXxL96uzihZT88_tZcSLxZBRj22Nd4,26251
|
|
252
253
|
camel/toolkits/slack_toolkit.py,sha256=n8cn3kZIc27B-2KMTRK6Nsdan37SwMqBiBi1PMtuUvQ,10744
|
|
253
254
|
camel/toolkits/stripe_toolkit.py,sha256=TTZerSG5ktYEgZLvCqVride3cqtyPbRdiIJRlvlxzzc,9576
|
|
254
255
|
camel/toolkits/twitter_toolkit.py,sha256=ioAus3aFZi2GS3K73HqzRnXY9E7hr6MidO-asLFGZRM,15586
|
|
@@ -264,8 +265,8 @@ camel/utils/async_func.py,sha256=4esRhhGrvfm-iJRloUbU-sYWyHp_mt0bBBXpwyCv6vc,155
|
|
|
264
265
|
camel/utils/commons.py,sha256=8TB55DseOepZtwlWqHPkqCivQKNecCOfzFKnqpD2hg4,18101
|
|
265
266
|
camel/utils/constants.py,sha256=MQD3bgLIq_NATp0D1iFkrwfkCwVX-PAOSXheTkkEdkY,1410
|
|
266
267
|
camel/utils/response_format.py,sha256=9KrbwtOM9cA3LSjTgLiK7oKy-53_uMh1cvpyNwwJpng,2419
|
|
267
|
-
camel/utils/token_counting.py,sha256=
|
|
268
|
-
camel_ai-0.2.
|
|
269
|
-
camel_ai-0.2.
|
|
270
|
-
camel_ai-0.2.
|
|
271
|
-
camel_ai-0.2.
|
|
268
|
+
camel/utils/token_counting.py,sha256=df3mcY9IJgG1zTTmQbdRc6FhB5cD3n07BoXngNpu8Sw,15305
|
|
269
|
+
camel_ai-0.2.13.dist-info/LICENSE,sha256=id0nB2my5kG0xXeimIu5zZrbHLS6EQvxvkKkzIHaT2k,11343
|
|
270
|
+
camel_ai-0.2.13.dist-info/METADATA,sha256=Reihb0rQP8mdbX_EvEB7lhN56BJfkTZADp6yxrJxnTs,32269
|
|
271
|
+
camel_ai-0.2.13.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
|
272
|
+
camel_ai-0.2.13.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|