got the answer, browser-use seems to update its script to call LLM
import asyncio
import os
from browser_use.llm import ChatGoogle
from browser_use import Agent
from dotenv import load_dotenv
# Read GOOGLE_API_KEY into env
load_dotenv()
# Initialize the model
llm = ChatGoogle(model='gemini-2.0-flash-exp', api_key=os.getenv('API_KEY'))
# Create agent with the model
async def test():
agent = Agent("navigate to https://staff-tmgm-cn-4-qa.lbcrmsit.com/ and get the title", llm, use_vision=True)
result = await agent.run()
print(result)
asyncio.run(test())