camel-ai 0.1.5__py3-none-any.whl → 0.1.5.2__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/agents/__init__.py +2 -0
- camel/agents/chat_agent.py +217 -36
- camel/agents/deductive_reasoner_agent.py +86 -31
- camel/agents/knowledge_graph_agent.py +41 -18
- camel/agents/role_assignment_agent.py +4 -1
- camel/agents/search_agent.py +122 -0
- camel/bots/__init__.py +20 -0
- camel/bots/discord_bot.py +103 -0
- camel/bots/telegram_bot.py +84 -0
- camel/configs/__init__.py +3 -0
- camel/configs/anthropic_config.py +1 -1
- camel/configs/litellm_config.py +113 -0
- camel/embeddings/__init__.py +2 -0
- camel/embeddings/openai_embedding.py +2 -2
- camel/embeddings/sentence_transformers_embeddings.py +6 -5
- camel/embeddings/vlm_embedding.py +146 -0
- camel/functions/__init__.py +9 -0
- camel/functions/open_api_function.py +150 -29
- camel/functions/open_api_specs/biztoc/__init__.py +13 -0
- camel/functions/open_api_specs/biztoc/ai-plugin.json +34 -0
- camel/functions/open_api_specs/biztoc/openapi.yaml +21 -0
- camel/functions/open_api_specs/create_qr_code/__init__.py +13 -0
- camel/functions/open_api_specs/create_qr_code/openapi.yaml +44 -0
- camel/functions/open_api_specs/nasa_apod/__init__.py +13 -0
- camel/functions/open_api_specs/nasa_apod/openapi.yaml +72 -0
- camel/functions/open_api_specs/outschool/__init__.py +13 -0
- camel/functions/open_api_specs/outschool/ai-plugin.json +34 -0
- camel/functions/open_api_specs/outschool/openapi.yaml +1 -0
- camel/functions/open_api_specs/outschool/paths/__init__.py +14 -0
- camel/functions/open_api_specs/outschool/paths/get_classes.py +29 -0
- camel/functions/open_api_specs/outschool/paths/search_teachers.py +29 -0
- camel/functions/open_api_specs/security_config.py +21 -0
- camel/functions/open_api_specs/web_scraper/__init__.py +13 -0
- camel/functions/open_api_specs/web_scraper/ai-plugin.json +34 -0
- camel/functions/open_api_specs/web_scraper/openapi.yaml +71 -0
- camel/functions/open_api_specs/web_scraper/paths/__init__.py +13 -0
- camel/functions/open_api_specs/web_scraper/paths/scraper.py +29 -0
- camel/functions/openai_function.py +3 -1
- camel/functions/search_functions.py +104 -171
- camel/functions/slack_functions.py +2 -1
- camel/human.py +3 -1
- camel/loaders/base_io.py +3 -1
- camel/loaders/unstructured_io.py +16 -22
- camel/messages/base.py +135 -46
- camel/models/__init__.py +4 -0
- camel/models/anthropic_model.py +20 -14
- camel/models/base_model.py +2 -0
- camel/models/litellm_model.py +112 -0
- camel/models/model_factory.py +8 -1
- camel/models/open_source_model.py +1 -0
- camel/models/openai_model.py +6 -2
- camel/models/zhipuai_model.py +125 -0
- camel/prompts/__init__.py +2 -0
- camel/prompts/base.py +2 -1
- camel/prompts/descripte_video_prompt.py +33 -0
- camel/prompts/task_prompt_template.py +9 -3
- camel/retrievers/auto_retriever.py +20 -11
- camel/retrievers/base.py +4 -2
- camel/retrievers/bm25_retriever.py +2 -1
- camel/retrievers/cohere_rerank_retriever.py +2 -1
- camel/retrievers/vector_retriever.py +10 -4
- camel/societies/babyagi_playing.py +2 -1
- camel/societies/role_playing.py +2 -1
- camel/storages/graph_storages/base.py +1 -0
- camel/storages/graph_storages/neo4j_graph.py +5 -3
- camel/storages/vectordb_storages/base.py +2 -1
- camel/storages/vectordb_storages/milvus.py +5 -2
- camel/toolkits/github_toolkit.py +120 -26
- camel/types/__init__.py +3 -2
- camel/types/enums.py +25 -1
- camel/utils/__init__.py +11 -2
- camel/utils/commons.py +74 -4
- camel/utils/constants.py +26 -0
- camel/utils/token_counting.py +58 -5
- {camel_ai-0.1.5.dist-info → camel_ai-0.1.5.2.dist-info}/METADATA +29 -13
- camel_ai-0.1.5.2.dist-info/RECORD +148 -0
- camel_ai-0.1.5.dist-info/RECORD +0 -119
- {camel_ai-0.1.5.dist-info → camel_ai-0.1.5.2.dist-info}/WHEEL +0 -0
camel/utils/__init__.py
CHANGED
|
@@ -11,30 +11,35 @@
|
|
|
11
11
|
# See the License for the specific language governing permissions and
|
|
12
12
|
# limitations under the License.
|
|
13
13
|
# =========== Copyright 2023 @ CAMEL-AI.org. All Rights Reserved. ===========
|
|
14
|
+
|
|
14
15
|
from .commons import (
|
|
15
16
|
PYDANTIC_V2,
|
|
16
|
-
api_key_required,
|
|
17
17
|
api_keys_required,
|
|
18
18
|
check_server_running,
|
|
19
|
+
create_chunks,
|
|
19
20
|
dependencies_required,
|
|
20
21
|
download_tasks,
|
|
21
22
|
get_first_int,
|
|
22
23
|
get_prompt_template_key_words,
|
|
23
24
|
get_system_information,
|
|
24
25
|
get_task_list,
|
|
26
|
+
model_api_key_required,
|
|
25
27
|
print_text_animated,
|
|
28
|
+
text_extract_from_web,
|
|
26
29
|
to_pascal,
|
|
27
30
|
)
|
|
31
|
+
from .constants import Constants
|
|
28
32
|
from .token_counting import (
|
|
29
33
|
AnthropicTokenCounter,
|
|
30
34
|
BaseTokenCounter,
|
|
35
|
+
LiteLLMTokenCounter,
|
|
31
36
|
OpenAITokenCounter,
|
|
32
37
|
OpenSourceTokenCounter,
|
|
33
38
|
get_model_encoding,
|
|
34
39
|
)
|
|
35
40
|
|
|
36
41
|
__all__ = [
|
|
37
|
-
'
|
|
42
|
+
'model_api_key_required',
|
|
38
43
|
'print_text_animated',
|
|
39
44
|
'get_prompt_template_key_words',
|
|
40
45
|
'get_first_int',
|
|
@@ -49,6 +54,10 @@ __all__ = [
|
|
|
49
54
|
'BaseTokenCounter',
|
|
50
55
|
'OpenAITokenCounter',
|
|
51
56
|
'OpenSourceTokenCounter',
|
|
57
|
+
'LiteLLMTokenCounter',
|
|
58
|
+
'Constants',
|
|
59
|
+
'text_extract_from_web',
|
|
60
|
+
'create_chunks',
|
|
52
61
|
'dependencies_required',
|
|
53
62
|
'api_keys_required',
|
|
54
63
|
]
|
camel/utils/commons.py
CHANGED
|
@@ -30,8 +30,9 @@ from camel.types import TaskType
|
|
|
30
30
|
F = TypeVar('F', bound=Callable[..., Any])
|
|
31
31
|
|
|
32
32
|
|
|
33
|
-
def
|
|
34
|
-
r"""Decorator that checks if the API key is available either as an
|
|
33
|
+
def model_api_key_required(func: F) -> F:
|
|
34
|
+
r"""Decorator that checks if the API key is available either as an
|
|
35
|
+
environment variable or passed directly for a model.
|
|
35
36
|
|
|
36
37
|
Args:
|
|
37
38
|
func (callable): The function to be wrapped.
|
|
@@ -42,6 +43,9 @@ def api_key_required(func: F) -> F:
|
|
|
42
43
|
Raises:
|
|
43
44
|
ValueError: If the API key is not found, either as an environment
|
|
44
45
|
variable or directly passed.
|
|
46
|
+
|
|
47
|
+
Note:
|
|
48
|
+
Supported model type: `OpenAI` and `Anthropic`.
|
|
45
49
|
"""
|
|
46
50
|
|
|
47
51
|
@wraps(func)
|
|
@@ -50,8 +54,12 @@ def api_key_required(func: F) -> F:
|
|
|
50
54
|
if not self._api_key and 'OPENAI_API_KEY' not in os.environ:
|
|
51
55
|
raise ValueError('OpenAI API key not found.')
|
|
52
56
|
return func(self, *args, **kwargs)
|
|
57
|
+
elif self.model_type.is_zhipuai:
|
|
58
|
+
if 'ZHIPUAI_API_KEY' not in os.environ:
|
|
59
|
+
raise ValueError('ZhiPuAI API key not found.')
|
|
60
|
+
return func(self, *args, **kwargs)
|
|
53
61
|
elif self.model_type.is_anthropic:
|
|
54
|
-
if 'ANTHROPIC_API_KEY' not in os.environ:
|
|
62
|
+
if not self._api_key and 'ANTHROPIC_API_KEY' not in os.environ:
|
|
55
63
|
raise ValueError('Anthropic API key not found.')
|
|
56
64
|
return func(self, *args, **kwargs)
|
|
57
65
|
else:
|
|
@@ -274,7 +282,9 @@ def api_keys_required(*required_keys: str) -> Callable[[F], F]:
|
|
|
274
282
|
def wrapper(*args: Any, **kwargs: Any) -> Any:
|
|
275
283
|
missing_keys = [k for k in required_keys if k not in os.environ]
|
|
276
284
|
if missing_keys:
|
|
277
|
-
raise ValueError(
|
|
285
|
+
raise ValueError(
|
|
286
|
+
f"Missing API keys: {', '.join(missing_keys)}"
|
|
287
|
+
)
|
|
278
288
|
return func(*args, **kwargs)
|
|
279
289
|
|
|
280
290
|
return cast(F, wrapper)
|
|
@@ -326,3 +336,63 @@ def to_pascal(snake: str) -> str:
|
|
|
326
336
|
|
|
327
337
|
|
|
328
338
|
PYDANTIC_V2 = pydantic.VERSION.startswith("2.")
|
|
339
|
+
|
|
340
|
+
|
|
341
|
+
def text_extract_from_web(url: str) -> str:
|
|
342
|
+
r"""Get the text information from given url.
|
|
343
|
+
|
|
344
|
+
Args:
|
|
345
|
+
url (str): The website you want to search.
|
|
346
|
+
|
|
347
|
+
Returns:
|
|
348
|
+
str: All texts extract from the web.
|
|
349
|
+
"""
|
|
350
|
+
try:
|
|
351
|
+
import requests
|
|
352
|
+
from newspaper import Article
|
|
353
|
+
|
|
354
|
+
# Request the target page
|
|
355
|
+
article = Article(url)
|
|
356
|
+
article.download()
|
|
357
|
+
article.parse()
|
|
358
|
+
text = article.text
|
|
359
|
+
|
|
360
|
+
except requests.RequestException as e:
|
|
361
|
+
text = f"Can't access {url}, error: {e}"
|
|
362
|
+
|
|
363
|
+
except Exception as e:
|
|
364
|
+
text = f"Can't extract text from {url}, error: {e}"
|
|
365
|
+
|
|
366
|
+
return text
|
|
367
|
+
|
|
368
|
+
|
|
369
|
+
def create_chunks(text: str, n: int) -> List[str]:
|
|
370
|
+
r"""Returns successive n-sized chunks from provided text. Split a text
|
|
371
|
+
into smaller chunks of size n".
|
|
372
|
+
|
|
373
|
+
Args:
|
|
374
|
+
text (str): The text to be split.
|
|
375
|
+
n (int): The max length of a single chunk.
|
|
376
|
+
|
|
377
|
+
Returns:
|
|
378
|
+
List[str]: A list of split texts.
|
|
379
|
+
"""
|
|
380
|
+
|
|
381
|
+
chunks = []
|
|
382
|
+
i = 0
|
|
383
|
+
while i < len(text):
|
|
384
|
+
# Find the nearest end of sentence within a range of 0.5 * n
|
|
385
|
+
# and 1.5 * n tokens
|
|
386
|
+
j = min(i + int(1.2 * n), len(text))
|
|
387
|
+
while j > i + int(0.8 * n):
|
|
388
|
+
# Decode the tokens and check for full stop or newline
|
|
389
|
+
chunk = text[i:j]
|
|
390
|
+
if chunk.endswith(".") or chunk.endswith("\n"):
|
|
391
|
+
break
|
|
392
|
+
j -= 1
|
|
393
|
+
# If no end of sentence found, use n tokens as the chunk size
|
|
394
|
+
if j == i + int(0.8 * n):
|
|
395
|
+
j = min(i + n, len(text))
|
|
396
|
+
chunks.append(text[i:j])
|
|
397
|
+
i = j
|
|
398
|
+
return chunks
|
camel/utils/constants.py
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# =========== Copyright 2023 @ 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 @ CAMEL-AI.org. All Rights Reserved. ===========
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class Constants:
|
|
17
|
+
# This value defines the default size (both width and height) for images
|
|
18
|
+
# extracted from a video.
|
|
19
|
+
VIDEO_DEFAULT_IMAGE_SIZE = 768
|
|
20
|
+
|
|
21
|
+
# This value defines the interval (in number of frames) at which images
|
|
22
|
+
# are extracted from the video.
|
|
23
|
+
VIDEO_IMAGE_EXTRACTION_INTERVAL = 50
|
|
24
|
+
|
|
25
|
+
# default plug of imageio to read video
|
|
26
|
+
VIDEO_DEFAULT_PLUG_PYAV = "pyav"
|
camel/utils/token_counting.py
CHANGED
|
@@ -23,7 +23,7 @@ from typing import TYPE_CHECKING, List, Optional
|
|
|
23
23
|
from anthropic import Anthropic
|
|
24
24
|
from PIL import Image
|
|
25
25
|
|
|
26
|
-
from camel.types import ModelType,
|
|
26
|
+
from camel.types import ModelType, OpenAIImageType, OpenAIVisionDetailType
|
|
27
27
|
|
|
28
28
|
if TYPE_CHECKING:
|
|
29
29
|
from camel.messages import OpenAIMessage
|
|
@@ -245,6 +245,7 @@ class OpenAITokenCounter(BaseTokenCounter):
|
|
|
245
245
|
elif item["type"] == "image_url":
|
|
246
246
|
image_str: str = item["image_url"]["url"]
|
|
247
247
|
detail = item["image_url"]["detail"]
|
|
248
|
+
|
|
248
249
|
image_prefix_format = "data:image/{};base64,"
|
|
249
250
|
image_prefix: Optional[str] = None
|
|
250
251
|
for image_type in list(OpenAIImageType):
|
|
@@ -261,7 +262,7 @@ class OpenAITokenCounter(BaseTokenCounter):
|
|
|
261
262
|
)
|
|
262
263
|
image = Image.open(image_bytes)
|
|
263
264
|
num_tokens += count_tokens_from_image(
|
|
264
|
-
image,
|
|
265
|
+
image, OpenAIVisionDetailType(detail)
|
|
265
266
|
)
|
|
266
267
|
if key == "name":
|
|
267
268
|
num_tokens += self.tokens_per_name
|
|
@@ -300,8 +301,60 @@ class AnthropicTokenCounter(BaseTokenCounter):
|
|
|
300
301
|
return self.client.count_tokens(prompt)
|
|
301
302
|
|
|
302
303
|
|
|
304
|
+
class LiteLLMTokenCounter:
|
|
305
|
+
def __init__(self, model_type: str):
|
|
306
|
+
r"""Constructor for the token counter for LiteLLM models.
|
|
307
|
+
|
|
308
|
+
Args:
|
|
309
|
+
model_type (str): Model type for which tokens will be counted.
|
|
310
|
+
"""
|
|
311
|
+
self.model_type = model_type
|
|
312
|
+
self._token_counter = None
|
|
313
|
+
self._completion_cost = None
|
|
314
|
+
|
|
315
|
+
@property
|
|
316
|
+
def token_counter(self):
|
|
317
|
+
if self._token_counter is None:
|
|
318
|
+
from litellm import token_counter
|
|
319
|
+
|
|
320
|
+
self._token_counter = token_counter
|
|
321
|
+
return self._token_counter
|
|
322
|
+
|
|
323
|
+
@property
|
|
324
|
+
def completion_cost(self):
|
|
325
|
+
if self._completion_cost is None:
|
|
326
|
+
from litellm import completion_cost
|
|
327
|
+
|
|
328
|
+
self._completion_cost = completion_cost
|
|
329
|
+
return self._completion_cost
|
|
330
|
+
|
|
331
|
+
def count_tokens_from_messages(self, messages: List[OpenAIMessage]) -> int:
|
|
332
|
+
r"""Count number of tokens in the provided message list using
|
|
333
|
+
the tokenizer specific to this type of model.
|
|
334
|
+
|
|
335
|
+
Args:
|
|
336
|
+
messages (List[OpenAIMessage]): Message list with the chat history
|
|
337
|
+
in LiteLLM API format.
|
|
338
|
+
|
|
339
|
+
Returns:
|
|
340
|
+
int: Number of tokens in the messages.
|
|
341
|
+
"""
|
|
342
|
+
return self.token_counter(model=self.model_type, messages=messages)
|
|
343
|
+
|
|
344
|
+
def calculate_cost_from_response(self, response: dict) -> float:
|
|
345
|
+
r"""Calculate the cost of the given completion response.
|
|
346
|
+
|
|
347
|
+
Args:
|
|
348
|
+
response (dict): The completion response from LiteLLM.
|
|
349
|
+
|
|
350
|
+
Returns:
|
|
351
|
+
float: The cost of the completion call in USD.
|
|
352
|
+
"""
|
|
353
|
+
return self.completion_cost(completion_response=response)
|
|
354
|
+
|
|
355
|
+
|
|
303
356
|
def count_tokens_from_image(
|
|
304
|
-
image: Image.Image, detail:
|
|
357
|
+
image: Image.Image, detail: OpenAIVisionDetailType
|
|
305
358
|
) -> int:
|
|
306
359
|
r"""Count image tokens for OpenAI vision model. An :obj:`"auto"`
|
|
307
360
|
resolution model will be treated as :obj:`"high"`. All images with
|
|
@@ -315,13 +368,13 @@ def count_tokens_from_image(
|
|
|
315
368
|
|
|
316
369
|
Args:
|
|
317
370
|
image (PIL.Image.Image): Image to count number of tokens.
|
|
318
|
-
detail (
|
|
371
|
+
detail (OpenAIVisionDetailType): Image detail type to count
|
|
319
372
|
number of tokens.
|
|
320
373
|
|
|
321
374
|
Returns:
|
|
322
375
|
int: Number of tokens for the image given a detail type.
|
|
323
376
|
"""
|
|
324
|
-
if detail ==
|
|
377
|
+
if detail == OpenAIVisionDetailType.LOW:
|
|
325
378
|
return LOW_DETAIL_TOKENS
|
|
326
379
|
|
|
327
380
|
width, height = image.size
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: camel-ai
|
|
3
|
-
Version: 0.1.5
|
|
3
|
+
Version: 0.1.5.2
|
|
4
4
|
Summary: Communicative Agents for AI Society Study
|
|
5
5
|
Home-page: https://www.camel-ai.org/
|
|
6
6
|
License: Apache-2.0
|
|
@@ -16,37 +16,47 @@ Provides-Extra: all
|
|
|
16
16
|
Provides-Extra: encoders
|
|
17
17
|
Provides-Extra: graph-storages
|
|
18
18
|
Provides-Extra: huggingface-agent
|
|
19
|
+
Provides-Extra: model-platforms
|
|
19
20
|
Provides-Extra: retrievers
|
|
20
21
|
Provides-Extra: test
|
|
21
22
|
Provides-Extra: tools
|
|
22
23
|
Provides-Extra: vector-databases
|
|
23
24
|
Requires-Dist: PyMuPDF (>=1.22.5,<2.0.0) ; extra == "tools" or extra == "all"
|
|
24
25
|
Requires-Dist: accelerate (>=0,<1) ; extra == "huggingface-agent" or extra == "all"
|
|
25
|
-
Requires-Dist: anthropic (>=0.
|
|
26
|
+
Requires-Dist: anthropic (>=0.28.0,<0.29.0)
|
|
26
27
|
Requires-Dist: beautifulsoup4 (>=4,<5) ; extra == "tools" or extra == "all"
|
|
27
28
|
Requires-Dist: cohere (>=4.56,<5.0) ; extra == "retrievers" or extra == "all"
|
|
28
29
|
Requires-Dist: colorama (>=0,<1)
|
|
30
|
+
Requires-Dist: curl_cffi (==0.6.2)
|
|
29
31
|
Requires-Dist: datasets (>=2,<3) ; extra == "huggingface-agent" or extra == "all"
|
|
30
32
|
Requires-Dist: diffusers (>=0,<1) ; extra == "huggingface-agent" or extra == "all"
|
|
33
|
+
Requires-Dist: discord.py (>=2.3.2,<3.0.0) ; extra == "tools" or extra == "all"
|
|
31
34
|
Requires-Dist: docstring-parser (>=0.15,<0.16)
|
|
32
35
|
Requires-Dist: docx2txt (>=0.8,<0.9) ; extra == "tools" or extra == "all"
|
|
36
|
+
Requires-Dist: duckduckgo-search (>=6.1.0,<7.0.0) ; extra == "tools" or extra == "all"
|
|
33
37
|
Requires-Dist: googlemaps (>=4.10.0,<5.0.0) ; extra == "tools" or extra == "all"
|
|
38
|
+
Requires-Dist: imageio (>=2.34.1,<3.0.0) ; extra == "tools" or extra == "all"
|
|
34
39
|
Requires-Dist: jsonschema (>=4,<5)
|
|
40
|
+
Requires-Dist: litellm (>=1.38.1,<2.0.0) ; extra == "model-platforms" or extra == "all"
|
|
35
41
|
Requires-Dist: mock (>=5,<6) ; extra == "test"
|
|
36
42
|
Requires-Dist: neo4j (>=5.18.0,<6.0.0) ; extra == "graph-storages" or extra == "all"
|
|
43
|
+
Requires-Dist: newspaper3k (>=0.2.8,<0.3.0) ; extra == "tools" or extra == "all"
|
|
37
44
|
Requires-Dist: numpy (>=1,<2)
|
|
38
45
|
Requires-Dist: openai (>=1.2.3,<2.0.0)
|
|
39
46
|
Requires-Dist: openapi-spec-validator (>=0.7.1,<0.8.0) ; extra == "tools" or extra == "all"
|
|
40
47
|
Requires-Dist: opencv-python (>=4,<5) ; extra == "huggingface-agent" or extra == "all"
|
|
41
48
|
Requires-Dist: pathlib (>=1.0.1,<2.0.0)
|
|
49
|
+
Requires-Dist: pillow (>=10.2.0,<11.0.0) ; extra == "tools" or extra == "all"
|
|
42
50
|
Requires-Dist: prance (>=23.6.21.0,<24.0.0.0) ; extra == "tools" or extra == "all"
|
|
43
51
|
Requires-Dist: protobuf (>=4,<5)
|
|
52
|
+
Requires-Dist: pyTelegramBotAPI (>=4.18.0,<5.0.0) ; extra == "tools" or extra == "all"
|
|
44
53
|
Requires-Dist: pydantic (>=1.9,<3)
|
|
45
54
|
Requires-Dist: pydub (>=0.25.1,<0.26.0) ; extra == "tools" or extra == "all"
|
|
46
55
|
Requires-Dist: pygithub (>=2.3.0,<3.0.0) ; extra == "tools" or extra == "all"
|
|
47
56
|
Requires-Dist: pymilvus (>=2.4.0,<3.0.0) ; extra == "vector-databases" or extra == "all"
|
|
48
57
|
Requires-Dist: pyowm (>=3.3.0,<4.0.0) ; extra == "tools" or extra == "all"
|
|
49
58
|
Requires-Dist: pytest (>=7,<8) ; extra == "test"
|
|
59
|
+
Requires-Dist: pytest-asyncio (>=0.23.0,<0.24.0) ; extra == "test"
|
|
50
60
|
Requires-Dist: qdrant-client (>=1.9.0,<2.0.0) ; extra == "vector-databases" or extra == "all"
|
|
51
61
|
Requires-Dist: rank-bm25 (>=0.2.2,<0.3.0) ; extra == "retrievers" or extra == "all"
|
|
52
62
|
Requires-Dist: requests_oauthlib (>=1.3.1,<2.0.0) ; extra == "tools" or extra == "all"
|
|
@@ -121,6 +131,10 @@ To install the base CAMEL library:
|
|
|
121
131
|
pip install camel-ai
|
|
122
132
|
```
|
|
123
133
|
Some features require extra dependencies:
|
|
134
|
+
- To install with all dependencies:
|
|
135
|
+
```bash
|
|
136
|
+
pip install 'camel-ai[all]'
|
|
137
|
+
```
|
|
124
138
|
- To use the HuggingFace agents:
|
|
125
139
|
```bash
|
|
126
140
|
pip install 'camel-ai[huggingface-agent]'
|
|
@@ -129,10 +143,6 @@ Some features require extra dependencies:
|
|
|
129
143
|
```bash
|
|
130
144
|
pip install 'camel-ai[tools]'
|
|
131
145
|
```
|
|
132
|
-
- To install with all dependencies:
|
|
133
|
-
```bash
|
|
134
|
-
pip install 'camel-ai[all]'
|
|
135
|
-
```
|
|
136
146
|
|
|
137
147
|
### From Source
|
|
138
148
|
|
|
@@ -147,14 +157,20 @@ git clone https://github.com/camel-ai/camel.git
|
|
|
147
157
|
# Change directory into project directory
|
|
148
158
|
cd camel
|
|
149
159
|
|
|
150
|
-
#
|
|
160
|
+
# If you didn't install peotry before
|
|
161
|
+
pip install poetry # (Optional)
|
|
162
|
+
|
|
163
|
+
# We suggest using python 3.10
|
|
164
|
+
poetry env use python3.10 # (Optional)
|
|
165
|
+
|
|
166
|
+
# Activate CAMEL virtual environment
|
|
151
167
|
poetry shell
|
|
152
168
|
|
|
153
|
-
# Install
|
|
154
|
-
# It takes about 90 seconds
|
|
169
|
+
# Install the base CAMEL library
|
|
170
|
+
# It takes about 90 seconds
|
|
155
171
|
poetry install
|
|
156
172
|
|
|
157
|
-
#
|
|
173
|
+
# Install CAMEL with all dependencies
|
|
158
174
|
poetry install -E all # (Optional)
|
|
159
175
|
|
|
160
176
|
# Exit the virtual environment
|
|
@@ -166,16 +182,16 @@ Install `CAMEL` from source with conda and pip:
|
|
|
166
182
|
# Create a conda virtual environment
|
|
167
183
|
conda create --name camel python=3.10
|
|
168
184
|
|
|
169
|
-
# Activate
|
|
185
|
+
# Activate CAMEL conda environment
|
|
170
186
|
conda activate camel
|
|
171
187
|
|
|
172
188
|
# Clone github repo
|
|
173
|
-
git clone -b v0.1.5 https://github.com/camel-ai/camel.git
|
|
189
|
+
git clone -b v0.1.5.2 https://github.com/camel-ai/camel.git
|
|
174
190
|
|
|
175
191
|
# Change directory into project directory
|
|
176
192
|
cd camel
|
|
177
193
|
|
|
178
|
-
# Install
|
|
194
|
+
# Install CAMEL from source
|
|
179
195
|
pip install -e .
|
|
180
196
|
|
|
181
197
|
# Or if you want to use all other extra packages
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
camel/__init__.py,sha256=9lSkzCVy_evUPseFTI7wD_oMEn6wRo9aRZna06ygz5I,778
|
|
2
|
+
camel/agents/__init__.py,sha256=SSU1wbhZXWwQnE0rRxkpyN57kEu72KklsZNcdLkXfTs,1551
|
|
3
|
+
camel/agents/base.py,sha256=X39qWSiT1WnDqaJ9k3gQrTpOQSwUKzNEVpp5AY6fDH8,1130
|
|
4
|
+
camel/agents/chat_agent.py,sha256=-CZICCtQbsN-hDxZeFc45m-GU9UTWRQWtmv_q0cc5kQ,27713
|
|
5
|
+
camel/agents/critic_agent.py,sha256=Etxti9XKOut_KqMQHI8IKNMg8zUUM13trep7axZK0Qs,7377
|
|
6
|
+
camel/agents/deductive_reasoner_agent.py,sha256=xuRXe5JkrvU-Qs8qkAQ9MoUYaxOYQ51o9MYw89g0DLA,13309
|
|
7
|
+
camel/agents/embodied_agent.py,sha256=E0N63uOkfw02MdPTEX_ImUAzaNuapnPyU3iBJQSqeKU,7322
|
|
8
|
+
camel/agents/knowledge_graph_agent.py,sha256=JCNn2XVcQ-lnx6FF9riWAXACDmwIr-cNpJmv9Aa-V9k,8890
|
|
9
|
+
camel/agents/role_assignment_agent.py,sha256=npj0l7mhEVVVk3f1ryPlfy_mOeWZi4wyPOi1UpWgLoY,4910
|
|
10
|
+
camel/agents/search_agent.py,sha256=FPVZTwxTAy0KqidVMxM8J-XDGiP0uQAz4ie-O0_KVlI,4442
|
|
11
|
+
camel/agents/task_agent.py,sha256=Dip1nAd3oGtxVIi3laP65hOp5VwlajAbtotendtNMvs,14907
|
|
12
|
+
camel/agents/tool_agents/__init__.py,sha256=ulTNWU2qoFGe3pvVmCq_sdfeSX3NKZ0due66TYvsL-M,862
|
|
13
|
+
camel/agents/tool_agents/base.py,sha256=nQAhfWi8a_bCgzlf5-G-tmj1fKm6AjpRc89NQkWwpnc,1399
|
|
14
|
+
camel/agents/tool_agents/hugging_face_tool_agent.py,sha256=1Z5tG6f_86eL0vmtRZ-BJvoLDFFLhoHt8JtDvgat1xU,8723
|
|
15
|
+
camel/bots/__init__.py,sha256=DGgIhb7Gr_ShnAldq-4wAXucOdSvKtiV3m6e9G10rbA,834
|
|
16
|
+
camel/bots/discord_bot.py,sha256=y4rUyKgeowBpkMkhK29UKyE-DPfJhoouh7onqh7NzXE,3595
|
|
17
|
+
camel/bots/telegram_bot.py,sha256=bekO5vQcd62UcyUmEbdiSMJao9CWDsu3Okb6bXXQFUg,2890
|
|
18
|
+
camel/configs/__init__.py,sha256=9yc5rMGH_FHYCRyC89vmtozNi7RGhN8XHLXxtnIzRh4,1170
|
|
19
|
+
camel/configs/anthropic_config.py,sha256=zD7VMFUw4s7wmBlr64oSXxpEUkhp7wj9mvAd0WK2zFc,3308
|
|
20
|
+
camel/configs/base_config.py,sha256=CEF8ryl_dkH6LgOhwuP5_EgjaWCUCB-E3GcMWR-2YFE,870
|
|
21
|
+
camel/configs/litellm_config.py,sha256=6nghqAD1G7nsvW6W56LHpSKEnJyRiCLEcLgtzpPr-ac,5542
|
|
22
|
+
camel/configs/openai_config.py,sha256=UKTnpzRcAsQtxgvPJNgLHoMGuXWOrQyJsz0MBNsjALM,6603
|
|
23
|
+
camel/embeddings/__init__.py,sha256=9TI7392iYxrlYYerPoboDBOFvpEmP_nSSgtEjks1vJQ,1034
|
|
24
|
+
camel/embeddings/base.py,sha256=nauXLNEJlPnk2sKigFzvNTk_RKsC_2l_EQiyPyj_ATo,2208
|
|
25
|
+
camel/embeddings/openai_embedding.py,sha256=nlBIlbTqps34OT-ydrA1CUYOOZMJqbNSsqyjCx-16wM,2885
|
|
26
|
+
camel/embeddings/sentence_transformers_embeddings.py,sha256=BbgrBHrT8ACrID3RCaALIfuXAHGJG9jcuWu6W-Gd93I,2372
|
|
27
|
+
camel/embeddings/vlm_embedding.py,sha256=VvD_b737snNrZTRE4ejFvWLjd_YT1DCTKl8yKIgRM-g,5436
|
|
28
|
+
camel/functions/__init__.py,sha256=3d1ZI3xx67DvHeBQhQQAu7IwTohC6Sa-_EPZeDE8_50,1737
|
|
29
|
+
camel/functions/google_maps_function.py,sha256=AmhlIyqkrkZF6Vb4O-wdtEKTQjRh5mMjHjS56ciGgjk,12468
|
|
30
|
+
camel/functions/math_functions.py,sha256=sPHSEOdHOmL38wZWcdyiBj0VEmf7mhQ0MBzya1SFNL0,1703
|
|
31
|
+
camel/functions/open_api_function.py,sha256=W_xm4ZFRNWwjQVX-SyWfznRZnvq_T3F7ltw3qJ2Epx0,20312
|
|
32
|
+
camel/functions/open_api_specs/biztoc/__init__.py,sha256=f3LXNDzN2XWWoF2D0nesG8VuEA6Zd14i2aiTDbCm5bA,708
|
|
33
|
+
camel/functions/open_api_specs/biztoc/ai-plugin.json,sha256=IJinQbLv5MFPGFwdN7PbOhwArFVExSEZdJspe-mOBIo,866
|
|
34
|
+
camel/functions/open_api_specs/biztoc/openapi.yaml,sha256=SQ2bYIWb1nVBtkBeFaOihiWQ71oZ2bzz0fCgu6igM8A,610
|
|
35
|
+
camel/functions/open_api_specs/coursera/__init__.py,sha256=f3LXNDzN2XWWoF2D0nesG8VuEA6Zd14i2aiTDbCm5bA,708
|
|
36
|
+
camel/functions/open_api_specs/coursera/openapi.yaml,sha256=iouLcNNpVvXLfmkyKrbJlS3MEjBJ7TgVR48UID8dwfE,1981
|
|
37
|
+
camel/functions/open_api_specs/create_qr_code/__init__.py,sha256=f3LXNDzN2XWWoF2D0nesG8VuEA6Zd14i2aiTDbCm5bA,708
|
|
38
|
+
camel/functions/open_api_specs/create_qr_code/openapi.yaml,sha256=d6ZNFmhCwlqZj8Rp9lmdU1dYPyh3-GnadbEUKHqjBfc,1158
|
|
39
|
+
camel/functions/open_api_specs/klarna/__init__.py,sha256=f3LXNDzN2XWWoF2D0nesG8VuEA6Zd14i2aiTDbCm5bA,708
|
|
40
|
+
camel/functions/open_api_specs/klarna/openapi.yaml,sha256=9wpwRn8NLZL1reN6YUPsZP24hbDJJYvOJeeoWTk7ojQ,2887
|
|
41
|
+
camel/functions/open_api_specs/nasa_apod/__init__.py,sha256=f3LXNDzN2XWWoF2D0nesG8VuEA6Zd14i2aiTDbCm5bA,708
|
|
42
|
+
camel/functions/open_api_specs/nasa_apod/openapi.yaml,sha256=4NPWtk9k7UwNpUihkrbCXzzs4zls-YnEYKe6qmtO8FU,2044
|
|
43
|
+
camel/functions/open_api_specs/outschool/__init__.py,sha256=f3LXNDzN2XWWoF2D0nesG8VuEA6Zd14i2aiTDbCm5bA,708
|
|
44
|
+
camel/functions/open_api_specs/outschool/ai-plugin.json,sha256=QohJo8Ya0RGBvs9cBQR-UgSMl0gXJdNlWO8d2FyqdE8,1089
|
|
45
|
+
camel/functions/open_api_specs/outschool/openapi.yaml,sha256=t9gHdt09CQ8QMVnzEBxkcgH9eG720IsnVwB_6QxzSC4,8700
|
|
46
|
+
camel/functions/open_api_specs/outschool/paths/__init__.py,sha256=2XEfkKfyijEhzTodYGGoD5qvCQLYYlcxboQuNfLGBJs,780
|
|
47
|
+
camel/functions/open_api_specs/outschool/paths/get_classes.py,sha256=1skqdvrOjI_oywSe3KBV4zuqDg_EOpftpA3G6gXCZ8c,1122
|
|
48
|
+
camel/functions/open_api_specs/outschool/paths/search_teachers.py,sha256=p6J9jTxbBNVJTa3M1qaJu3VKtIZEZFX0etxw7a3pdFk,1125
|
|
49
|
+
camel/functions/open_api_specs/security_config.py,sha256=uxdd-Uh1hyHd3wvXdVahBH0hDdf0-IEoVk9Rh2vpAh0,904
|
|
50
|
+
camel/functions/open_api_specs/speak/__init__.py,sha256=f3LXNDzN2XWWoF2D0nesG8VuEA6Zd14i2aiTDbCm5bA,708
|
|
51
|
+
camel/functions/open_api_specs/speak/openapi.yaml,sha256=rmM_-E4tYJ2LOpUlcQxfQtcQSRkVnsBkQWMmKdW2QqQ,6557
|
|
52
|
+
camel/functions/open_api_specs/web_scraper/__init__.py,sha256=f3LXNDzN2XWWoF2D0nesG8VuEA6Zd14i2aiTDbCm5bA,708
|
|
53
|
+
camel/functions/open_api_specs/web_scraper/ai-plugin.json,sha256=jjHvbj0DQ4AYcL9JlSWhyJZ3mFj4eC33E4t6Ci54p3s,1028
|
|
54
|
+
camel/functions/open_api_specs/web_scraper/openapi.yaml,sha256=u_WalQ01e8W1D27VnZviOylpGmJ-zssYrfAgkzqdoyk,2191
|
|
55
|
+
camel/functions/open_api_specs/web_scraper/paths/__init__.py,sha256=f3LXNDzN2XWWoF2D0nesG8VuEA6Zd14i2aiTDbCm5bA,708
|
|
56
|
+
camel/functions/open_api_specs/web_scraper/paths/scraper.py,sha256=SQGbFkshLN4xm-Ya49ssbSvaU1nFVNFYhWsEPYVeFe0,1123
|
|
57
|
+
camel/functions/openai_function.py,sha256=NyN8LBKdNeWizR7SnOp6VwEQhq29OJgskFfXq8EzIFg,14948
|
|
58
|
+
camel/functions/retrieval_functions.py,sha256=ZBwQhBeun86k6AnMDCpf0U-JYNaU0alDJAS1hdnumAQ,2281
|
|
59
|
+
camel/functions/search_functions.py,sha256=tj2eM7Jc70a5tsZhKr3mWczUbK9saUAJxXTrlWKBAv8,11151
|
|
60
|
+
camel/functions/slack_functions.py,sha256=wY838LhFRCEFbhm-R6ImJz7qNT9a74pKaK3oVv0j2ts,8808
|
|
61
|
+
camel/functions/twitter_function.py,sha256=xL-GKU69WrcTUm3lQl1yPgJFxtBJKRmWN3zx9AfGNKI,17254
|
|
62
|
+
camel/functions/weather_functions.py,sha256=W2jMFqxq5M7Dan7cgEpnvzBk0SV_MduMbCuvHBsgo-c,5881
|
|
63
|
+
camel/generators.py,sha256=tcYDoHwSKN0rBiu7u4rWN9pb61O8OaclrNaasCqHSJM,10437
|
|
64
|
+
camel/human.py,sha256=W_T7PSO-ReiJbC5JMX1wPrpt6LVFBqoNEwUdjDScG1M,4963
|
|
65
|
+
camel/interpreters/__init__.py,sha256=iGaeff8zeVDHr_5qHGmMuDzo8gz8vnW4yA7NMhk3-hg,1040
|
|
66
|
+
camel/interpreters/base.py,sha256=JZpQmxYBflPcDerj-R6TB6nnKvhnZR3Drraxo84JuxE,1904
|
|
67
|
+
camel/interpreters/internal_python_interpreter.py,sha256=ZbVmSB2zvWbvvTOL0xpDlJel-I9rv13w1rP4RvtpNiE,21866
|
|
68
|
+
camel/interpreters/interpreter_error.py,sha256=4pI_dKohUKcQOrqJafolyjRfOHwBUuUBXCwwD46P4wE,886
|
|
69
|
+
camel/interpreters/subprocess_interpreter.py,sha256=nKxFXZJ9zGYlKdNlz6Ln7bvg65ejKZ8yAHgIFuR2WzM,6835
|
|
70
|
+
camel/loaders/__init__.py,sha256=TYKJlSEUCajdXVWLNHBL8qQO0WYdQwut4gO-r3-SaMY,856
|
|
71
|
+
camel/loaders/base_io.py,sha256=vhNDyjlxvxG20PTImpRrv_XxkploDUyRP43kgs31S5A,8688
|
|
72
|
+
camel/loaders/unstructured_io.py,sha256=JE0kFouTURqjUoLz1fBfxwSVYzkULaqdNf_A1YONfS4,25403
|
|
73
|
+
camel/memories/__init__.py,sha256=ml1Uj4Y_1Q2LfrTXOY38niF0x1H-N-u_zoN_VvR939U,1364
|
|
74
|
+
camel/memories/agent_memories.py,sha256=XxZCNSqMy2zME-vYjy9EBpQc9WzW1vOIFwdAoxImvtY,6110
|
|
75
|
+
camel/memories/base.py,sha256=kbyAmKkOfFdOKfHxwao8bIAbRSuOEXyzxPFd0NlvUCE,5003
|
|
76
|
+
camel/memories/blocks/__init__.py,sha256=5oPXhzoZke5d-4R8jmP54o8O2mmBvJB30oukRNrRX50,860
|
|
77
|
+
camel/memories/blocks/chat_history_block.py,sha256=USDGp5pDlp6PrClmAVi3WqwAjE6wrWwpJBoqG_yvX9A,4609
|
|
78
|
+
camel/memories/blocks/vectordb_block.py,sha256=qgW-hr-TptXwirrtO5RrFlvD6r3BPFXvvz3hJzs4Zjg,3850
|
|
79
|
+
camel/memories/context_creators/__init__.py,sha256=0uLLP3YD46gOOh39her_weJo3viHmE4IWyWBLlutnqs,806
|
|
80
|
+
camel/memories/context_creators/score_based.py,sha256=o3h4Rst9vzdgMg8-MbUMDLVaMBMqy4ZeFgHejyGQTJY,5378
|
|
81
|
+
camel/memories/records.py,sha256=zmZsYHVuq6fYqJDkzhNXF02uWLzdBemaEZeG0Ls90pU,3618
|
|
82
|
+
camel/messages/__init__.py,sha256=djLvpz6AmjeLzuUSQl7J6T2O4x8MwSdcH0l9fbj_3yg,1468
|
|
83
|
+
camel/messages/base.py,sha256=1cyYITXxBsp2UCdOjF1Ky4W_PgRegEfitqbrF9PjUPs,13721
|
|
84
|
+
camel/messages/func_message.py,sha256=CCVkbz-2pdxXV0vBETI0xt7d7uiN8zACpRI7lCnfTFQ,3841
|
|
85
|
+
camel/models/__init__.py,sha256=AHlcSSVnw3NK7ngqVoxPFg-m5Ts3goyshqtwNJIsQ2U,1288
|
|
86
|
+
camel/models/anthropic_model.py,sha256=N0oM9uRn3lV-UxSlhBmM08p0ZsQTjPWaEYI24XzyAPE,5286
|
|
87
|
+
camel/models/base_model.py,sha256=_TPcJrH4hbX6Iq6SBRUJufBp_Mgzkye1terqstu7aIQ,3906
|
|
88
|
+
camel/models/litellm_model.py,sha256=_f61yTPFNMrdAAKuDokLoohjuhECcwjdOjLmDoxgNJk,3942
|
|
89
|
+
camel/models/model_factory.py,sha256=sM67tlxriaZjn5xcIR-yK12ubk4EBMi_kRdl36o8eU4,2664
|
|
90
|
+
camel/models/open_source_model.py,sha256=3t3Lrdx9T-g94k3MrRRn7dDQqJHqFoFRBi-yXj5RIEw,5857
|
|
91
|
+
camel/models/openai_audio_models.py,sha256=Jpd_B-5R8d8s3qYo_0x-Ahw5icMCysGEjaDtssV34dg,9799
|
|
92
|
+
camel/models/openai_model.py,sha256=cqbfcZZEDOBUqJRT5oTo_ohNMxAUXXOg-dm7kTiuilE,4193
|
|
93
|
+
camel/models/stub_model.py,sha256=hbfS6A83vY4TaFK_7Q9jA4Gbrkp0Hlmq2IEZ1z81L8E,3631
|
|
94
|
+
camel/models/zhipuai_model.py,sha256=DMpmwn6eCXwof1ASvih3NTfGxTlt5YstGEC6qrQqRJE,4484
|
|
95
|
+
camel/prompts/__init__.py,sha256=xzt5NBo2tZ_35SvzUk6OExKzrSEKZJMZeYszOSPW2ec,1903
|
|
96
|
+
camel/prompts/ai_society.py,sha256=ApgvIED1Z_mdsWDNc2_u35Ktp7pEKksMrOIQKo_q5cI,6306
|
|
97
|
+
camel/prompts/base.py,sha256=VMde6w97zHPP03OA628wGwXhtJweoccOK1B1f3aESDo,8464
|
|
98
|
+
camel/prompts/code.py,sha256=vrv2mPjlakPlqVLQt_rA1veP79EN1t3iM41bkACrc9I,5865
|
|
99
|
+
camel/prompts/descripte_video_prompt.py,sha256=lyJlVN1wjrY77Cv8U3NdDpmtlyIXs1wHYRhsrgLPcuY,1295
|
|
100
|
+
camel/prompts/evaluation.py,sha256=4zm5ZVy3CSb2NdFWnS43ejK8Cu_pU8iUIj06ofpuZpg,1596
|
|
101
|
+
camel/prompts/misalignment.py,sha256=aL3W5WvTJBfF-1vWQse_tn3zAOaezHGU510HLs0AlQo,4537
|
|
102
|
+
camel/prompts/object_recognition.py,sha256=L_YM_c8AxwO6MvwuUdeuluwhBPXedNxNIzOv5yF9Dag,1422
|
|
103
|
+
camel/prompts/prompt_templates.py,sha256=PeOp_eUgyZyJ7BCwA2cvSx8O3QPu9ftjgaZ6Al8zlJQ,4134
|
|
104
|
+
camel/prompts/role_description_prompt_template.py,sha256=k9p3NlxY1MWKzhoRpeQeuz0oHDQYo63WoPdWcUmHr_A,2544
|
|
105
|
+
camel/prompts/solution_extraction.py,sha256=5vTSaeQoBSvaur3cKgqQ9kLxSA5QIOBI4OPQzXWbQFg,2109
|
|
106
|
+
camel/prompts/task_prompt_template.py,sha256=vvWwuWkQ7SX9PR_2DtSr437JF5G-JPaanhWE0_GBug0,2816
|
|
107
|
+
camel/prompts/translation.py,sha256=V_40Ko2is5dAOCZ8DzsHo6DO7l8_jnEV9KjCKH7GxtY,1902
|
|
108
|
+
camel/responses/__init__.py,sha256=edtTQskOgq5obyITziRFL62HTJP9sAikAtP9vrFacEQ,795
|
|
109
|
+
camel/responses/agent_responses.py,sha256=UsTZHi4jPs2wfChPQWttVNyHneoGdQtdrRouatywE4w,1714
|
|
110
|
+
camel/retrievers/__init__.py,sha256=CuP3B77zl2PoF-W2y9xSkTGRzoK2J4TlUHdCtuJD8dg,1059
|
|
111
|
+
camel/retrievers/auto_retriever.py,sha256=malgItbxMWYhg7LAw8BuZl-osmbriG7BPtzvPYxI5UE,13469
|
|
112
|
+
camel/retrievers/base.py,sha256=sgqaJDwIkWluEgPBlukFN7RYZJnrp0imCAOEWm6bZ40,2646
|
|
113
|
+
camel/retrievers/bm25_retriever.py,sha256=-aWMZBF_WqSeyk_0Gcf9x4B12ywSBwHScSzxQmFZkXw,5199
|
|
114
|
+
camel/retrievers/cohere_rerank_retriever.py,sha256=jDAo5OxAWZBQhgH9cSo0_3h057AN4z6_oDMIy6HZvik,4142
|
|
115
|
+
camel/retrievers/vector_retriever.py,sha256=PhPIUyjffOojwYiATEY1lsCQO9yDmpc8k-R4sAt5IvY,7316
|
|
116
|
+
camel/societies/__init__.py,sha256=JhGwUHjht4CewzC3shKuxmgB3oS7FIxIxmiKyhNsfIs,832
|
|
117
|
+
camel/societies/babyagi_playing.py,sha256=0sDe65XbGGWQOe4I758sH-sAk1Hf82Y_qawjaEbbBXE,11791
|
|
118
|
+
camel/societies/role_playing.py,sha256=WIV_eGXw8pzGsOGnqhTsQqOWQxwe-Snwd_t162AALxI,22100
|
|
119
|
+
camel/storages/__init__.py,sha256=crRaZKmgvs8RCzfffREYIVo09J4q_HVu44JGb4CJMfo,1480
|
|
120
|
+
camel/storages/graph_storages/__init__.py,sha256=vsJZkedaCS-cLQ-KgMqio8cxXvbousBWVqzZJvlimT8,897
|
|
121
|
+
camel/storages/graph_storages/base.py,sha256=-Ys1BIuz4H5FvYMZTBIjg8Cfv40CPQ-OsovwMzygEgU,2858
|
|
122
|
+
camel/storages/graph_storages/graph_element.py,sha256=fQNxY-BHCRlTT9I_VY3NODysxW4vuqk-zjvTCMwAoH4,2356
|
|
123
|
+
camel/storages/graph_storages/neo4j_graph.py,sha256=wvOiHLsMPN5dTIBk97oOyyAhwU7TJHxFRaMsBimt25k,22077
|
|
124
|
+
camel/storages/key_value_storages/__init__.py,sha256=lZOFtqj1iTQ9pRB4DkCYSMyPwEwaJDVzU06kM5jxFd4,916
|
|
125
|
+
camel/storages/key_value_storages/base.py,sha256=knxni8WiyTXJ2emZQO-JIsbxw6Ei7EO6dj-bU2YCoSY,2183
|
|
126
|
+
camel/storages/key_value_storages/in_memory.py,sha256=pAcKkVd7jlPS6seR31agdyjx9TNIIRMIyx497XWXwbs,1955
|
|
127
|
+
camel/storages/key_value_storages/json.py,sha256=BlOhuyWbSjzKixtA5e9O0z8BFK4pi96OcPNxnFfDPQw,3471
|
|
128
|
+
camel/storages/vectordb_storages/__init__.py,sha256=hEhPyCPlzyXUsDFDzKRdLBj09rO1b5bsn76AJrDcaG4,1076
|
|
129
|
+
camel/storages/vectordb_storages/base.py,sha256=BS1QPz11ZUBVtn_M7j1Q0GW0Ya_ILai4Y2o1UPW9bAM,6009
|
|
130
|
+
camel/storages/vectordb_storages/milvus.py,sha256=0cMoLnBLG4-gdXbFK-AYlfIhCm6CPveFPl584PY7vPk,13637
|
|
131
|
+
camel/storages/vectordb_storages/qdrant.py,sha256=fnAPhWubLWnMa7eNTmK13gLNC2j6jnP1OF_OCHZoDzE,13618
|
|
132
|
+
camel/terminators/__init__.py,sha256=pE7fcfDUNngdbm1BhzSQPRMXNbdd28rl9YbF4gKWwXE,997
|
|
133
|
+
camel/terminators/base.py,sha256=TSkl3maNEsdjyAniJaSgFfD4UF8RQ1LwNIiGw0dN8Gg,1396
|
|
134
|
+
camel/terminators/response_terminator.py,sha256=zcXuigbvlclUoBv4xcVbfU36ZohUT1RhI-rSnukloUY,4951
|
|
135
|
+
camel/terminators/token_limit_terminator.py,sha256=mK30wVUnoqNAvIo-wxkqY5gUSNay2M04rsAktKqoiOI,2087
|
|
136
|
+
camel/toolkits/__init__.py,sha256=2-z9eGt53U6_1uwMtiu0-GgU7k5iFkS3HEMXuB3Qs2A,836
|
|
137
|
+
camel/toolkits/base.py,sha256=znjnZtgxA5gbT7OMnrKQF_a9FK3A7Xk5s_lP94u76vI,923
|
|
138
|
+
camel/toolkits/github_toolkit.py,sha256=ZBShnR7Vc3xQhQiTHsiF2esyBn7JEJxldvlgg-Cnsgk,11631
|
|
139
|
+
camel/types/__init__.py,sha256=D8ITJYnJF6PvJiWQB35MIBbPbX5AzYB_hpqbkprXSvY,1927
|
|
140
|
+
camel/types/enums.py,sha256=DpGMfhVTu5bYnI8ts52-Rl5FRIGRybADx_zSl702afY,9012
|
|
141
|
+
camel/types/openai_types.py,sha256=BNQ6iCzKTjSvgcXFsAFIgrUS_YUFZBU6bDoyAp387hI,2045
|
|
142
|
+
camel/utils/__init__.py,sha256=qFRBTiHE_QXYDSQoNecobtJYSFuNHEULx7nr00Q1S6Y,1827
|
|
143
|
+
camel/utils/commons.py,sha256=hFEAhmyYwYPVZVYFBbmGepEC_wXfHm5umkiMUHOuckw,11888
|
|
144
|
+
camel/utils/constants.py,sha256=ZIw5ILfOyJFyjEAYrbJMANeg1_EZI-zMK_xVrkwALbM,1105
|
|
145
|
+
camel/utils/token_counting.py,sha256=lFLghaWeD3HdHHXnebYdkAs7leIQQjmmlsbXNdjaZTo,14334
|
|
146
|
+
camel_ai-0.1.5.2.dist-info/METADATA,sha256=trDmJAGhrOEzgT3uHycAym4g_n_XduB-M-9O9EHNWSw,22016
|
|
147
|
+
camel_ai-0.1.5.2.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
|
148
|
+
camel_ai-0.1.5.2.dist-info/RECORD,,
|