Genesis CLI
New Features
-
Use Genesis Agency directly from CLI - Run the
agency-swarm genesis
command to chat with Genesis Agency directly from your CLI and create your agents and tools more quickly. -
Select multiple agents as the entry point for communication (ChatGPT Mentions Feature) #72 - You can now add multiple agents in the top-level array in
agency_chart
. Then you can start communication directly with those agents using@AgentName
in the terminal or selecting a recipient in Gradio using the dropdown.agency = Agency([ ceo, dev, # you can now add multiple agents in the main thread [ceo, dev], [ceo, va], ])
You can also use autocomplete by pressing the Tab button to fill in the agent's name in the terminal.
-
Shared State For Tools - Now, you have the ability to share state between all tools by using the
self.shared_state
. For instance, you can save state when Agent1 calls a tool inside the run method by usingself.shared_state.set("key", "value")
, and then retrieve it in Agent2 when it calls a different tool usingself.shared_state.get("key")
. This allows you to control the execution logic based on certain conditions or actions performed by other agents. -
Markdown formatting -
agency.run_demo()
method now displays messages using markdown in terminal. -
Tools Directory - Select
tools_folder
when initializing your agent to automatically import all tools from.py
files. The file must be named exactly as the class name of the tool. Each tool should be defined in a separate file. For example, the [ExampleTool.py](http://exampletool.py/) file should haveExampleTool
defined inside. -
Settings Path - When initializing your agency, you can now specify the settings_path parameter to save your agent configurations in a file other than settings.json. For example, you can use settings2.json.
-
Gradio file uploads - You can now upload files directly from the new Gradio interface when running the agency.demo_gradio() command.
Bug Fixes
- OpenAI thread timing out on long running agent tasks #71
- Improved doc strings
Deprecations and Removals
- Refactored genesis agency by moving all tools into corresponding agent folders inside agency/genesis folder.
- I have removed the ability to import tools and agents from Genesis Agency. Instead, we will be focusing on improving Genesis Agency itself, allowing you to create those tools from scratch and giving you more ways to customize them.
Full Changelog: v0.1.1...v0.1.2