lazychih114 commited on
Commit
4d796f5
·
2 Parent(s): 76c8819 cb09349

Merge branch 'main' of https://github.com/camel-ai/owl

Browse files
README_zh.md CHANGED
@@ -36,12 +36,16 @@
36
 
37
  </h4>
38
 
 
 
 
 
 
 
39
  <div align="center">
40
 
41
  🦉 OWL 是一个前沿的多智能体协作框架,推动任务自动化的边界,构建在 [CAMEL-AI Framework](https://github.com/camel-ai/camel)。
42
 
43
- OWL 在 GAIA 基准测试中取得 **58.18** 平均分,在开源框架中排名 🏅️ #1。
44
-
45
  我们的愿景是彻底变革 AI 智能体协作解决现实任务的方式。通过利用动态智能体交互,OWL 实现了跨多领域更自然、高效且稳健的任务自动化。
46
 
47
  </div>
 
36
 
37
  </h4>
38
 
39
+ <div align="center" style="background-color: #f0f7ff; padding: 10px; border-radius: 5px; margin: 15px 0;">
40
+ <h3 style="color: #1e88e5; margin: 0;">
41
+ 🏆 OWL 在 GAIA 基准测试中取得 <span style="color: #d81b60; font-weight: bold; font-size: 1.2em;">58.18</span> 平均分,在开源框架中排名 <span style="color: #d81b60; font-weight: bold; font-size: 1.2em;">🏅️ #1</span>! 🏆
42
+ </h3>
43
+ </div>
44
+
45
  <div align="center">
46
 
47
  🦉 OWL 是一个前沿的多智能体协作框架,推动任务自动化的边界,构建在 [CAMEL-AI Framework](https://github.com/camel-ai/camel)。
48
 
 
 
49
  我们的愿景是彻底变革 AI 智能体协作解决现实任务的方式。通过利用动态智能体交互,OWL 实现了跨多领域更自然、高效且稳健的任务自动化。
50
 
51
  </div>
owl/.env_template CHANGED
@@ -1,19 +1,14 @@
1
  # MODEL & API (See https://github.com/camel-ai/camel/blob/master/camel/types/enums.py)
2
- DEFAULT_MODEL_PLATFORM_TYPE = "OPENAI"
3
- DEFAULT_MODEL_TYPE = "gpt-4o"
4
- OPENAI_API_BASE_URL = ""
5
 
6
  # OPENAI API
7
  OPENAI_API_KEY = ""
8
-
9
- # Hugging Face API (https://huggingface.co/join)
10
- HF_TOKEN=""
11
 
12
  # Qwen API (https://help.aliyun.com/zh/model-studio/developer-reference/get-api-key)
13
- QWEN_API_KEY=""
14
 
15
  # DeepSeek API (https://platform.deepseek.com/api_keys)
16
- DEEPSEEK_API_KEY="
17
 
18
  #===========================================
19
  # Tools & Services API
@@ -23,9 +18,11 @@ DEEPSEEK_API_KEY="
23
  GOOGLE_API_KEY=""
24
  SEARCH_ENGINE_ID=""
25
 
 
 
 
26
  # Chunkr API (https://chunkr.ai/)
27
  CHUNKR_API_KEY=""
28
 
29
  # Firecrawl API (https://www.firecrawl.dev/)
30
  FIRECRAWL_API_KEY=""
31
-
 
1
  # MODEL & API (See https://github.com/camel-ai/camel/blob/master/camel/types/enums.py)
 
 
 
2
 
3
  # OPENAI API
4
  OPENAI_API_KEY = ""
5
+ # OPENAI_API_BASE_URL = ""
 
 
6
 
7
  # Qwen API (https://help.aliyun.com/zh/model-studio/developer-reference/get-api-key)
8
+ # QWEN_API_KEY=""
9
 
10
  # DeepSeek API (https://platform.deepseek.com/api_keys)
11
+ # DEEPSEEK_API_KEY=""
12
 
13
  #===========================================
14
  # Tools & Services API
 
18
  GOOGLE_API_KEY=""
19
  SEARCH_ENGINE_ID=""
20
 
21
+ # Hugging Face API (https://huggingface.co/join)
22
+ HF_TOKEN=""
23
+
24
  # Chunkr API (https://chunkr.ai/)
25
  CHUNKR_API_KEY=""
26
 
27
  # Firecrawl API (https://www.firecrawl.dev/)
28
  FIRECRAWL_API_KEY=""
 
owl/camel/toolkits/video_analysis_toolkit.py CHANGED
@@ -28,12 +28,10 @@ from scenedetect.detectors import ( # type: ignore[import-untyped]
28
  )
29
 
30
  from camel.agents import ChatAgent
31
- from camel.configs import QwenConfig
32
  from camel.messages import BaseMessage
33
- from camel.models import ModelFactory, OpenAIAudioModels
34
  from camel.toolkits.base import BaseToolkit
35
  from camel.toolkits.function_tool import FunctionTool
36
- from camel.types import ModelPlatformType, ModelType
37
  from camel.utils import dependencies_required
38
 
39
  from .video_downloader_toolkit import (
@@ -101,6 +99,7 @@ class VideoAnalysisToolkit(BaseToolkit):
101
  def __init__(
102
  self,
103
  download_directory: Optional[str] = None,
 
104
  ) -> None:
105
  self._cleanup = download_directory is None
106
 
@@ -125,11 +124,7 @@ class VideoAnalysisToolkit(BaseToolkit):
125
 
126
  logger.info(f"Video will be downloaded to {self._download_directory}")
127
 
128
- self.vl_model = ModelFactory.create(
129
- model_platform=ModelPlatformType.QWEN,
130
- model_type=ModelType.QWEN_VL_MAX,
131
- model_config_dict=QwenConfig(temperature=0.2).as_dict(),
132
- )
133
 
134
  self.vl_agent = ChatAgent(
135
  model=self.vl_model, output_language="English"
 
28
  )
29
 
30
  from camel.agents import ChatAgent
 
31
  from camel.messages import BaseMessage
32
+ from camel.models import OpenAIAudioModels, BaseModelBackend
33
  from camel.toolkits.base import BaseToolkit
34
  from camel.toolkits.function_tool import FunctionTool
 
35
  from camel.utils import dependencies_required
36
 
37
  from .video_downloader_toolkit import (
 
99
  def __init__(
100
  self,
101
  download_directory: Optional[str] = None,
102
+ model: Optional[BaseModelBackend] = None,
103
  ) -> None:
104
  self._cleanup = download_directory is None
105
 
 
124
 
125
  logger.info(f"Video will be downloaded to {self._download_directory}")
126
 
127
+ self.vl_model = model
 
 
 
 
128
 
129
  self.vl_agent = ChatAgent(
130
  model=self.vl_model, output_language="English"
owl/run.py CHANGED
@@ -24,14 +24,14 @@ def construct_society(question: str) -> OwlRolePlaying:
24
  assistant_role_name = "assistant"
25
 
26
  user_model = ModelFactory.create(
27
- model_platform=ModelPlatformType.DEFAULT,
28
- model_type=ModelType.DEFAULT,
29
  model_config_dict=ChatGPTConfig(temperature=0, top_p=1).as_dict(), # [Optional] the config for model
30
  )
31
 
32
  assistant_model = ModelFactory.create(
33
- model_platform=ModelPlatformType.DEFAULT,
34
- model_type=ModelType.DEFAULT,
35
  model_config_dict=ChatGPTConfig(temperature=0, top_p=1).as_dict(), # [Optional] the config for model
36
  )
37
 
@@ -42,10 +42,10 @@ def construct_society(question: str) -> OwlRolePlaying:
42
  planning_agent_model=assistant_model
43
  ).get_tools(),
44
  *DocumentProcessingToolkit().get_tools(),
45
- *VideoAnalysisToolkit().get_tools(), # This requires OpenAI and Qwen Key
 
46
  *CodeExecutionToolkit().get_tools(),
47
  *ImageAnalysisToolkit(model=assistant_model).get_tools(),
48
- *AudioAnalysisToolkit().get_tools(), # This requires OpenAI Key
49
  *SearchToolkit(model=assistant_model).get_tools(),
50
  *ExcelToolkit().get_tools()
51
  ]
 
24
  assistant_role_name = "assistant"
25
 
26
  user_model = ModelFactory.create(
27
+ model_platform=ModelPlatformType.OPENAI,
28
+ model_type=ModelType.GPT_4O,
29
  model_config_dict=ChatGPTConfig(temperature=0, top_p=1).as_dict(), # [Optional] the config for model
30
  )
31
 
32
  assistant_model = ModelFactory.create(
33
+ model_platform=ModelPlatformType.OPENAI,
34
+ model_type=ModelType.GPT_4O,
35
  model_config_dict=ChatGPTConfig(temperature=0, top_p=1).as_dict(), # [Optional] the config for model
36
  )
37
 
 
42
  planning_agent_model=assistant_model
43
  ).get_tools(),
44
  *DocumentProcessingToolkit().get_tools(),
45
+ *VideoAnalysisToolkit(model=assistant_model).get_tools(), # This requires OpenAI Key
46
+ *AudioAnalysisToolkit().get_tools(), # This requires OpenAI Key
47
  *CodeExecutionToolkit().get_tools(),
48
  *ImageAnalysisToolkit(model=assistant_model).get_tools(),
 
49
  *SearchToolkit(model=assistant_model).get_tools(),
50
  *ExcelToolkit().get_tools()
51
  ]
owl/run_gaia_roleplaying.py CHANGED
@@ -43,7 +43,7 @@ def main():
43
  planning_agent_model=assistant_model
44
  ).get_tools(),
45
  *DocumentProcessingToolkit().get_tools(),
46
- *VideoAnalysisToolkit().get_tools(), # This requires OpenAI and Qwen Key
47
  *CodeExecutionToolkit().get_tools(),
48
  *ImageAnalysisToolkit(model=assistant_model).get_tools(),
49
  *AudioAnalysisToolkit().get_tools(), # This requires OpenAI Key
 
43
  planning_agent_model=assistant_model
44
  ).get_tools(),
45
  *DocumentProcessingToolkit().get_tools(),
46
+ *VideoAnalysisToolkit(model=assistant_model).get_tools(), # This requires OpenAI Key
47
  *CodeExecutionToolkit().get_tools(),
48
  *ImageAnalysisToolkit(model=assistant_model).get_tools(),
49
  *AudioAnalysisToolkit().get_tools(), # This requires OpenAI Key