camel-ai 0.2.16__py3-none-any.whl → 0.2.17__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 +18 -4
- camel/agents/multi_hop_generator_agent.py +85 -0
- camel/agents/programmed_agent_instruction.py +148 -0
- camel/benchmarks/__init__.py +2 -0
- camel/benchmarks/apibank.py +5 -0
- camel/benchmarks/apibench.py +8 -4
- camel/benchmarks/gaia.py +2 -2
- camel/benchmarks/ragbench.py +333 -0
- camel/bots/__init__.py +1 -1
- camel/bots/discord/__init__.py +26 -0
- camel/bots/discord/discord_app.py +384 -0
- camel/bots/discord/discord_installation.py +64 -0
- camel/bots/discord/discord_store.py +160 -0
- camel/configs/__init__.py +3 -0
- camel/configs/anthropic_config.py +17 -15
- camel/configs/internlm_config.py +60 -0
- camel/data_collector/base.py +5 -5
- camel/data_collector/sharegpt_collector.py +2 -2
- camel/datagen/self_instruct/self_instruct.py +1 -1
- camel/datagen/self_instruct/templates.py +12 -14
- camel/loaders/__init__.py +2 -0
- camel/loaders/panda_reader.py +337 -0
- camel/messages/__init__.py +10 -4
- camel/messages/conversion/conversation_models.py +5 -0
- camel/messages/func_message.py +30 -22
- camel/models/__init__.py +2 -0
- camel/models/anthropic_model.py +1 -22
- camel/models/cohere_model.py +8 -0
- camel/models/gemini_model.py +10 -1
- camel/models/internlm_model.py +143 -0
- camel/models/mistral_model.py +14 -7
- camel/models/model_factory.py +3 -0
- camel/models/reward/__init__.py +2 -0
- camel/models/reward/skywork_model.py +88 -0
- camel/synthetic_datagen/source2synth/data_processor.py +373 -0
- camel/synthetic_datagen/source2synth/models.py +68 -0
- camel/synthetic_datagen/source2synth/user_data_processor_config.py +73 -0
- camel/toolkits/google_scholar_toolkit.py +9 -0
- camel/types/__init__.py +4 -2
- camel/types/enums.py +34 -1
- camel/types/openai_types.py +6 -4
- camel/types/unified_model_type.py +5 -0
- camel/utils/token_counting.py +3 -3
- {camel_ai-0.2.16.dist-info → camel_ai-0.2.17.dist-info}/METADATA +158 -187
- {camel_ai-0.2.16.dist-info → camel_ai-0.2.17.dist-info}/RECORD +48 -35
- {camel_ai-0.2.16.dist-info → camel_ai-0.2.17.dist-info}/WHEEL +1 -1
- camel/bots/discord_app.py +0 -138
- {camel_ai-0.2.16.dist-info → camel_ai-0.2.17.dist-info}/LICENSE +0 -0
camel/utils/token_counting.py
CHANGED
|
@@ -253,11 +253,11 @@ class AnthropicTokenCounter(BaseTokenCounter):
|
|
|
253
253
|
Returns:
|
|
254
254
|
int: Number of tokens in the messages.
|
|
255
255
|
"""
|
|
256
|
-
from anthropic.types
|
|
256
|
+
from anthropic.types import MessageParam
|
|
257
257
|
|
|
258
|
-
return self.client.
|
|
258
|
+
return self.client.messages.count_tokens(
|
|
259
259
|
messages=[
|
|
260
|
-
|
|
260
|
+
MessageParam(
|
|
261
261
|
content=str(msg["content"]),
|
|
262
262
|
role="user" if msg["role"] == "user" else "assistant",
|
|
263
263
|
)
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.3
|
|
2
2
|
Name: camel-ai
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.17
|
|
4
4
|
Summary: Communicative Agents for AI Society Study
|
|
5
|
-
Home-page: https://www.camel-ai.org/
|
|
6
5
|
License: Apache-2.0
|
|
7
6
|
Keywords: communicative-ai,ai-societies,artificial-intelligence,deep-learning,multi-agent-systems,cooperative-ai,natural-language-processing,large-language-models
|
|
8
7
|
Author: CAMEL-AI.org
|
|
@@ -13,114 +12,117 @@ Classifier: Programming Language :: Python :: 3.10
|
|
|
13
12
|
Classifier: Programming Language :: Python :: 3.11
|
|
14
13
|
Classifier: Programming Language :: Python :: 3.12
|
|
15
14
|
Provides-Extra: all
|
|
16
|
-
Provides-Extra:
|
|
17
|
-
Provides-Extra:
|
|
18
|
-
Provides-Extra:
|
|
19
|
-
Provides-Extra:
|
|
15
|
+
Provides-Extra: communication-tools
|
|
16
|
+
Provides-Extra: data-tools
|
|
17
|
+
Provides-Extra: dev-tools
|
|
18
|
+
Provides-Extra: document-tools
|
|
19
|
+
Provides-Extra: huggingface
|
|
20
|
+
Provides-Extra: media-tools
|
|
20
21
|
Provides-Extra: model-platforms
|
|
21
|
-
Provides-Extra: object-storages
|
|
22
22
|
Provides-Extra: rag
|
|
23
|
-
Provides-Extra:
|
|
24
|
-
Provides-Extra:
|
|
25
|
-
Provides-Extra: search-tools
|
|
23
|
+
Provides-Extra: research-tools
|
|
24
|
+
Provides-Extra: storage
|
|
26
25
|
Provides-Extra: test
|
|
27
|
-
Provides-Extra: tools
|
|
28
|
-
|
|
29
|
-
Requires-Dist:
|
|
30
|
-
Requires-Dist:
|
|
31
|
-
Requires-Dist:
|
|
32
|
-
Requires-Dist: anthropic (>=0.
|
|
33
|
-
Requires-Dist: apify_client (>=1.8.1,<2.0.0) ; extra == "tools" or extra == "all"
|
|
34
|
-
Requires-Dist: arxiv (>=2.1.3,<3.0.0) ; extra == "tools" or extra == "all"
|
|
35
|
-
Requires-Dist: arxiv2text (>=0.1.14,<0.2.0) ; extra == "tools" or extra == "all"
|
|
36
|
-
Requires-Dist: asknews (>=0.7.54,<0.8.0) ; extra == "tools" or extra == "all"
|
|
37
|
-
Requires-Dist: azure-storage-blob (>=12.21.0,<13.0.0) ; extra == "
|
|
38
|
-
Requires-Dist: beautifulsoup4 (>=4,<5) ; extra == "tools" or extra == "all"
|
|
39
|
-
Requires-Dist: botocore (>=1.35.3,<2.0.0) ; extra == "
|
|
40
|
-
Requires-Dist: cohere (>=5.11.0,<6.0.0) ; extra == "rag" or extra == "model-platforms" or extra == "
|
|
26
|
+
Provides-Extra: web-tools
|
|
27
|
+
Requires-Dist: PyMuPDF (>=1.22.5,<2.0.0) ; extra == "document-tools" or extra == "all"
|
|
28
|
+
Requires-Dist: accelerate (>=0.26.0,<0.27.0) ; extra == "huggingface" or extra == "all"
|
|
29
|
+
Requires-Dist: agentops (>=0.3.21,<0.4.0) ; extra == "dev-tools" or extra == "all"
|
|
30
|
+
Requires-Dist: aiosqlite (>=0.20.0,<0.21.0) ; extra == "data-tools" or extra == "all"
|
|
31
|
+
Requires-Dist: anthropic (>=0.42.0,<0.43.0) ; extra == "model-platforms" or extra == "all"
|
|
32
|
+
Requires-Dist: apify_client (>=1.8.1,<2.0.0) ; extra == "web-tools" or extra == "all"
|
|
33
|
+
Requires-Dist: arxiv (>=2.1.3,<3.0.0) ; extra == "research-tools" or extra == "all"
|
|
34
|
+
Requires-Dist: arxiv2text (>=0.1.14,<0.2.0) ; extra == "research-tools" or extra == "all"
|
|
35
|
+
Requires-Dist: asknews (>=0.7.54,<0.8.0) ; extra == "web-tools" or extra == "all"
|
|
36
|
+
Requires-Dist: azure-storage-blob (>=12.21.0,<13.0.0) ; extra == "storage" or extra == "all"
|
|
37
|
+
Requires-Dist: beautifulsoup4 (>=4,<5) ; extra == "document-tools" or extra == "all"
|
|
38
|
+
Requires-Dist: botocore (>=1.35.3,<2.0.0) ; extra == "storage" or extra == "all"
|
|
39
|
+
Requires-Dist: cohere (>=5.11.0,<6.0.0) ; extra == "rag" or extra == "model-platforms" or extra == "all"
|
|
41
40
|
Requires-Dist: colorama (>=0,<1)
|
|
42
41
|
Requires-Dist: curl_cffi (==0.6.2)
|
|
43
|
-
Requires-Dist: dappier (>=0.3.3,<0.4.0) ; extra == "tools" or extra == "all"
|
|
44
|
-
Requires-Dist: datacommons (>=1.4.3,<2.0.0) ; extra == "tools" or extra == "all"
|
|
45
|
-
Requires-Dist: datacommons_pandas (>=0.0.3,<0.0.4) ; extra == "tools" or extra == "all"
|
|
46
|
-
Requires-Dist: datasets (>=3,<4) ; extra == "huggingface
|
|
47
|
-
Requires-Dist: diffusers (>=0,<
|
|
48
|
-
Requires-Dist: discord.py (>=2.3.2,<3.0.0) ; extra == "tools" or extra == "all"
|
|
49
|
-
Requires-Dist: docker (>=7.1.0,<8.0.0) ; extra == "tools" or extra == "
|
|
42
|
+
Requires-Dist: dappier (>=0.3.3,<0.4.0) ; extra == "web-tools" or extra == "all"
|
|
43
|
+
Requires-Dist: datacommons (>=1.4.3,<2.0.0) ; extra == "data-tools" or extra == "all"
|
|
44
|
+
Requires-Dist: datacommons_pandas (>=0.0.3,<0.0.4) ; extra == "data-tools" or extra == "all"
|
|
45
|
+
Requires-Dist: datasets (>=3,<4) ; extra == "huggingface" or extra == "all"
|
|
46
|
+
Requires-Dist: diffusers (>=0.25.0,<0.26.0) ; extra == "huggingface" or extra == "all"
|
|
47
|
+
Requires-Dist: discord.py (>=2.3.2,<3.0.0) ; extra == "communication-tools" or extra == "all"
|
|
48
|
+
Requires-Dist: docker (>=7.1.0,<8.0.0) ; extra == "dev-tools" or extra == "all"
|
|
50
49
|
Requires-Dist: docstring-parser (>=0.15,<0.16)
|
|
51
|
-
Requires-Dist: docx2txt (>=0.8,<0.9) ; extra == "tools" or extra == "all"
|
|
52
|
-
Requires-Dist: duckduckgo-search (>=6.3.5,<7.0.0) ; extra == "
|
|
53
|
-
Requires-Dist: e2b-code-interpreter (>=1.0.3,<2.0.0) ; extra == "tools" or extra == "all"
|
|
50
|
+
Requires-Dist: docx2txt (>=0.8,<0.9) ; extra == "document-tools" or extra == "all"
|
|
51
|
+
Requires-Dist: duckduckgo-search (>=6.3.5,<7.0.0) ; extra == "web-tools" or extra == "all"
|
|
52
|
+
Requires-Dist: e2b-code-interpreter (>=1.0.3,<2.0.0) ; extra == "dev-tools" or extra == "all"
|
|
54
53
|
Requires-Dist: eval-type-backport (==0.2.0)
|
|
55
|
-
Requires-Dist: ffmpeg-python (>=0.2.0,<0.3.0) ; extra == "tools" or extra == "all"
|
|
56
|
-
Requires-Dist: firecrawl-py (>=1.0.0,<2.0.0) ; extra == "tools" or extra == "all"
|
|
54
|
+
Requires-Dist: ffmpeg-python (>=0.2.0,<0.3.0) ; extra == "media-tools" or extra == "all"
|
|
55
|
+
Requires-Dist: firecrawl-py (>=1.0.0,<2.0.0) ; extra == "web-tools" or extra == "all"
|
|
57
56
|
Requires-Dist: fish-audio-sdk (>=2024.12.5,<2025.0.0) ; extra == "model-platforms" or extra == "all"
|
|
58
|
-
Requires-Dist: google-cloud-storage (>=2.18.0,<3.0.0) ; extra == "
|
|
57
|
+
Requires-Dist: google-cloud-storage (>=2.18.0,<3.0.0) ; extra == "storage" or extra == "all"
|
|
59
58
|
Requires-Dist: google-generativeai (>=0.6.0,<0.7.0) ; extra == "model-platforms" or extra == "all"
|
|
60
|
-
Requires-Dist: googlemaps (>=4.10.0,<5.0.0) ; extra == "tools" or extra == "all"
|
|
59
|
+
Requires-Dist: googlemaps (>=4.10.0,<5.0.0) ; extra == "web-tools" or extra == "all"
|
|
61
60
|
Requires-Dist: httpx (>=0.23.0,<0.27.3)
|
|
62
|
-
Requires-Dist: imageio[pyav] (>=2.34.2,<3.0.0) ; extra == "tools" or extra == "all"
|
|
63
|
-
Requires-Dist: ipykernel (>=6.0.0,<7.0.0) ; extra == "tools" or extra == "all"
|
|
61
|
+
Requires-Dist: imageio[pyav] (>=2.34.2,<3.0.0) ; extra == "media-tools" or extra == "all"
|
|
62
|
+
Requires-Dist: ipykernel (>=6.0.0,<7.0.0) ; extra == "dev-tools" or extra == "all"
|
|
64
63
|
Requires-Dist: jsonschema (>=4,<5)
|
|
65
|
-
Requires-Dist: jupyter_client (>=8.6.2,<9.0.0) ; extra == "tools" or extra == "all"
|
|
66
|
-
Requires-Dist: linkup-sdk (>=0.2.1,<0.3.0) ; extra == "
|
|
64
|
+
Requires-Dist: jupyter_client (>=8.6.2,<9.0.0) ; extra == "dev-tools" or extra == "all"
|
|
65
|
+
Requires-Dist: linkup-sdk (>=0.2.1,<0.3.0) ; extra == "web-tools" or extra == "all"
|
|
67
66
|
Requires-Dist: litellm (>=1.38.1,<2.0.0) ; extra == "model-platforms" or extra == "all"
|
|
68
67
|
Requires-Dist: mistralai (>=1.1.0,<2.0.0) ; extra == "model-platforms" or extra == "all"
|
|
69
68
|
Requires-Dist: mock (>=5,<6) ; extra == "test"
|
|
70
|
-
Requires-Dist: nebula3-python (==3.8.2) ; extra == "rag" or extra == "
|
|
71
|
-
Requires-Dist: neo4j (>=5.18.0,<6.0.0) ; extra == "rag" or extra == "
|
|
72
|
-
Requires-Dist: newspaper3k (>=0.2.8,<0.3.0) ; extra == "tools" or extra == "all"
|
|
73
|
-
Requires-Dist: notion-client (>=2.2.1,<3.0.0) ; extra == "tools" or extra == "all"
|
|
69
|
+
Requires-Dist: nebula3-python (==3.8.2) ; extra == "rag" or extra == "storage" or extra == "all"
|
|
70
|
+
Requires-Dist: neo4j (>=5.18.0,<6.0.0) ; extra == "rag" or extra == "storage" or extra == "all"
|
|
71
|
+
Requires-Dist: newspaper3k (>=0.2.8,<0.3.0) ; extra == "web-tools" or extra == "all"
|
|
72
|
+
Requires-Dist: notion-client (>=2.2.1,<3.0.0) ; extra == "communication-tools" or extra == "all"
|
|
74
73
|
Requires-Dist: numpy (>=1,<2)
|
|
75
74
|
Requires-Dist: openai (>=1.58.1,<2.0.0)
|
|
76
|
-
Requires-Dist: openapi-spec-validator (>=0.7.1,<0.8.0) ; extra == "tools" or extra == "all"
|
|
77
|
-
Requires-Dist: openbb (>=4.3.5,<5.0.0) ; extra == "tools" or extra == "all"
|
|
78
|
-
Requires-Dist: opencv-python (>=4,<5) ; extra == "huggingface
|
|
79
|
-
Requires-Dist: outlines (>=0.1.7,<0.2.0) ; extra == "
|
|
80
|
-
Requires-Dist: pandas (>=
|
|
75
|
+
Requires-Dist: openapi-spec-validator (>=0.7.1,<0.8.0) ; extra == "document-tools" or extra == "all"
|
|
76
|
+
Requires-Dist: openbb (>=4.3.5,<5.0.0) ; extra == "data-tools" or extra == "all"
|
|
77
|
+
Requires-Dist: opencv-python (>=4,<5) ; extra == "huggingface" or extra == "all"
|
|
78
|
+
Requires-Dist: outlines (>=0.1.7,<0.2.0) ; extra == "all"
|
|
79
|
+
Requires-Dist: pandas (>=1.5.3,<2.0.0) ; extra == "data-tools" or extra == "all"
|
|
80
|
+
Requires-Dist: pandasai (>=2.3.0,<3.0.0) ; extra == "rag" or extra == "document-tools" or extra == "all"
|
|
81
81
|
Requires-Dist: pandoc
|
|
82
82
|
Requires-Dist: pathlib (>=1.0.1,<2.0.0)
|
|
83
|
-
Requires-Dist: pdfplumber (>=0.11.0,<0.12.0) ; extra == "tools" or extra == "all"
|
|
84
|
-
Requires-Dist: pillow (>=
|
|
85
|
-
Requires-Dist: prance (>=23.6.21.0,<24.0.0.0) ; extra == "tools" or extra == "all"
|
|
86
|
-
Requires-Dist: praw (>=7.7.1,<8.0.0) ; extra == "tools" or extra == "all"
|
|
83
|
+
Requires-Dist: pdfplumber (>=0.11.0,<0.12.0) ; extra == "document-tools" or extra == "all"
|
|
84
|
+
Requires-Dist: pillow (>=10.1.0,<11.0.0) ; extra == "media-tools" or extra == "all"
|
|
85
|
+
Requires-Dist: prance (>=23.6.21.0,<24.0.0.0) ; extra == "document-tools" or extra == "all"
|
|
86
|
+
Requires-Dist: praw (>=7.7.1,<8.0.0) ; extra == "communication-tools" or extra == "all"
|
|
87
87
|
Requires-Dist: protobuf (>=4,<5)
|
|
88
|
-
Requires-Dist: pyTelegramBotAPI (>=4.18.0,<5.0.0) ; extra == "tools" or extra == "all"
|
|
88
|
+
Requires-Dist: pyTelegramBotAPI (>=4.18.0,<5.0.0) ; extra == "communication-tools" or extra == "all"
|
|
89
89
|
Requires-Dist: pydantic (>=1.9,<2.10)
|
|
90
|
-
Requires-Dist: pydub (>=0.25.1,<0.26.0) ; extra == "tools" or extra == "all"
|
|
91
|
-
Requires-Dist: pygithub (>=2.3.0,<3.0.0) ; extra == "tools" or extra == "all"
|
|
92
|
-
Requires-Dist: pymilvus (>=2.4.0,<3.0.0) ; extra == "rag" or extra == "
|
|
93
|
-
Requires-Dist: pyowm (>=3.3.0,<4.0.0) ; extra == "tools" or extra == "all"
|
|
90
|
+
Requires-Dist: pydub (>=0.25.1,<0.26.0) ; extra == "media-tools" or extra == "all"
|
|
91
|
+
Requires-Dist: pygithub (>=2.3.0,<3.0.0) ; extra == "communication-tools" or extra == "all"
|
|
92
|
+
Requires-Dist: pymilvus (>=2.4.0,<3.0.0) ; extra == "rag" or extra == "storage" or extra == "all"
|
|
93
|
+
Requires-Dist: pyowm (>=3.3.0,<4.0.0) ; extra == "web-tools" or extra == "all"
|
|
94
94
|
Requires-Dist: pytest (>=7,<8) ; extra == "test"
|
|
95
95
|
Requires-Dist: pytest-asyncio (>=0.23.0,<0.24.0) ; extra == "test"
|
|
96
|
-
Requires-Dist: pyyaml (>=6.0.2,<7.0.0)
|
|
97
|
-
Requires-Dist: qdrant-client (>=1.9.0,<2.0.0) ; extra == "rag" or extra == "
|
|
98
|
-
Requires-Dist:
|
|
99
|
-
Requires-Dist:
|
|
96
|
+
Requires-Dist: pyyaml (>=6.0.2,<7.0.0)
|
|
97
|
+
Requires-Dist: qdrant-client (>=1.9.0,<2.0.0) ; extra == "rag" or extra == "storage" or extra == "all"
|
|
98
|
+
Requires-Dist: ragas (<=0.1.6) ; extra == "all"
|
|
99
|
+
Requires-Dist: rank-bm25 (>=0.2.2,<0.3.0) ; extra == "rag" or extra == "all"
|
|
100
|
+
Requires-Dist: redis (>=5.0.6,<6.0.0) ; extra == "storage" or extra == "all"
|
|
100
101
|
Requires-Dist: reka-api (>=3.0.8,<4.0.0) ; extra == "model-platforms" or extra == "all"
|
|
101
|
-
Requires-Dist: requests_oauthlib (>=1.3.1,<2.0.0) ; extra == "tools" or extra == "all"
|
|
102
|
-
Requires-Dist: rouge (>=1.0.1,<2.0.0) ; extra == "tools" or extra == "all"
|
|
103
|
-
Requires-Dist: scholarly[tor] (==1.7.11) ; extra == "tools" or extra == "all"
|
|
104
|
-
Requires-Dist: sentence-transformers (>=3.0.1,<4.0.0) ; extra == "rag" or extra == "
|
|
105
|
-
Requires-Dist: sentencepiece (>=0,<1) ; extra == "huggingface
|
|
102
|
+
Requires-Dist: requests_oauthlib (>=1.3.1,<2.0.0) ; extra == "web-tools" or extra == "all"
|
|
103
|
+
Requires-Dist: rouge (>=1.0.1,<2.0.0) ; extra == "data-tools" or extra == "all"
|
|
104
|
+
Requires-Dist: scholarly[tor] (==1.7.11) ; extra == "research-tools" or extra == "all"
|
|
105
|
+
Requires-Dist: sentence-transformers (>=3.0.1,<4.0.0) ; extra == "rag" or extra == "all"
|
|
106
|
+
Requires-Dist: sentencepiece (>=0,<1) ; extra == "huggingface" or extra == "all"
|
|
106
107
|
Requires-Dist: sglang (>=0.4.0,<0.5.0) ; extra == "model-platforms" or extra == "all"
|
|
107
|
-
Requires-Dist: slack-bolt (>=1.20.1,<2.0.0) ; extra == "tools" or extra == "all"
|
|
108
|
-
Requires-Dist: slack-sdk (>=3.27.2,<4.0.0) ; extra == "tools" or extra == "all"
|
|
109
|
-
Requires-Dist: soundfile (>=0,<1) ; extra == "huggingface
|
|
110
|
-
Requires-Dist: stripe (>=11.3.0,<12.0.0) ; extra == "tools" or extra == "all"
|
|
111
|
-
Requires-Dist: tavily-python (>=0.5.0,<0.6.0) ; extra == "
|
|
112
|
-
Requires-Dist: textblob (>=0.17.1,<0.18.0) ; extra == "tools" or extra == "all"
|
|
108
|
+
Requires-Dist: slack-bolt (>=1.20.1,<2.0.0) ; extra == "communication-tools" or extra == "all"
|
|
109
|
+
Requires-Dist: slack-sdk (>=3.27.2,<4.0.0) ; extra == "communication-tools" or extra == "all"
|
|
110
|
+
Requires-Dist: soundfile (>=0,<1) ; extra == "huggingface" or extra == "all"
|
|
111
|
+
Requires-Dist: stripe (>=11.3.0,<12.0.0) ; extra == "data-tools" or extra == "all"
|
|
112
|
+
Requires-Dist: tavily-python (>=0.5.0,<0.6.0) ; extra == "web-tools" or extra == "all"
|
|
113
|
+
Requires-Dist: textblob (>=0.17.1,<0.18.0) ; extra == "data-tools" or extra == "all"
|
|
113
114
|
Requires-Dist: tiktoken (>=0.7.0,<0.8.0)
|
|
114
|
-
Requires-Dist: torch (==2.2.1) ; (platform_system == "Darwin" and platform_machine != "arm64") and (extra == "huggingface
|
|
115
|
-
Requires-Dist: torch (>=2,<3) ; (platform_system != "Darwin" or platform_machine == "arm64") and (extra == "huggingface
|
|
116
|
-
Requires-Dist: transformers (>=4,<5) ; extra == "huggingface
|
|
117
|
-
Requires-Dist: tree-sitter (>=0.23.2,<0.24.0) ; extra == "tools" or extra == "all"
|
|
118
|
-
Requires-Dist: tree-sitter-python (>=0.23.6,<0.24.0) ; extra == "tools" or extra == "all"
|
|
119
|
-
Requires-Dist: unstructured[all-docs] (==0.16.11) ; extra == "rag" or extra == "tools" or extra == "all"
|
|
120
|
-
Requires-Dist: wikipedia (>=1,<2) ; extra == "
|
|
121
|
-
Requires-Dist: wolframalpha (>=5.0.0,<6.0.0) ; extra == "
|
|
122
|
-
Requires-Dist: yt-dlp (>=2024.11.4,<2025.0.0) ; extra == "tools" or extra == "all"
|
|
115
|
+
Requires-Dist: torch (==2.2.1) ; (platform_system == "Darwin" and platform_machine != "arm64") and (extra == "huggingface" or extra == "all")
|
|
116
|
+
Requires-Dist: torch (>=2,<3) ; (platform_system != "Darwin" or platform_machine == "arm64") and (extra == "huggingface" or extra == "all")
|
|
117
|
+
Requires-Dist: transformers (>=4,<5) ; extra == "huggingface" or extra == "all"
|
|
118
|
+
Requires-Dist: tree-sitter (>=0.23.2,<0.24.0) ; extra == "dev-tools" or extra == "all"
|
|
119
|
+
Requires-Dist: tree-sitter-python (>=0.23.6,<0.24.0) ; extra == "dev-tools" or extra == "all"
|
|
120
|
+
Requires-Dist: unstructured[all-docs] (==0.16.11) ; extra == "rag" or extra == "document-tools" or extra == "all"
|
|
121
|
+
Requires-Dist: wikipedia (>=1,<2) ; extra == "web-tools" or extra == "all"
|
|
122
|
+
Requires-Dist: wolframalpha (>=5.0.0,<6.0.0) ; extra == "web-tools" or extra == "all"
|
|
123
|
+
Requires-Dist: yt-dlp (>=2024.11.4,<2025.0.0) ; extra == "media-tools" or extra == "all"
|
|
123
124
|
Project-URL: Documentation, https://docs.camel-ai.org
|
|
125
|
+
Project-URL: Homepage, https://www.camel-ai.org/
|
|
124
126
|
Project-URL: Repository, https://github.com/camel-ai/camel
|
|
125
127
|
Description-Content-Type: text/markdown
|
|
126
128
|
|
|
@@ -178,7 +180,7 @@ Join us ([*Discord*](https://discord.camel-ai.org/), [*WeChat*](https://ghli.org
|
|
|
178
180
|
|
|
179
181
|
1. Comprehensive Customization and Collaboration:
|
|
180
182
|
|
|
181
|
-
- Integrates over 20 advanced model platforms (e.g., commercial models like OpenAI, open-source models such as Llama3, and self-deployment frameworks like Ollama
|
|
183
|
+
- Integrates over 20 advanced model platforms (e.g., commercial models like OpenAI, open-source models such as Llama3, and self-deployment frameworks like Ollama).
|
|
182
184
|
|
|
183
185
|
- Supports extensive external tools (e.g., Search, Twitter, Github, Google Maps, Reddit, Slack utilities).
|
|
184
186
|
- Includes memory and prompt components for deep customization.
|
|
@@ -207,84 +209,35 @@ To install the base CAMEL library:
|
|
|
207
209
|
```bash
|
|
208
210
|
pip install camel-ai
|
|
209
211
|
```
|
|
210
|
-
Some features require extra dependencies:
|
|
211
|
-
- To install with all dependencies:
|
|
212
|
-
```bash
|
|
213
|
-
pip install 'camel-ai[all]'
|
|
214
|
-
```
|
|
215
|
-
- To use the HuggingFace agents:
|
|
216
|
-
```bash
|
|
217
|
-
pip install 'camel-ai[huggingface-agent]'
|
|
218
|
-
```
|
|
219
|
-
- To enable RAG or use agent memory:
|
|
220
|
-
```bash
|
|
221
|
-
pip install 'camel-ai[tools]'
|
|
222
|
-
```
|
|
223
|
-
|
|
224
|
-
### From Source
|
|
225
|
-
|
|
226
|
-
Install `CAMEL` from source with poetry (Recommended):
|
|
227
|
-
```sh
|
|
228
|
-
# Make sure your python version is later than 3.10
|
|
229
|
-
# You can use pyenv to manage multiple python versions in your system
|
|
230
|
-
|
|
231
|
-
# Clone github repo
|
|
232
|
-
git clone https://github.com/camel-ai/camel.git
|
|
233
|
-
|
|
234
|
-
# Change directory into project directory
|
|
235
|
-
cd camel
|
|
236
|
-
|
|
237
|
-
# If you didn't install poetry before
|
|
238
|
-
pip install poetry # (Optional)
|
|
239
|
-
|
|
240
|
-
# We suggest using python 3.10
|
|
241
|
-
poetry env use python3.10 # (Optional)
|
|
242
|
-
|
|
243
|
-
# Activate CAMEL virtual environment
|
|
244
|
-
poetry shell
|
|
245
|
-
|
|
246
|
-
# Install the base CAMEL library
|
|
247
|
-
# It takes about 90 seconds
|
|
248
|
-
poetry install
|
|
249
|
-
|
|
250
|
-
# Install CAMEL with all dependencies
|
|
251
|
-
poetry install -E all # (Optional)
|
|
252
|
-
|
|
253
|
-
# Exit the virtual environment
|
|
254
|
-
exit
|
|
255
|
-
```
|
|
256
|
-
|
|
257
|
-
> [!TIP]
|
|
258
|
-
> If you encounter errors when running `poetry install`, it may be due to a cache-related problem. You can try running:
|
|
259
|
-
> ```sh
|
|
260
|
-
> poetry install --no-cache
|
|
261
|
-
> ```
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
Install `CAMEL` from source with conda and pip:
|
|
265
|
-
```sh
|
|
266
|
-
# Create a conda virtual environment
|
|
267
|
-
conda create --name camel python=3.10
|
|
268
212
|
|
|
269
|
-
|
|
270
|
-
conda activate camel
|
|
213
|
+
> **Note**: Some features may not work without their required dependencies. Install `camel-ai[all]` to ensure all dependencies are available, or install specific extras based on the features you need.
|
|
271
214
|
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
# Change directory into project directory
|
|
276
|
-
cd camel
|
|
277
|
-
|
|
278
|
-
# Install CAMEL from source
|
|
279
|
-
pip install -e .
|
|
215
|
+
```bash
|
|
216
|
+
pip install 'camel-ai[all]' # Replace with options below
|
|
217
|
+
```
|
|
280
218
|
|
|
281
|
-
|
|
282
|
-
|
|
219
|
+
Available extras:
|
|
220
|
+
- `all`: Includes all features below
|
|
221
|
+
- `model_platforms`: OpenAI, Google, Mistral, Anthropic Claude, Cohere etc.
|
|
222
|
+
- `huggingface`: Transformers, Diffusers, Accelerate, Datasets, PyTorch etc.
|
|
223
|
+
- `rag`: Sentence Transformers, Qdrant, Milvus, BM25 etc.
|
|
224
|
+
- `storage`: Neo4j, Redis, Azure Blob, Google Cloud Storage, AWS S3 etc.
|
|
225
|
+
- `web_tools`: DuckDuckGo, Wikipedia, WolframAlpha, Google Maps, Weather API etc.
|
|
226
|
+
- `document_tools`: PDF, Word, OpenAPI, BeautifulSoup, Unstructured etc.
|
|
227
|
+
- `media_tools`: Image Processing, Audio Processing, YouTube Download, FFmpeg etc.
|
|
228
|
+
- `communication_tools`: Slack, Discord, Telegram, GitHub, Reddit, Notion etc.
|
|
229
|
+
- `data_tools`: Pandas, TextBlob, DataCommons, OpenBB, Stripe etc.
|
|
230
|
+
- `research_tools`: arXiv, Google Scholar etc.
|
|
231
|
+
- `dev_tools`: Docker, Jupyter, Tree-sitter, Code Interpreter etc.
|
|
232
|
+
|
|
233
|
+
Multiple extras can be combined using commas:
|
|
234
|
+
```bash
|
|
235
|
+
pip install 'camel-ai[rag,web_tools,document_tools]' # Example: RAG system with web search and document processing
|
|
283
236
|
```
|
|
284
237
|
|
|
285
238
|
### From Docker
|
|
286
239
|
|
|
287
|
-
Detailed guidance can be
|
|
240
|
+
Detailed guidance can be found [here](https://github.com/camel-ai/camel/blob/master/.container/README.md)
|
|
288
241
|
|
|
289
242
|
## Quick Start
|
|
290
243
|
|
|
@@ -310,7 +263,7 @@ export DEFAULT_MODEL_TYPE=<your preferred model> # e.g., gpt-3.5-turbo, gpt-4o-
|
|
|
310
263
|
```bash
|
|
311
264
|
# Export your OpenAI API key
|
|
312
265
|
export OPENAI_API_KEY=<insert your OpenAI API key>
|
|
313
|
-
OPENAI_API_BASE_URL=<
|
|
266
|
+
OPENAI_API_BASE_URL=<insert your OpenAI API BASE URL> #(Should you utilize an OpenAI proxy service, kindly specify this)
|
|
314
267
|
```
|
|
315
268
|
|
|
316
269
|
**For Windows Command Prompt:**
|
|
@@ -318,7 +271,7 @@ OPENAI_API_BASE_URL=<inert your OpenAI API BASE URL> #(Should you utilize an Op
|
|
|
318
271
|
```cmd
|
|
319
272
|
REM export your OpenAI API key
|
|
320
273
|
set OPENAI_API_KEY=<insert your OpenAI API key>
|
|
321
|
-
set OPENAI_API_BASE_URL=<
|
|
274
|
+
set OPENAI_API_BASE_URL=<insert your OpenAI API BASE URL> #(Should you utilize an OpenAI proxy service, kindly specify this)
|
|
322
275
|
```
|
|
323
276
|
|
|
324
277
|
**For Windows PowerShell:**
|
|
@@ -326,7 +279,7 @@ set OPENAI_API_BASE_URL=<inert your OpenAI API BASE URL> #(Should you utilize a
|
|
|
326
279
|
```powershell
|
|
327
280
|
# Export your OpenAI API key
|
|
328
281
|
$env:OPENAI_API_KEY="<insert your OpenAI API key>"
|
|
329
|
-
$env:OPENAI_API_BASE_URL="<
|
|
282
|
+
$env:OPENAI_API_BASE_URL="<insert your OpenAI API BASE URL>" #(Should you utilize an OpenAI proxy service, kindly specify this)
|
|
330
283
|
```
|
|
331
284
|
|
|
332
285
|
Replace `<insert your OpenAI API key>` with your actual OpenAI API key in each case. Make sure there are no spaces around the `=` sign.
|
|
@@ -401,10 +354,10 @@ The [complete documentation](https://camel-ai.github.io/camel/) pages for the CA
|
|
|
401
354
|
### Agents
|
|
402
355
|
Explore different types of agents, their roles, and their applications.
|
|
403
356
|
|
|
404
|
-
- **[Creating Your First Agent](https://docs.camel-ai.org/cookbooks/create_your_first_agent.html)**
|
|
405
|
-
- **[Creating Your First Agent Society](https://docs.camel-ai.org/cookbooks/create_your_first_agents_society.html)**
|
|
406
|
-
- **[Embodied Agents](https://docs.camel-ai.org/cookbooks/embodied_agents.html)**
|
|
407
|
-
- **[Critic Agents](https://docs.camel-ai.org/cookbooks/critic_agents_and_tree_search.html)**
|
|
357
|
+
- **[Creating Your First Agent](https://docs.camel-ai.org/cookbooks/basic_concepts/create_your_first_agent.html)**
|
|
358
|
+
- **[Creating Your First Agent Society](https://docs.camel-ai.org/cookbooks/basic_concepts/create_your_first_agents_society.html)**
|
|
359
|
+
- **[Embodied Agents](https://docs.camel-ai.org/cookbooks/advanced_features/embodied_agents.html)**
|
|
360
|
+
- **[Critic Agents](https://docs.camel-ai.org/cookbooks/advanced_features/critic_agents_and_tree_search.html)**
|
|
408
361
|
|
|
409
362
|
---
|
|
410
363
|
|
|
@@ -429,31 +382,49 @@ Core components and utilities to build, operate, and enhance CAMEL-AI agents and
|
|
|
429
382
|
### Cookbooks
|
|
430
383
|
Practical guides and tutorials for implementing specific functionalities in CAMEL-AI agents and societies.
|
|
431
384
|
|
|
385
|
+
### Basic Concepts
|
|
386
|
+
| Cookbook | Description |
|
|
387
|
+
|:---|:---|
|
|
388
|
+
| **[Creating Your First Agent](https://docs.camel-ai.org/cookbooks/basic_concepts/create_your_first_agent.html)** | A step-by-step guide to building your first agent. |
|
|
389
|
+
| **[Creating Your First Agent Society](https://docs.camel-ai.org/cookbooks/basic_concepts/create_your_first_agents_society.html)** | Learn to build a collaborative society of agents. |
|
|
390
|
+
| **[Message Cookbook](https://docs.camel-ai.org/cookbooks/basic_concepts/agents_message.html)** | Best practices for message handling in agents. |
|
|
391
|
+
|
|
392
|
+
### Advanced Features
|
|
393
|
+
| Cookbook | Description |
|
|
394
|
+
|:---|:---|
|
|
395
|
+
| **[Tools Cookbook](https://docs.camel-ai.org/cookbooks/advanced_features/agents_with_tools.html)** | Integrating tools for enhanced functionality. |
|
|
396
|
+
| **[Memory Cookbook](https://docs.camel-ai.org/cookbooks/advanced_features/agents_with_memory.html)** | Implementing memory systems in agents. |
|
|
397
|
+
| **[RAG Cookbook](https://docs.camel-ai.org/cookbooks/advanced_features/agents_with_rag.html)** | Recipes for Retrieval-Augmented Generation. |
|
|
398
|
+
| **[Graph RAG Cookbook](https://docs.camel-ai.org/cookbooks/advanced_features/agents_with_graph_rag.html)** | Leveraging knowledge graphs with RAG. |
|
|
399
|
+
| **[Track CAMEL Agents with AgentOps](https://docs.camel-ai.org/cookbooks/advanced_features/agents_tracking.html)** | Tools for tracking and managing agents in operations. |
|
|
400
|
+
| **[Agents with Human-in-loop and Tool Approval from HumanLayer](https://docs.camel-ai.org/cookbooks/advanced_features/agents_with_human_in_loop_and_tool_approval.html)** | Implementing human oversight and tool approval within agent workflows using HumanLayer. |
|
|
401
|
+
|
|
402
|
+
### Data Generation & Model Training
|
|
403
|
+
| Cookbook | Description |
|
|
404
|
+
|:---|:---|
|
|
405
|
+
| **[Data Generation with CAMEL and Finetuning with Unsloth](https://docs.camel-ai.org/cookbooks/data_generation/sft_data_generation_and_unsloth_finetuning_Qwen2_5_7B.html)** | Learn how to generate data with CAMEL and fine-tune models effectively with Unsloth. |
|
|
406
|
+
| **[Data Gen with Real Function Calls and Hermes Format](https://docs.camel-ai.org/cookbooks/data_generation/data_gen_with_real_function_calls_and_hermes_format.html)** | Explore how to generate data with real function calls and the Hermes format. |
|
|
407
|
+
| **[Self-instruct Data Generation](https://docs.camel-ai.org/cookbooks/data_generation/self_instruct_data_generation.html)** | Explore comprehensive guidelines and best practices for generating self-instructional data, enabling robust model training and improved performance. |
|
|
408
|
+
| **[CoT Data Generation and SFT Qwen with Unsolth](https://docs.camel-ai.org/cookbooks/data_generation/cot_data_gen_sft_qwen_unsolth_upload_huggingface.html)** | Discover how to generate CoT data using CAMEL and SFT Qwen with Unsolth, and seamlessly upload your data and model to Huggingface. |
|
|
409
|
+
| **[Agentic Data Generation, Evaluation & Filtering with Reward Models](https://docs.camel-ai.org/cookbooks/data_generation/synthetic_dataevaluation&filter_with_reward_model.html)** | Discover methods for generating, evaluating, and filtering agentic data using reward models to enhance the quality and efficiency of your synthetic data pipelines. |
|
|
410
|
+
| **[Data Model Generation and Structured Output with Qwen Model](https://docs.camel-ai.org/cookbooks/data_generation/data_model_generation_and_structured_output_with_qwen.html)** |Learn how to generate data models and structured outputs using the Qwen Model for improved data representation.|
|
|
411
|
+
|
|
412
|
+
|
|
413
|
+
### Multi-Agent Systems & Applications
|
|
414
|
+
| Cookbook | Description |
|
|
415
|
+
|:---|:---|
|
|
416
|
+
| **[Role-Playing Scraper for Report & Knowledge Graph Generation](https://docs.camel-ai.org/cookbooks/applications/roleplaying_scraper.html)** | Create role-playing agents for data scraping and reporting. |
|
|
417
|
+
| **[Create A Hackathon Judge Committee with Workforce](https://docs.camel-ai.org/cookbooks/multi_agent_society/workforce_judge_committee.html)** | Building a team of agents for collaborative judging. |
|
|
418
|
+
| **[Dynamic Travel Planner Role-Playing: Multi-Agent System with Real-Time Insights Powered by Dappier](https://docs.camel-ai.org/cookbooks/applications/dynamic_travel_planner.html)** | Explore an innovative approach to travel planning, blending AI-driven role-playing and real-time data for seamless experiences. |
|
|
419
|
+
| **[Customer Service Discord Bot with Agentic RAG](https://docs.camel-ai.org/cookbooks/applications/customer_service_Discord_bot_using_SambaNova_with_agentic_RAG.html)** | Learn how to build a robust customer service bot for Discord using Agentic RAG. |
|
|
420
|
+
| **[Customer Service Discord Bot with Local Model](https://docs.camel-ai.org/cookbooks/applications/customer_service_Discord_bot_using_local_model_with_agentic_RAG.html)** | Learn how to build a robust customer service bot for Discord using Agentic RAG which supports local deployment. |
|
|
421
|
+
|
|
422
|
+
### Data Processing
|
|
432
423
|
| Cookbook | Description |
|
|
433
424
|
|:---|:---|
|
|
434
|
-
| **[
|
|
435
|
-
| **[
|
|
436
|
-
| **[
|
|
437
|
-
| **[Model Speed Comparison Cookbook](https://docs.camel-ai.org/cookbooks/model_speed_comparison.html)** | Benchmarking models for performance. |
|
|
438
|
-
| **[Message Cookbook](https://docs.camel-ai.org/cookbooks/agents_message.html)** | Best practices for message handling in agents. |
|
|
439
|
-
| **[Tools Cookbook](https://docs.camel-ai.org/cookbooks/agents_with_tools.html)** | Integrating tools for enhanced functionality. |
|
|
440
|
-
| **[Memory Cookbook](https://docs.camel-ai.org/cookbooks/agents_with_memory.html)** | Implementing memory systems in agents. |
|
|
441
|
-
| **[RAG Cookbook](https://docs.camel-ai.org/cookbooks/agents_with_rag.html)** | Recipes for Retrieval-Augmented Generation. |
|
|
442
|
-
| **[Prompting Cookbook](https://docs.camel-ai.org/cookbooks/agents_prompting.html)** | Techniques for effective prompt creation. |
|
|
443
|
-
| **[Task Generation Cookbook](https://docs.camel-ai.org/cookbooks/task_generation.html)** | Automating task generation for agents. |
|
|
444
|
-
| **[Graph RAG Cookbook](https://docs.camel-ai.org/cookbooks/knowledge_graph.html)** | Leveraging knowledge graphs with RAG. |
|
|
445
|
-
| **[Role-Playing Scraper for Report & Knowledge Graph Generation](https://docs.camel-ai.org/cookbooks/roleplaying_scraper.html)** | Create role-playing agents for data scraping and reporting. |
|
|
446
|
-
| **[Video Analysis](https://docs.camel-ai.org/cookbooks/video_analysis.html)** | Techniques for agents in video data analysis. |
|
|
447
|
-
| **[Track CAMEL Agents with AgentOps](https://docs.camel-ai.org/cookbooks/agents_tracking.html)** | Tools for tracking and managing agents in operations. |
|
|
448
|
-
| **[Create A Hackathon Judge Committee with Workforce](https://docs.camel-ai.org/cookbooks/workforce_judge_committee.html)** | Building a team of agents for collaborative judging. |
|
|
449
|
-
| **[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. |
|
|
450
|
-
| **[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. |
|
|
451
|
-
| **[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. |
|
|
452
|
-
| **[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. |
|
|
453
|
-
| **[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. |
|
|
454
|
-
| **[CoT Data Generation and Upload Data to Huggingface](https://docs.camel-ai.org/cookbooks/cot_data_gen_upload_to_huggingface.html)** | Uncover how to generate CoT data with CAMEL and seamlessly upload it to Huggingface. |
|
|
455
|
-
| **[CoT Data Generation and SFT Qwen with Unsolth, Uploading Data and Model to Hugging Face](https://docs.camel-ai.org/cookbooks/cot_data_gen_sft_qwen_unsolth_upload_huggingface.html)** | Discover how to generate CoT data using CAMEL and SFT Qwen with Unsolth, and seamlessly upload your data and model to Huggingface. |
|
|
456
|
-
| **[Customer Service Discord Bot with Agentic RAG supports local model deployment](https://docs.camel-ai.org/cookbooks/customer_service_Discord_bot_using_local_model_with_agentic_RAG.html)** | Learn how to build a robust customer service bot for Discord using Agentic RAG which supports local deployment. |
|
|
425
|
+
| **[Video Analysis](https://docs.camel-ai.org/cookbooks/data_processing/video_analysis.html)** | Techniques for agents in video data analysis. |
|
|
426
|
+
| **[3 Ways to Ingest Data from Websites with Firecrawl](https://docs.camel-ai.org/cookbooks/data_processing/ingest_data_from_websites_with_Firecrawl.html)** | Explore three methods for extracting and processing data from websites using Firecrawl. |
|
|
427
|
+
| **[Create AI Agents that work with your PDFs](https://docs.camel-ai.org/cookbooks/data_processing/agent_with_chunkr_for_pdf_parsing.html)** | Learn how to create AI agents that work with your PDFs using Chunkr and Mistral AI. |
|
|
457
428
|
|
|
458
429
|
## Utilize Various LLMs as Backends
|
|
459
430
|
|