Workforce Refactor: Customize default toolkits for the new workers
Description
Allowing customize default toolkits for the new workers.
Checklist
Go over all the following points, and put an x in all the boxes that apply.
- [x] I have read the CONTRIBUTION guide (required)
- [x] I have linked this PR to an issue using the Development section on the right sidebar or by adding
Fixes #issue-numberin the PR description (required) - [x] I have checked if any dependencies need to be added or updated in
pyproject.tomlanduv lock - [ ] I have updated the tests accordingly (required for a bug fix or a new feature)
- [ ] I have updated the documentation if needed:
- [x] I have added examples if this is a new feature
If you are unsure about any of these, don't hesitate to ask. We are here to help!
Although BrowserToolkit().get_tools(), DataCommonsToolkit().get_tools(), GoogleScholarToolkit().get_tools(), OpenAPIToolkit().get_tools(), VideoAnalysisToolkit().get_tools() and VideoDownloaderToolkit().get_tools() also do not need API Keys, I encountered some errors or need some parameters when __init__ during adding them into default tools for new workers.
@yiyiyi0817 had a question, was the example intended to run with the toolkits which doesn't require an api?
thanks @yiyiyi0817 can we support the tools that require api?
@yiyiyi0817 had a question, was the example intended to run with the toolkits which doesn't require an api?
This example intends to show how the workforce deals with a situation where the current agent and tools cannot solve the problem and creates a new agent with default tools (these tools do not require an API key).
It seems a bit hard to understand. Maybe I can explain this situation with comments in the example.
thanks @yiyiyi0817 can we support the tools that require api?
Agents in the workforce that require a key need the user to initialize the key directly. However, the new agent here is automatically created by the workforce, which, by default, assigns tools that do not require a key to the new worker. This setting comes from Guohao's comment in the issue.