Examples
This directory contains examples of how to use AGNext.
chat layer examples
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.
Single agent examples
assistant.py: a demonstration of how to use the OpenAI Assistant API to create a ChatGPT agent.
Reflection pattern examples
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.
Group chat pattern examples
software_consultancy.py: a demonstration of multi-agent interaction using the group chat pattern.
Orchestrator pattern examples
orchestrator.py: a demonstration of multi-agent problem solving using the orchestrator pattern.
Advanced examples
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.mixture_of_agents_pub_sub.py: An example of how to create a mixture of agents that communicate using a publish-subscribe pattern.mixture_of_agents_gather.py: An example of how to create a mixture of agents that communicate using an async distribute-gather pattern.
Running the examples
First, you need a shell with AGNext and the examples dependencies installed. To do this, run:
hatch shell
To run an example, just run the corresponding Python script. For example, to run the coder_reviewer.py example, run:
hatch shell
python coder_reviewer.py
Or simply:
hatch run python coder_reviewer.py
To enable logging, turn on verbose mode by setting --verbose flag:
hatch run python coder_reviewer.py --verbose
By default the log file is saved in the same directory with the same filename as the script, e.g., "coder_reviewer.log".