import asynciofrom beeai_framework.agents.react import ReActAgentfrom beeai_framework.agents.types import AgentExecutionConfigfrom beeai_framework.backend.chat import ChatModelfrom beeai_framework.backend.types import ChatModelParametersfrom beeai_framework.memory import TokenMemoryfrom beeai_framework.tools.search.duckduckgo import DuckDuckGoSearchToolfrom beeai_framework.tools.search.wikipedia import WikipediaToolfrom beeai_framework.tools.tool import AnyToolfrom beeai_framework.tools.weather.openmeteo import OpenMeteoToolllm = ChatModel.from_name( "ollama:granite3.1-dense:8b", ChatModelParameters(temperature=0),)tools: list[AnyTool] = [ WikipediaTool(), OpenMeteoTool(), DuckDuckGoSearchTool(),]agent = ReActAgent(llm=llm, tools=tools, memory=TokenMemory(llm))prompt = "What's the current weather in Las Vegas?"async def main() -> None: response = await agent.run( prompt=prompt, execution=AgentExecutionConfig( max_retries_per_step=3, total_max_retries=10, max_iterations=20 ), ) print("Agent 🤖 : ", response.result.text)asyncio.run(main())