From 8cba27c7c400b4e0267fb77781fa0a3df4465ecc Mon Sep 17 00:00:00 2001 From: Zamil Majdy Date: Thu, 6 Mar 2025 15:42:54 +0700 Subject: [PATCH] feat(backend): Improve SmartDecisionMaker Agent-loop capability & add Anthropics support --- autogpt_platform/backend/backend/blocks/llm.py | 1 - .../backend/backend/blocks/smart_decision_maker.py | 8 +++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/autogpt_platform/backend/backend/blocks/llm.py b/autogpt_platform/backend/backend/blocks/llm.py index 301e4d1362..061aac4a5a 100644 --- a/autogpt_platform/backend/backend/blocks/llm.py +++ b/autogpt_platform/backend/backend/blocks/llm.py @@ -381,7 +381,6 @@ def llm_call( client = anthropic.Anthropic(api_key=credentials.api_key.get_secret_value()) try: - print(">>>>>> messages", json.dumps(messages)) resp = client.messages.create( model=llm_model.value, system=sysprompt, diff --git a/autogpt_platform/backend/backend/blocks/smart_decision_maker.py b/autogpt_platform/backend/backend/blocks/smart_decision_maker.py index 0c5ee974b8..530cd6ac13 100644 --- a/autogpt_platform/backend/backend/blocks/smart_decision_maker.py +++ b/autogpt_platform/backend/backend/blocks/smart_decision_maker.py @@ -145,7 +145,13 @@ class SmartDecisionMakerBlock(Block): credentials: llm.AICredentials = llm.AICredentialsField() sys_prompt: str = SchemaField( title="System Prompt", - default="Thinking carefully step by step decide which function to call. Always choose a function call from the list of function signatures, and always provide the complete argument provided with the type matching the required jsonschema signature, no missing argument is allowed. If you have already completed the task objective, you can end the task by providing the end result of your work as a finish message.", + default="Thinking carefully step by step decide which function to call. " + "Always choose a function call from the list of function signatures, " + "and always provide the complete argument provided with the type " + "matching the required jsonschema signature, no missing argument is allowed. " + "If you have already completed the task objective, you can end the task " + "by providing the end result of your work as a finish message. " + "Only provide EXACTLY one function call, multiple tool calls is strictly prohibited.", description="The system prompt to provide additional context to the model.", ) conversation_history: list[dict] = SchemaField(