lazychih114
commited on
Commit
Β·
a95603e
1
Parent(s):
c413558
update readme and role-playing related code
Browse files- README.md +24 -13
- owl/run.py +3 -3
- owl/utils/enhanced_role_playing.py +2 -2
- owl/utils/gaia.py +1 -1
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 |
-
#
|
14 |
|
15 |
-
|
|
|
|
|
|
|
16 |
|
17 |
```bash
|
18 |
$ git clone xxx
|
19 |
```
|
20 |
|
21 |
-
|
22 |
|
23 |
```bash
|
24 |
$ conda create -n owl python=3.11
|
25 |
$ conda activate owl
|
26 |
```
|
27 |
|
28 |
-
|
29 |
|
30 |
```bash
|
31 |
$ pip install -r requirements.txt
|
32 |
```
|
33 |
|
34 |
-
|
35 |
|
36 |
-
|
|
|
|
|
37 |
|
|
|
|
|
38 |
```bash
|
39 |
$ python run.py
|
40 |
```
|
41 |
|
42 |
-
|
|
|
|
|
|
|
43 |
|
44 |
```bash
|
45 |
$ python run_gaia_roleplaying.py
|
46 |
```
|
47 |
|
48 |
-
#
|
49 |
-
|
50 |
-
[Camel Link]
|
51 |
|
52 |
-
[
|
|
|
|
|
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
|
12 |
import os
|
13 |
|
14 |
|
15 |
load_dotenv()
|
16 |
|
17 |
|
18 |
-
def construct_society(question: str) ->
|
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 =
|
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
|
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
|
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 =
|
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,
|