Significant-Gravitas / AutoGPT

AutoGPT is the vision of accessible AI for everyone, to use and to build on. Our mission is to provide the tools, so that you can focus on what matters.
https://agpt.co
MIT License
163.51k stars 43.37k forks source link

Add support for anthropic tool calling in autogpt/agents/agent.py:100 #7227

Open ntindle opened 1 week ago

ntindle commented 1 week ago

⚠️ Search for existing issues first ⚠️

Which Operating System are you using?

All

Which version of AutoGPT are you using?

Latest Release

Do you use OpenAI GPT-3 or GPT-4?

Anthropic

Which area covers your issue best?

AI Model Limitations

Describe your issue.

Anthropic Now Supports Tool Use

Upload Activity Log Content

x

Upload Error Log Content

x

ntindle commented 1 week ago

/boosterbot

boosterbot-ai[bot] commented 1 week ago

AI Developer Notes

To implement the feature, we will first review the current tool calling mechanism in agent.py and research the API capabilities of the anthropic tools. We will then modify agent.py to include calls to the anthropic tools at line 100, ensuring these calls are integrated appropriately into the agent's lifecycle. Finally, we will document the changes and provide clear usage instructions for developers in the relevant README files.

  1. Review the current implementation of tool calling in autogpt/agents/agent.py to understand how it works.
    • autogpt/autogpt/agents/agent.py - Defines the Agent class responsible for proposing actions, executing commands, and interacting with various components within the AutoGPT system. Consider reviewing the Agent class, specifically the _execute_tool method, to understand how tools are currently executed. This will provide insights into where and how to integrate the anthropic tool calls.
  2. Research the API and capabilities of the anthropic tools to understand how they can be integrated into AutoGPT.
    • forge/forge/llm/providers/anthropic.py - Contains code for interfacing with Anthropic's API, managing credentials, handling chat completions, and retrying API requests. Consider reviewing the AnthropicProvider class and its methods such as create_chat_completion and _create_chat_completion to understand how to make API calls to Anthropic's services. This will help in integrating these calls into the agent.py file.
  3. Modify the autogpt/agents/agent.py file at line 100 to include calls to the anthropic tools. Ensure that these calls are made at appropriate points in the agent's lifecycle.
    • autogpt/autogpt/agents/agent.py - Defines the Agent class responsible for proposing actions, executing commands, and interacting with various components within the AutoGPT system. Consider adding a method to the Agent class that utilizes the AnthropicProvider to call the anthropic tools. This method can be invoked at line 100 to integrate the tool calls into the agent's lifecycle.
    • forge/forge/llm/providers/anthropic.py - Contains code for interfacing with Anthropic's API, managing credentials, handling chat completions, and retrying API requests. Consider using the create_chat_completion method from the AnthropicProvider class to make the necessary API calls to Anthropic's services. This method can be invoked within the new method added to the Agent class.
  4. Document the changes made to autogpt/agents/agent.py and provide clear usage instructions for developers.
    • autogpt/README.md - Provides an overview of the AutoGPT project, its functionalities, and usage instructions. Consider updating the README.md file to include a section on the new anthropic tool calling feature. Provide an overview of the feature, its benefits, and how to use it.
    • autogpt/autogpt/agents/README.md - Provides an overview of the agent functionality within the AutoGPT system, including how to build custom agents. Consider updating the agents/README.md file to include detailed instructions on how to utilize the new anthropic tool calling feature within custom agents. Provide code examples and configuration details.
Pwuts commented 1 week ago

???