rag系列文章目录


前言

大模型仍在以前所未有的速度进行发展,大模型的应用也在迅速发展,目前大模型使用mcp工具越来越多,比较特殊的一种是让大模型操作浏览器的mcp,因为目前人们接触互联网大多通过浏览器的方式,下面我们来介绍一下browser-use。

一、简介

browser-use 是一个开源的 Python 库,旨在让大型语言模型(LLM)直接控制真实浏览器,实现网页自动化任务。

其底层架构采用常见的 Agent-Environment 闭环模式:首先由浏览器环境捕获当前页面状态(DOM 结构、可交互元素等),将其转换为结构化提示词输入给 LLM;然后由 LLM 依据提示生成 JSON 格式的操作计划(如点击、输入、等待等动作序列);接着框架解析该动作序列,通过 Playwright 驱动 Chromium 浏览器执行对应操作;最后将执行结果和新页面状态反馈给 LLM,进入下一轮决策。整个过程中,Agent 模块协调 LLM 和浏览器间的交互,Controller 模块将 LLM 输出的动作指令转换为具体的浏览器操作。为了保证可控性,browser-use 使用 Pydantic 定义了 LLM 的输出格式,并提供自定义动作注册机制,使得开发者可以扩展新的浏览器操作类型。

简而言之,browser-use 将自然语言任务串联到网页动作执行,中间以结构化的状态与动作信息作为桥梁,实现了大模型与浏览器环境的紧密衔接。

二、实践

准备环境

创建conda环境
conda create -n py312 python=3.12
安装browser-use
pip install browser-use
安装浏览器
playwright install chromium --with-deps --no-shell

实践代码:搜索北京市面积大小

# -*- coding: utf-8 -*-

import asyncio
from dotenv import load_dotenv
load_dotenv()
from browser_use import Agent
from browser_use.llm import ChatOpenAI

async def main():
    agent = Agent(
        task="帮我查询北京的面积大小",
        llm=ChatOpenAI(base_url="https://ss/v1",
        model="gpt-4o-mini",
        api_key="ssss",
        temperature=0.0),
    )
    result = await agent.run()
    print("result----------------------:", result)

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

最终结果:

这个agent主要有以下思考步骤:
1、	用户请求了有关北京面积的信息。我将使用 Google 搜索来查找相关信息。
2、	我已经成功搜索了北京的面积,现在需要从搜索结果中提取相关信息。搜索结果中包含维基百科和百度百科的链接,这些链接很可能包含面积数据。
3、	我已成功从 Google 搜索结果中提取出北京的面积。信息显示,总面积约为 16,410 平方公里。我现在将这些信息写入之前创建的文件中,以确保其记录完整。
4、	我已经完成了北京面积的查找和记录任务。这些信息现已保存,可以与用户共享。
5、	最终结果:该网页主要包含与北京面积相关的搜索结果,包括维基百科和百度百科等各种来源的链接。网页中提到北京的总面积约为16,410平方公里。然而,由于该网页主要用作搜索结果页面,因此其内容并未直接提供面积的具体信息。

在这里插入图片描述

三、使用场景

browser-use 可用于各种网页自动化和数据获取场景。典型应用包括:

搜索引擎和信息检索: 自动在搜索引擎中查询信息、比价或获取新闻,如在淘宝搜索最便宜商品、查看微博热搜等。
电商购物与价格比较: 在超市、电商平台上按购物清单自动下单,抓取商品价格并作对比。相关报道指出,Browser Use 可模拟用户在网购网站上挑选杂货、加入购物车并完成结账。
航班/酒店预订: 自动在航班或酒店预订网站上查询并下单,例如示例代码演示了用 browser-use 在 Google Flights 上查找从巴厘岛到阿曼的最便宜机票。
招聘和求职申请: 自动爬取招聘网站信息、填写并提交职位申请表单。如文献提到其可用于“求职申请:自动化填写求职申请表”,并可“自动抓取招聘信息、筛选候选人”。
智能客服与内容处理: 结合 LLM,可实现智能问答和操作指导;还可自动抓取并审核网页内容、生成报告。报告认为 browser-use 支持“网页数据采集、表单自动填写、多轮任务协作”等,如自动抓取金融数据生成投资报告。
其他: 还可用于自动化测试、智能家居控制、游戏网页自动化等场景。总之,凡是需要模拟人类浏览器操作的场景(搜索、下单、表单提交、数据抓取等),browser-use 都可以发挥作用。


总结

browser-use 凭借简洁的 Python 架构和 Playwright 集成,在真实网页环境中提供了高度自然语言驱动的交互能力,适用于各种在线任务场景。与其他agent项目,它更专注于浏览器级的任务执行和结构化控制,部署配置更简单,但仅限于浏览器自动化,它是实现 Web 自动化与智能代理结合的一种高效途径。

参考:github地址数据爬虫信息检索

Logo

一站式 AI 云服务平台

更多推荐