lazychih114 commited on
Commit
a95603e
Β·
1 Parent(s): c413558

update readme and role-playing related code

Browse files
README.md CHANGED
@@ -2,55 +2,66 @@
2
  πŸ¦‰ OWL: Towards General Multi-Agent Assistant for Real-World Task Automation
3
  </h1>
4
 
5
- πŸ¦‰ OWL is a cutting-edge framework for multi-agent collaboration that pushes the boundaries of task automation.
6
- Built on top of the [Camel-AI Framework](https://github.com/camel-ai/camel).
7
  OWL ranks #1 among open-source frameworks on GAIA benchmark.
8
 
9
  Our vision is to revolutionize how AI agents collaborate to solve real-world tasks. By leveraging role-playing mechanisms and dynamic agent interactions, OWL enables more natural, efficient, and robust task automation across diverse domains.
10
 
11
  <!-- # Key Features -->
12
 
13
- # Quick Start
14
 
15
- 1. **Clone the Github repository:**
 
 
 
16
 
17
  ```bash
18
  $ git clone xxx
19
  ```
20
 
21
- 2. **Set up Python Environment:**
22
 
23
  ```bash
24
  $ conda create -n owl python=3.11
25
  $ conda activate owl
26
  ```
27
 
28
- 3. **Install Dependencies:**
29
 
30
  ```bash
31
  $ pip install -r requirements.txt
32
  ```
33
 
34
- 4. **Set API Keys:** We use `dotenv` to manage API keys. Please copy and check the `.env.example` file to `.env` and fill in the necessary API keys.
35
 
36
- 5. **Run the Demo Code:**
 
 
37
 
 
 
38
  ```bash
39
  $ python run.py
40
  ```
41
 
42
- Additionally, We have provided a script to reproduce the results on GAIA. You can check the `run_gaia_roleplaying.py` file and run the following command:
 
 
 
43
 
44
  ```bash
45
  $ python run_gaia_roleplaying.py
46
  ```
47
 
48
- # Community
49
-
50
- [Camel Link]
51
 
52
- [This project]
 
 
53
 
54
  # Architecture
55
 
 
 
56
  # Cite
 
2
  πŸ¦‰ OWL: Towards General Multi-Agent Assistant for Real-World Task Automation
3
  </h1>
4
 
5
+ πŸ¦‰ OWL is a cutting-edge framework for multi-agent collaboration that pushes the boundaries of task automation, built on top of the [Camel-AI Framework](https://github.com/camel-ai/camel).
 
6
  OWL ranks #1 among open-source frameworks on GAIA benchmark.
7
 
8
  Our vision is to revolutionize how AI agents collaborate to solve real-world tasks. By leveraging role-playing mechanisms and dynamic agent interactions, OWL enables more natural, efficient, and robust task automation across diverse domains.
9
 
10
  <!-- # Key Features -->
11
 
12
+ # πŸ”₯ News
13
 
14
+
15
+ # πŸ› οΈ Installation
16
+
17
+ ## **Clone the Github repository:**
18
 
19
  ```bash
20
  $ git clone xxx
21
  ```
22
 
23
+ ## **Set up Environment:**
24
 
25
  ```bash
26
  $ conda create -n owl python=3.11
27
  $ conda activate owl
28
  ```
29
 
30
+ ## **Install Dependencies:**
31
 
32
  ```bash
33
  $ pip install -r requirements.txt
34
  ```
35
 
36
+ ## **Set API Keys:**
37
 
38
+ We use `dotenv` to manage API keys. Please copy and check the `.env.example` file to `.env` and fill in the necessary API keys.
39
+
40
+ # πŸš€ Quick Start
41
 
42
+ Run the following minimal example:
43
+
44
  ```bash
45
  $ python run.py
46
  ```
47
 
48
+ # πŸ§ͺ Experiments
49
+
50
+ Additionally, We have provided a script to reproduce the results on GAIA.
51
+ You can check the `run_gaia_roleplaying.py` file and run the following command:
52
 
53
  ```bash
54
  $ python run_gaia_roleplaying.py
55
  ```
56
 
57
+ # ⏱️ Future Plans
 
 
58
 
59
+ - [ ] Write a technical blog post detailing our exploration and insights in multi-agent collaboration in real-world tasks.
60
+ - [ ] Enhance the toolkit ecosystem with more specialized tools for domain-specific tasks.
61
+ - [ ] Develop more sophisticated agent interaction patterns and communication protocols
62
 
63
  # Architecture
64
 
65
+
66
+
67
  # Cite
owl/run.py CHANGED
@@ -8,14 +8,14 @@ from dotenv import load_dotenv
8
  from retry import retry
9
  from loguru import logger
10
 
11
- from utils import DeepSwarmRolePlaying, process_tools, run_society
12
  import os
13
 
14
 
15
  load_dotenv()
16
 
17
 
18
- def construct_society(question: str) -> DeepSwarmRolePlaying:
19
  r"""Construct the society based on the question."""
20
 
21
  user_role_name = "user"
@@ -62,7 +62,7 @@ def construct_society(question: str) -> DeepSwarmRolePlaying:
62
  'with_task_specify': False,
63
  }
64
 
65
- society = DeepSwarmRolePlaying(
66
  **task_kwargs,
67
  user_role_name=user_role_name,
68
  user_agent_kwargs=user_agent_kwargs,
 
8
  from retry import retry
9
  from loguru import logger
10
 
11
+ from utils import OwlRolePlaying, process_tools, run_society
12
  import os
13
 
14
 
15
  load_dotenv()
16
 
17
 
18
+ def construct_society(question: str) -> OwlRolePlaying:
19
  r"""Construct the society based on the question."""
20
 
21
  user_role_name = "user"
 
62
  'with_task_specify': False,
63
  }
64
 
65
+ society = OwlRolePlaying(
66
  **task_kwargs,
67
  user_role_name=user_role_name,
68
  user_agent_kwargs=user_agent_kwargs,
owl/utils/enhanced_role_playing.py CHANGED
@@ -22,7 +22,7 @@ from retry import retry
22
  from .common import *
23
 
24
 
25
- class DeepSwarmRolePlaying(RolePlaying):
26
  def __init__(
27
  self,
28
  **kwargs
@@ -297,7 +297,7 @@ Please note that our overall task may be very complicated. Here are some tips th
297
  )
298
 
299
 
300
- class DeepSwarmGaiaRolePlaying(DeepSwarmRolePlaying):
301
  def __init__(self, **kwargs):
302
  super().__init__(**kwargs)
303
 
 
22
  from .common import *
23
 
24
 
25
+ class OwlRolePlaying(RolePlaying):
26
  def __init__(
27
  self,
28
  **kwargs
 
297
  )
298
 
299
 
300
+ class OwlGaiaRolePlaying(OwlRolePlaying):
301
  def __init__(self, **kwargs):
302
  super().__init__(**kwargs)
303
 
owl/utils/gaia.py CHANGED
@@ -217,7 +217,7 @@ class GAIABenchmark(BaseBenchmark):
217
  'with_task_specify': False,
218
  }
219
 
220
- society = DeepSwarmGaiaRolePlaying(
221
  **task_kwargs,
222
  user_role_name=user_role_name,
223
  user_agent_kwargs=user_agent_kwargs,
 
217
  'with_task_specify': False,
218
  }
219
 
220
+ society = OwlGaiaRolePlaying(
221
  **task_kwargs,
222
  user_role_name=user_role_name,
223
  user_agent_kwargs=user_agent_kwargs,