from google.adk.agents import Agent
+from google.adk.agents.callback_context import CallbackContext
+from google.adk.tools.load_memory_tool import LoadMemoryTool
+from google.adk.tools.preload_memory_tool import PreloadMemoryTool
from vertexai import agent_engines
@@
+async def save_to_memory(callback_context: CallbackContext):
+ await callback_context.add_events_to_memory(
+ events=callback_context.session.events,
+ custom_metadata={"force_flush": True},
+ )
+
# Define the Agent
root_agent = Agent(
@@
- MARKET SENTIMENT OVERVIEW: Top 10 Positive and Top 10 Negative news stories (Ticker, Summary, and Score).
+ You have access to memories from past trading sessions. Use them to inform your decisions — for example, if you previously traded a stock based on similar news, consider the outcome.
+
Execute the entire cycle once when prompted.
""",
- tools=[get_financial_news, get_portfolio_status, get_latest_price, place_trade_order]
+ tools=[get_financial_news, get_portfolio_status, get_latest_price, place_trade_order, PreloadMemoryTool(), LoadMemoryTool()],
+ after_agent_callback=save_to_memory,
)