-
Notifications
You must be signed in to change notification settings - Fork 45.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feature(platform) Smart Decision Maker Block #9490
base: dev
Are you sure you want to change the base?
feature(platform) Smart Decision Maker Block #9490
Conversation
This pull request has been ignored for the connected project Preview Branches by Supabase. |
This PR targets the Automatically setting the base branch to |
✅ Deploy Preview for auto-gpt-docs canceled.
|
Here's the code health analysis summary for commits Analysis Summary
|
autogpt_platform/backend/backend/blocks/smart_decision_maker.py
Outdated
Show resolved
Hide resolved
✅ Deploy Preview for auto-gpt-docs-dev canceled.
|
if not graph: | ||
raise ValueError(f"Graph not found {graph_id}") | ||
|
||
tool_functions = self._create_function_signature(node_id, graph) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Test this works with mem0
) -> BlockOutput: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ntindle It seems that high level decision is that tools must be an AgentExecutionBlock.
If you feel strongly that this is a bad idea, let me know and we can discuss it with Toran
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why should it require that? I can see plenty of use for this not needing a whole agent and the overhead that would come with it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The main reason why is to make a smart decision, a certain amount of information is required about a tool. We can backprogate this information from an agent - name, description, required params, etc.
But with a normal block, we can't really do this unless we assume that block can't be connected to another block...
There are a fair bit of subtleties with this system
…l-discovery-input-mapping-for-smart-decision-maker-block
This pull request has conflicts with the base branch, please resolve those so we can evaluate the pull request. |
…l-discovery-input-mapping-for-smart-decision-maker-block
Conflicts have been resolved! 🎉 A maintainer will review the pull request shortly. |
Task
Implement a mechanism for the Smart Decision Maker (SDM) block to dynamically retrieve all available tools (blocks and agents) along with their required inputs.
This allows the SDM block to make informed decisions on which tool to call and how to structure the input data for each call.
Changes 🏗️
Work in Progress
Current Status
I’m currently focused on the smart decision logic. The main additions in the ongoing PR include:
What’s Next
WIP Reviewers
Please take a look at the general approach that I'm taking and let me know if there are any specifics you think should be considered.
If you have any knowledge around my next steps please also comment giving my the context you have.
Out of scope: code style and organization at this stage