Releases: kyegomez/swarms
Releases · kyegomez/swarms
1.2.1
1.2.0
1.1.9
1.1.8
1.1.7
1.1.6
1.1.5
1.1.41
Changelog
[Unreleased]
Added
- Added
CodeInterpreterTool
class to adhere to the providedTool
abstract base class. This new tool has flexible and reliable error handling and supports both synchronous and asynchronous operations. - Enhanced
GooglePalm
class by making optional parameters for user inputs. This improves customization and flexibility. - Comprehensive unit tests for the
OmniWorkerAgent
class have been added. - Pytest fixtures and parameterization in unit tests to improve code reuse and readability.
- Improved code readability in the
MultiModalVisualAgentTool
class and added comprehensive unit tests. - Enhanced the
WorkerUltraNode
andWorkerUltraNodeInitializer
classes' test coverage by adding more test cases and edge cases. - A GitHub Actions workflow file has been added to automatically run pytest tests upon each
push
event. This CI pipeline ensures the reliability of the codebase by preventing merging of breaking changes into the main branch.
Fixed
- Improved error handling for the
GooglePalm
class by incorporating exponential backoff retry logic to handle network and API-related issues. - Fixed missing prompt arguments by transforming message objects to the dictionary format in
GooglePalm
. - Unexpected Argument Error in
WorkerNode
has been fixed. TheWorkerNode
class was not expecting aworker_name
argument which was passed to it during the initialization of theHierarchicalSwarm
class. This bug was fixed by either removing theworker_name
argument from theWorkerNode
initialization in theHierarchicalSwarm
class or by modifying the__init__
method of theWorkerNode
class to accept theworker_name
argument. - Fixed incorrect parameter type checking in
OmniWorkerAgent
class, methods now correctly validate types for required arguments. The methodchat
also now properly checks forapi_key
,api_endpoint
, andapi_type
. - Updated
MultiModalVisualAgentTool
class tests, the_run
method was not being properly tested, as it was not being invoked with correct arguments. - Fixed
WorkerUltraNode
class to handle invalid initialization arguments properly. Added appropriate type checking and error handling for better robustness. - Improved error handling in
WorkerUltraNodeInitializer
class. Now, all methods have try-catch blocks to handle unexpected errors gracefully and provide useful error messages.
[1.1.2] - 2023-07-30
Added
- Initial creation of the
GooglePalm
class, a wrapper around the Google's PaLM Chat API. Tool
abstract base class for creating tool-like objects with a consistent interface.CodeInterpreterSession
example usage in both synchronous and asynchronous manners.
Improvements
- Better error messages and exception handling have been added to inform the user about issues more precisely. For example, included checks and corresponding error messages for invalid inputs for API keys, invalid objectives, failed vectorstore initialization, and so on.
- The documentation and descriptions for classes and methods have been improved, providing a clearer understanding of what each class and method does, and what arguments they accept.
- Improved the initialization of resources like
llm_class
andtools
in theWorkerNode
class, making the code more robust and easy to understand.
1.1.4
Changelog
[Unreleased]
Added
- Added
CodeInterpreterTool
class to adhere to the providedTool
abstract base class. This new tool has flexible and reliable error handling and supports both synchronous and asynchronous operations. - Enhanced
GooglePalm
class by making optional parameters for user inputs. This improves customization and flexibility. - Comprehensive unit tests for the
OmniWorkerAgent
class have been added. - Pytest fixtures and parameterization in unit tests to improve code reuse and readability.
- Improved code readability in the
MultiModalVisualAgentTool
class and added comprehensive unit tests. - Enhanced the
WorkerUltraNode
andWorkerUltraNodeInitializer
classes' test coverage by adding more test cases and edge cases. - A GitHub Actions workflow file has been added to automatically run pytest tests upon each
push
event. This CI pipeline ensures the reliability of the codebase by preventing merging of breaking changes into the main branch.
Fixed
- Improved error handling for the
GooglePalm
class by incorporating exponential backoff retry logic to handle network and API-related issues. - Fixed missing prompt arguments by transforming message objects to the dictionary format in
GooglePalm
. - Unexpected Argument Error in
WorkerNode
has been fixed. TheWorkerNode
class was not expecting aworker_name
argument which was passed to it during the initialization of theHierarchicalSwarm
class. This bug was fixed by either removing theworker_name
argument from theWorkerNode
initialization in theHierarchicalSwarm
class or by modifying the__init__
method of theWorkerNode
class to accept theworker_name
argument. - Fixed incorrect parameter type checking in
OmniWorkerAgent
class, methods now correctly validate types for required arguments. The methodchat
also now properly checks forapi_key
,api_endpoint
, andapi_type
. - Updated
MultiModalVisualAgentTool
class tests, the_run
method was not being properly tested, as it was not being invoked with correct arguments. - Fixed
WorkerUltraNode
class to handle invalid initialization arguments properly. Added appropriate type checking and error handling for better robustness. - Improved error handling in
WorkerUltraNodeInitializer
class. Now, all methods have try-catch blocks to handle unexpected errors gracefully and provide useful error messages.
[1.1.2] - 2023-07-30
Added
- Initial creation of the
GooglePalm
class, a wrapper around the Google's PaLM Chat API. Tool
abstract base class for creating tool-like objects with a consistent interface.CodeInterpreterSession
example usage in both synchronous and asynchronous manners.
Improvements
- Better error messages and exception handling have been added to inform the user about issues more precisely. For example, included checks and corresponding error messages for invalid inputs for API keys, invalid objectives, failed vectorstore initialization, and so on.
- The documentation and descriptions for classes and methods have been improved, providing a clearer understanding of what each class and method does, and what arguments they accept.
- Improved the initialization of resources like
llm_class
andtools
in theWorkerNode
class, making the code more robust and easy to understand.