Skip to content

Commit 419b6f5

Browse files
Update custom_massage_manager.py
1 parent 3740b93 commit 419b6f5

File tree

1 file changed

+52
-16
lines changed

1 file changed

+52
-16
lines changed

src/agent/custom_massage_manager.py

Lines changed: 52 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -7,23 +7,18 @@
77
from __future__ import annotations
88

99
import logging
10-
from datetime import datetime
1110
from typing import List, Optional, Type
1211

13-
from langchain_anthropic import ChatAnthropic
12+
from browser_use.agent.message_manager.service import MessageManager
13+
from browser_use.agent.message_manager.views import MessageHistory
14+
from browser_use.agent.prompts import SystemPrompt
15+
from browser_use.agent.views import ActionResult, AgentStepInfo
16+
from browser_use.browser.views import BrowserState
1417
from langchain_core.language_models import BaseChatModel
1518
from langchain_core.messages import (
16-
AIMessage,
17-
BaseMessage,
1819
HumanMessage,
20+
AIMessage
1921
)
20-
from langchain_openai import ChatOpenAI
21-
22-
from browser_use.agent.message_manager.views import MessageHistory, MessageMetadata
23-
from browser_use.agent.prompts import AgentMessagePrompt, SystemPrompt
24-
from browser_use.agent.views import ActionResult, AgentOutput, AgentStepInfo
25-
from browser_use.browser.views import BrowserState
26-
from browser_use.agent.message_manager.service import MessageManager
2722

2823
from .custom_prompts import CustomAgentMessagePrompt
2924

@@ -43,14 +38,53 @@ def __init__(
4338
include_attributes: list[str] = [],
4439
max_error_length: int = 400,
4540
max_actions_per_step: int = 10,
41+
tool_call_in_content: bool = False,
4642
):
47-
super().__init__(llm, task, action_descriptions, system_prompt_class, max_input_tokens,
48-
estimated_tokens_per_character, image_tokens, include_attributes, max_error_length,
49-
max_actions_per_step)
43+
super().__init__(
44+
llm=llm,
45+
task=task,
46+
action_descriptions=action_descriptions,
47+
system_prompt_class=system_prompt_class,
48+
max_input_tokens=max_input_tokens,
49+
estimated_tokens_per_character=estimated_tokens_per_character,
50+
image_tokens=image_tokens,
51+
include_attributes=include_attributes,
52+
max_error_length=max_error_length,
53+
max_actions_per_step=max_actions_per_step,
54+
tool_call_in_content=tool_call_in_content,
55+
)
5056

51-
# Move Task info to state_message
57+
# Custom: Move Task info to state_message
5258
self.history = MessageHistory()
5359
self._add_message_with_tokens(self.system_prompt)
60+
tool_calls = [
61+
{
62+
'name': 'AgentOutput',
63+
'args': {
64+
'current_state': {
65+
'evaluation_previous_goal': 'Unknown - No previous actions to evaluate.',
66+
'memory': '',
67+
'next_goal': 'Obtain task from user',
68+
},
69+
'action': [],
70+
},
71+
'id': '',
72+
'type': 'tool_call',
73+
}
74+
]
75+
if self.tool_call_in_content:
76+
# openai throws error if tool_calls are not responded -> move to content
77+
example_tool_call = AIMessage(
78+
content=f'{tool_calls}',
79+
tool_calls=[],
80+
)
81+
else:
82+
example_tool_call = AIMessage(
83+
content=f'',
84+
tool_calls=tool_calls,
85+
)
86+
87+
self._add_message_with_tokens(example_tool_call)
5488

5589
def add_state_message(
5690
self,
@@ -68,7 +102,9 @@ def add_state_message(
68102
msg = HumanMessage(content=str(r.extracted_content))
69103
self._add_message_with_tokens(msg)
70104
if r.error:
71-
msg = HumanMessage(content=str(r.error)[-self.max_error_length:])
105+
msg = HumanMessage(
106+
content=str(r.error)[-self.max_error_length:]
107+
)
72108
self._add_message_with_tokens(msg)
73109
result = None # if result in history, we dont want to add it again
74110

0 commit comments

Comments
 (0)