浏览器自动化与AI Agent结合项目browser-use初探

devtools/2025/2/13 21:09:34/

browser-use介绍

browser-use是将您的 AI 代理连接到浏览器的最简单方式。它通过提供一个强大且简单的接口来实现 AI 代理访问网站的自动化

GitHub地址:https://github.com/browser-use/browser-use。目前已经获得了27.3k颗stars,2.7kforks,看得出来是一个比较热门的项目。我在上手体验了之后,发现确实是一个很有趣的项目,因此推荐给大家。

实践

上手也非常简单,创建一个python虚拟环境,pip install browser-use,再playwright install即可。

现在需要进行LLM的配置,官方推荐使用gpt-4o,但是为了降低成本,方便让看了教程感兴趣的人能够方便上手,这里我使用的是硅基流动提供的模型。目前硅基流动注册送14元不过期额度,够用一段时间的了,邀请链接:https://cloud.siliconflow.cn/i/Ia3zOSCU。如果你的额度不够了,但是也想体验一下,可以私聊我,我可以提供一个api key暂时供你快速上手体验,额度用差不多了,我就停止了。

创建一个.env文件,这样写:

Silicon_Cloud_API_KEY=xxx
Base_URL=https://api.siliconflow.cn
Model=Qwen/Qwen2.5-72B-Instruct

创建一个test脚本,这样写:

from langchain_openai import ChatOpenAI
from browser_use import Agent
from dotenv import load_dotenv
import os
load_dotenv()import asyncioapi_key = os.getenv('Silicon_Cloud_API_KEY')
base_url = os.getenv('Base_URL')
model = os.getenv('Model')llm = ChatOpenAI(model=model, api_key=api_key, base_url=base_url)async def main():agent = Agent(task="获取https://github.com/OpenInterpreter/open-interpreter仓库的前五个问题",llm=llm,use_vision=False,)result = await agent.run()print(result)asyncio.run(main())

查看效果:

image-20250212085716642

image-20250212085758634

image-20250212085834372

还生成了一个agent_history.gif可以查看流程:

将结果与实际对比:

image-20250212090403603

可以发现browser-use非常准确的获取了。

再使用一个更普遍的例子,就是获取当前微博前十的热搜。

from langchain_openai import ChatOpenAI
from browser_use import Agent
from dotenv import load_dotenv
import os
load_dotenv()import asyncioapi_key = os.getenv('Silicon_Cloud_API_KEY')
base_url = os.getenv('Base_URL')
model = os.getenv('Model')llm = ChatOpenAI(model=model, api_key=api_key, base_url=base_url)async def main():agent = Agent(task="获取当前微博前十的热搜",llm=llm,use_vision=False,)result = await agent.run()print(result)asyncio.run(main())

image-20250212090822384

image-20250212090907000

最后

以上就是使用硅基流动中的Qwen/Qwen2.5-72B-Instruct快速体验browser-use的效果。初步体验感觉是一个很有潜力的项目,将AI Agent与浏览器自动化结合确实可以做很多事情。


http://www.ppmy.cn/devtools/158591.html

相关文章

尝试分析一下go语言和php语言对建立mysql链接有什么不同

在Go语言和PHP中建立MySQL连接的主要差异体现在连接管理、生命周期、并发处理等方面。以下是详细分析: 1. 连接管理方式 Go语言: 使用连接池(通过database/sql包管理),默认情况下自动维护连接池。 通过sql.Open()初始…

深度剖析观察者模式:从理论到实战的Java实现

在软件设计中,观察者模式(Observer Pattern) 是一种高频使用的行为型设计模式,它定义了对象之间一对多的依赖关系,使得当一个对象状态改变时,其所有依赖对象(观察者)会自动收到通知并…

ONES 功能上新|ONES Copilot、ONES TestCase、ONES Wiki 新功能一览

ONES Copilot 支持基于当前查看的工作项相关信息,利用 AI 模型,在系统中进行相似工作项的查找,包括基于已关联工作项的相似数据查找。 应用场景: 在查看工作项时,可利用 AI 模型,基于语义相似度&#xff0c…

React进阶之React状态管理CRA

React状态管理&CRA 状态管理理论讲解案例 context 上下文结合状态来维护todoListindex.jsApp.jsTaskList.jsTasksContext.jsAddTask.js Escape 脱围机制refforwardRef(不建议使用) CRA 状态管理 理论讲解 如何针对 effect -> 对action的触发 -&…

跟着李沐老师学习深度学习(七)

权重衰退 丢弃法 权重衰退(Weight Decay) 回忆:如何控制一个模型的容量(方法1:把模型变得比较小;方法2:使得模型参数的选择范围比较小) 是一种正则化模型的技术; 使用…

【注意】sql语句where条件中的数据类型不一致,不仅存在性能问题,还会有数据准确性方面的bug......

隐式类型转换规则 MySQL 在进行比较操作时,如果比较双方的数据类型不一致,通常会尝试将其中一个数据类型转换为另一个数据类型,以便进行比较。 对于 select * from t_order where order_no 1538808276987285507 ,当 order_no 为 …

自学人工智能大模型,满足7B模型的训练和微调以及推理,预算3万,如何选购电脑

如果你的预算是 3万元人民币,希望训练和微调 7B 参数规模的人工智能大模型(如 LLaMA、Mistral 等),你需要一台高性能的深度学习工作站。在这个预算范围内,以下是推荐的配置: 1. 关键硬件配置 (1) GPU (显卡…

124 巨坑uni-app踩坑事件 uniCloud本地调试服务启动失败

1.事情是这样的 事情是这样的,我上午在运行项目的时候还是好好的,我什么都没干,没动代码,没更新,就啥也没干,代码我也还原成好好的之前的样子,就报这个错,但是我之前没用过这个服务呀…