Open
Description
The guide should be in Extensions->Tool Guide. The guide should cover:
FunctionTool
:
- How to define them as Python function (both sync and async)
- How does it work: function gets inspected and automatically generates the JSON schema.
- Recommendation on input parameter design: use simple and as few parameters as possible, avoid nested types like dictionaries.
- Recommendation on return type: use serializable types to better integrate with models -- use string as much as possible.
- Recommendation on type hinting and doc string
- Built-in Tools: a listing pointing to existing built in tools in the API doc.
- Custom
BaseTool
implementation:
- An example to show how to create one.
- Consideration for serializable configuration.
There are existing docs in AgentChat and Core mentioning tools:
- AgentChat: https://microsoft.github.io/autogen/stable/user-guide/agentchat-user-guide/tutorial/agents.html#using-tools
- Core: https://microsoft.github.io/autogen/stable/user-guide/core-user-guide/components/tools.html
We should move the main content from these docs that regards to tools specifically to the Tool Guide. Leave content regarding to using tools as part of agent.