在当今数字化时代,自动化技术正变得越来越重要。尤其是在网页自动化领域,它能够帮助我们节省大量的时间和精力,完成重复性的任务。最近,一个名为Browser-Use的开源网页自动化库引起了广泛关注,它允许大型语言模型(LLM)与网站互动,通过简单的接口实现网页自动化操作。本文将详细介绍这个库的功能、安装方法以及如何使用它来完成一些实际的任务。
Browser-Use简介
Browser-Use是一个开源的网页自动化库,它通过提供一个简单的接口,让LLM能够与网站进行互动。这个库支持多标签管理、XPath提取和视觉模型处理,使得自动化网页操作变得更加简单和高效。
主要特点
- 通用LLM支持:Browser-Use可以与任何语言模型配合使用,包括但不限于LangChain支持的模型。
- 交互元素检测:自动检测网页上的交互元素,无需手动检查。
- 多标签管理:无缝处理浏览器标签,方便进行多任务操作。
- XPath提取:用于抓取功能,无需手动检查DevTools。
- 视觉模型支持:处理视觉页面信息,提高自动化的准确性。
- 自定义动作:添加自己的浏览器交互,例如将数据添加到数据库,以便LLM使用。
- 动态内容处理:不用担心cookies或内容变化问题。
- 链式思维提示与记忆:解决长期任务。
- 自我纠正:如果LLM犯错,代理将自我纠正其行动。
支持的模型
Browser-Use支持所有LangChain聊天模型,包括但不限于GPT-4o、GPT-4o Mini、Claude 3.5 Sonnet和LLama 3.1 405B。这些模型都是当前领先的大型语言模型,能够处理各种复杂的语言相关任务。
安装与使用
安装
首先,你需要创建一个虚拟环境并安装Browser-Use及其依赖项。推荐使用uv
来创建虚拟环境,并使用pip安装Browser-Use:
bash
pip install .
然后,将你的API密钥添加到.env文件中。例如,对于OpenAI,你需要添加:
plaintext
OPENAI_API_KEY=
使用示例
下面是一个简单的使用示例,展示了如何使用Browser-Use来获取Hacker News上的前10个帖子的标题、分数和小时数,并计算每个帖子的分数每小时比率:
python
from langchain_openai import ChatOpenAI
from browser_use import Agent
agent = Agent(
task="Go to hackernews on show hn and give me top 10 post titles, their points and hours. Calculate for each the ratio of points per hour.",
llm=ChatOpenAI(model="gpt-4o"),
)
# ... inside an async function
await agent.run()
高级示例
Browser-Use还支持链式代理,允许你跨多个代理持久化浏览器状态。例如,你可以在一个代理中打开几个VC网站的标签页,然后在另一个代理中获取这些公司创始人的名字:
python
from asyncio import run
from browser_use import Agent, Controller
from dotenv import load_dotenv
from langchain_anthropic import ChatAnthropic
load_dotenv()
# Persist browser state across agents
controller = Controller()
# Initialize browser agent
agent1 = Agent(
task="Open 3 VCs websites in the New York area.",
llm=ChatAnthropic(model="claude-3-5-sonnet-20240620", timeout=25, stop=None),
controller=controller)
agent2 = Agent(
task="Give me the names of the founders of the companies in all tabs.",
llm=ChatAnthropic(model="claude-3-5-sonnet-20240620", timeout=25, stop=None),
controller=controller)
run(agent1.run())
founders, history = run(agent2.run())
print(founders)
结论
Browser-Use作为一个强大的开源网页自动化库,为开发者提供了一个与网站互动的新工具。它不仅支持多种LLM模型,还提供了丰富的功能,如多标签管理、XPath提取和视觉模型处理,使得网页自动化变得更加简单和高效。随着技术的不断发展,Browser-Use有望在网页自动化领域发挥更大的作用,帮助开发者解决更多实际问题。