2024-06-17 17:54:27 -07:00
|
|
|
# Examples
|
|
|
|
|
|
|
|
This directory contains examples of how to use AGNext.
|
|
|
|
|
2024-06-21 05:05:54 -07:00
|
|
|
We provide examples that use pre-built agents and message types in the `chat` layer.
|
|
|
|
These examples are intended for users who want to quickly create
|
|
|
|
demos and experimenting with multi-agent design paterns.
|
|
|
|
|
|
|
|
- `coder_reviewer.py`: using a coder and reviewer agents to implement the
|
|
|
|
reflection pattern for code generation.
|
|
|
|
- `illustrator_critics.py`: using an illustrator, critics and descriptor agent
|
|
|
|
to implement the reflection pattern for image generation.
|
|
|
|
- `chest_game.py`: using two chess player agents to demonstrate tool use and reflection
|
|
|
|
on tool use.
|
|
|
|
- `assistant.py`: a demonstration of how to use the OpenAI Assistant API to create
|
|
|
|
a ChatGPT agent.
|
|
|
|
- `software_consultancy.py`: a demonstration of multi-agent interaction using
|
|
|
|
the group chat pattern.
|
|
|
|
- `orchestrator.py`: a demonstration of multi-agent problem solving using
|
|
|
|
the orchestrator pattern.
|
|
|
|
|
|
|
|
We also provide examples that use only the `core`, `application`, and `components` layers.
|
|
|
|
These examples are intended for advanced users who want to create
|
|
|
|
custom agents and message types for building applications.
|
|
|
|
|
|
|
|
- `inner_outer.py`: An example of how to create an inner and outer custom agent.
|
|
|
|
- `chat_room.py`: An example of how to create a chat room of custom agents without
|
|
|
|
a centralized orchestrator.
|
|
|
|
|
|
|
|
## Running the examples
|
|
|
|
|
2024-06-19 13:49:13 -04:00
|
|
|
First, you need a shell with AGNext and the examples dependencies installed. To do this, run:
|
2024-06-17 17:54:27 -07:00
|
|
|
|
|
|
|
```bash
|
2024-06-19 13:49:13 -04:00
|
|
|
hatch shell
|
2024-06-17 17:54:27 -07:00
|
|
|
```
|
|
|
|
|
|
|
|
To run an example, just run the corresponding Python script. For example, to run the `coder_reviewer.py` example, run:
|
|
|
|
|
|
|
|
```bash
|
2024-06-19 13:49:13 -04:00
|
|
|
hatch shell
|
2024-06-17 17:54:27 -07:00
|
|
|
python coder_reviewer.py
|
|
|
|
```
|
|
|
|
|
2024-06-19 13:49:13 -04:00
|
|
|
Or simply:
|
2024-06-21 05:05:54 -07:00
|
|
|
|
2024-06-19 13:49:13 -04:00
|
|
|
```bash
|
|
|
|
hatch run python coder_reviewer.py
|
|
|
|
```
|
|
|
|
|
2024-06-17 17:54:27 -07:00
|
|
|
To enable logging, turn on verbose mode by setting `--verbose` flag:
|
|
|
|
|
|
|
|
```bash
|
2024-06-19 13:49:13 -04:00
|
|
|
hatch run python coder_reviewer.py --verbose
|
2024-06-17 17:54:27 -07:00
|
|
|
```
|
|
|
|
|
|
|
|
By default the log file is saved in the same directory with the same filename
|
|
|
|
as the script, e.g., "coder_reviewer.log".
|