[Python] How to run multiple browser-use agents in parallel?

Discussão em 'Python' iniciado por Stack, Fevereiro 18, 2025.

  1. Stack

    Stack Membro Participativo

    Currently I have this code

    #!/usr/bin/env python3
    # -*- coding: utf-8 -*-
    """
    :brief: Run multiple browser-use agents in parallel
    """
    import asyncio
    import os

    from browser_use import Agent, Browser, BrowserConfig, Controller
    from browser_use.browser.context import BrowserContext, BrowserContextConfig
    from langchain_openai import ChatOpenAI


    async def main():
    controller = Controller()
    llm = ChatOpenAI(model="gpt-4o", api_key=os.getenv("OPENAI_API_KEY"))
    browser_config = BrowserConfig(
    chrome_instance_path="/path/to/chrome",
    headless=False,
    disable_security=True,
    extra_chromium_args=[
    "--no-first-run",
    "--no-default-browser-check",
    "--disable-extensions",
    "--new-window",
    ],
    )
    browser = Browser(config=browser_config)
    context1 = BrowserContext(browser=browser)
    context2 = BrowserContext(browser=browser)

    agent = Agent(
    task="Go to amazon.com and search for toys without logging in",
    llm=llm,
    controller=controller,
    browser=browser,
    browser_context=context1,
    )

    agent2 = Agent(
    task="Go to Google.com and find the latest news",
    llm=llm,
    controller=controller,
    browser=browser,
    browser_context=context2,
    )

    await asyncio.gather(agent.run(), agent2.run())

    if __name__ == "__main__":
    asyncio.run(main())


    But, it does not truly run in parellel. I was considering using ProcessPoolExecutor but not sure how to mix concurrent.futures and asyncio cleanly. Essentially, the approach should be to create 2 different browser instances so that the agents can work in tandem.

    Continue reading...

Compartilhe esta Página