Skip to content

Releases: VRSEN/agency-swarm

v0.2.2

09 May 05:32
Compare
Choose a tag to compare

New Features

  • Added support for open-source models, docs are available here

Bug Fixes

  • Returned backward compatibility for yield_messages as some people have requested.
  • Handle timeouts with extremely long function calls #115
  • Fixed message attachment bug by @ArtemShatokhin in #119

New Contributors

Full Changelog: v0.2.1...v0.2.2

v0.2.1

27 Apr 02:27
Compare
Choose a tag to compare

Bug Fixes

  • Resolved the issue where the on_all_streams_end call was missing for the event handler in streaming, causing the Gradio interface to freeze after the first message.

Full Changelog: View Changes

Assistants V2

26 Apr 15:16
Compare
Choose a tag to compare

New Features

  • Temperature and Top P Controls: Set the temperature and the top_p parameter in the Agent or Agency class, with Agent settings taking precedence.
  • Max Token Controls: Configure max_prompt_tokens, max_completion_tokens, and truncation_strategy in either the Agent or Agency class, with Agent settings taking precedence.
  • JSON Mode: Configure the response format by setting the response_format parameter in the Agent class.
  • Tool Choice: Select the tool to be used in the get_completion methods.
  • Few-Shot Examples: Add examples to the agent to fine-tune its responses. For more details, refer to the documentation.
  • File Search: The Retrieval tool has been replaced by the FileSearch tool by default. Initialize an agent to create a vector store if one does not already exist. To delete a vector store and all associated files, use agent.delete() or agency.delete() methods.
  • Enhanced Genesis Agency: Enhanced genesis agency to accommodate new features. Upgraded ToolCreator agent's CreateTool with a more robust architecture.

Full Changelog: View Changelog

Devid

11 Apr 10:15
Compare
Choose a tag to compare

New Features

  • Devid Agent: A new AI Software Development agent has been added to the framework.
  • Local Import of Agent Source Code Files: The command agency-swarm import-agent has been introduced, enabling the local copying of your agent's source files. This feature grants you complete control over your systems. Additionally, Genesis agency has integrated the use of this command.
  • Enhanced Command Instructions: Enhancements have been made to the get_completion methods, allowing the passing of additional instructions. Agents can now communicate more effectively with each other by utilizing this new parameter.
  • Customizable Response Validators: Agents now have the capability to override special response validator methods within their class definitions. If these methods return an error, the corresponding error message will be forwarded as a user message, facilitating automatic reprompting of your agents.
  • Concurrency Control for Tool Access: To prevent simultaneous multiple calls to certain tools by your agents, a new class attribute one_call_at_a_time: bool = False has been introduced in the BaseTool classes. If set to True, your agent can't call this tool multiple times in a single message.

Bug Fixes

  • General Stability Enhancements: Significant improvements have been made to mitigate various OpenAI-related errors, enhancing the robustness and reliability of the system.
  • Fixed non existing agents in settings: Now, rather than rasiing errors for deleted agents in your settings file, the system will automatically create a new one.
  • Fixes in Demo Interfaces: Issues with demo interfaces, including Gradio and terminal demos not displaying messages sent to other assistants, have been resolved, ensuring a smoother user experience.

For the complete list of changes, please visit the full changelog: View Changelog

Streaming minor bug fixes

26 Mar 14:54
Compare
Choose a tag to compare

Bug Fixes

  • Fixed readline not available on windows #95
  • Fixed message queue timing out on long function calls in demo_gradio.

Full Changelog: v0.1.5...v0.1.6

Streaming

24 Mar 06:16
Compare
Choose a tag to compare

New Features

  • Support for streaming: The demo_gradio and run_demo methods now use streaming by default. For custom integrations, please see documentation.

Bug Fixes

  • Fixed agency chart not parsing correctly when adding more than 2 agents in any second level list.

Full Changelog: v0.1.4...v0.1.5

Genesis Agency Improved

05 Mar 08:06
Compare
Choose a tag to compare

New Features

  • Improved Genesis Agency: The agency creation process with Genesis Agency is now a lot more reliable and stable.

Bug Fixes

  • Fixed "got an unexpected keyword argument 'type'" bug when using genesis cli command.

Full Changelog: v0.1.3...v0.1.4

Docs

29 Feb 04:06
Compare
Choose a tag to compare

New Features

  • Docs are available!: Check out the full usage guide with lots of useful tips at https://vrsen.github.io/agency-swarm/
  • Added get_openapi_schema to ToolFactory: With this method, you can now convert multiple tools into a single OpenAPI schema. This is useful when you want to deploy all tools for an agent in a single endpoint.
  • --with_browsing option for genesis CLI: Make browsing agent optional in genesis CLI, because the ToolAgent can create schemas for most APIs.
  • Azure OpenAI Support: Docs and notebook on how to use agency swarm with Azure are available here.

Bug Fixes

  • Fixed main thread from being saved using threads_callbacks.

Full Changelog: v0.1.2...v0.1.3

Genesis CLI

14 Feb 13:24
Compare
Choose a tag to compare

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 using self.shared_state.set("key", "value"), and then retrieve it in Agent2 when it calls a different tool using self.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 have ExampleTool 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

Async Agency

01 Feb 04:37
Compare
Choose a tag to compare

Agency Async Release Features

  1. Asynchronous Execution Mode:

    • Integrated asynchronous execution in the Agency class.
    • Allows agents to send tasks without waiting for a response, and check response later with the new GetResponse tool
    • To use, simply set async_mode='threading' when initializing the Agency class
  2. Database-Backed Agent and Thread Management:

    • Added functionality to load and save agent configurations and threads from the database.
    • To use, set settings_callbacks and threads_callbacks when initializing your agency.
    • Supports stateless backends like serverless functions, enabling conversation continuity between your agents.
  3. Other features:

    • Dark mode or light mode in demo gradio with agency.demo_gradio(dark_mode=True)
    • Set settings_path when initializing your Agency
    • Use the latest gpt-4-preview version by default

Bug fixes

  • Fixed bug with installing repo on windows #58
  • Prevent agency duplication in subfolders #52