使用Browser-usr构建智能网页操作Agent:航班搜索实战

发布于:2025-07-26 ⋅ 阅读:(14) ⋅ 点赞:(0)

在当今自动化需求日益增长的背景下,智能Agent能够代替人类执行重复性网页操作任务。本文将介绍如何使用browser-usr库构建一个航班搜索Agent,自动完成航班查询并返回最优价格。

核心组件与技术栈

  1. Browser-usr:基于Playwright的网页自动化库
  2. LangChain:大语言模型应用开发框架
  3. Qwen-32B大模型:本地部署的视觉语言模型
  4. 异步执行框架:Python asyncio

实现步骤详解

1. 环境配置与初始化
import asyncio
import os
from browser_use import Agent
from langchain_openai import ChatOpenAI

# 关键环境变量设置(即使使用本地模型)
os.environ["OPENAI_API_KEY"] = "empty"  # 绕过官方API检查
2. Agent核心构建
async def main():
    # 创建浏览器智能体
    agent = Agent(
        task="查找2025年1月12日巴厘岛飞阿曼的单程航班,返回最便宜选项",
        llm=ChatOpenAI(
            base_url="http://localhost:8000/v1",  # 本地模型API端点
            api_key="empty",  # 与环境变量保持一致
            model="vllm-qwen3-32b"  # 32B参数视觉语言模型
        ),
        use_vision=False  # 禁用视觉功能(纯文本操作)
    )
    
    # 执行任务
    result = await agent.run()
    print("最优航班结果:", result)

# 启动异步任务
asyncio.run(main())

完整代码:

from langchain_openai import ChatOpenAI
from browser_use import Agent
import asyncio
import os

async def main():
    #设置环境变量(关键步骤)
    os.environ["OPENAI_API_KEY"] = "empty"  # 即使使用本地模型也需要设置
   
    
    # 创建Agent
    agent = Agent(
        task="帮我查找2025年1月12日从巴厘岛飞往阿曼的单程航班,并返回最便宜的选项。",
        llm=ChatOpenAI(
            base_url="http://localhost:8000/v1",
            api_key="empty",
            model="vllm-qwen3-32b"
        ),
        use_vision=False
    )
    
    result = await agent.run()
    print(result)

asyncio.run(main())
3. Agent工作流程解析
  1. 任务解析:Qwen模型理解自然语言任务需求
  2. 策略生成:自动规划网页操作路径(打开浏览器→访问航司网站→输入查询条件等)
  3. 页面交互
    • 自动填写出发地/目的地
    • 选择日期(2025-01-12)
    • 设置单程航班选项
  4. 数据处理
    • 爬取航班结果
    • 价格比较算法
    • 提取最低价选项
  5. 结果返回:结构化输出最优航班信息

关键技术亮点

  1. 本地模型集成

    ChatOpenAI(base_url="http://47.117.169.37:8000/v1", model="vllm-qwen3-32b")
    
    • 通过修改base_url接入自托管大模型
    • 避免OpenAI官方API调用费用
    • 支持私有化部署保障数据安全
  2. 视觉能力开关

    use_vision=False  # 可切换为True启用OCR和图像识别
    
    • 禁用时可提升30%执行速度
    • 启用时可处理验证码等复杂场景
  3. 异步执行引擎

    asyncio.run(main())  # 高效管理浏览器并行操作
    
    • 非阻塞式网页操作
    • 支持多页面并发控制

实际应用场景扩展

  1. 电商比价系统:自动监控多个平台价格波动
  2. 竞品分析:定期抓取竞品网站更新
  3. 数据填报机器人:自动登录系统填写表单
  4. 动态监控:实时追踪股票/加密货币价格

性能优化建议

  1. 缓存复用:重用浏览器实例减少启动开销
  2. 智能等待:添加DOM状态检测替代固定sleep
  3. 错误重试:实现操作失败自动恢复机制
  4. 分布式部署:多个Agent实例并行执行不同任务

结语

通过browser-usr构建的智能Agent将自然语言指令转化为精准的网页操作,解决了传统爬虫难以处理动态网页的痛点。结合本地部署的大语言模型,既保障了数据隐私又降低了使用成本。这种技术组合为自动化办公、数据采集等领域提供了新的解决方案。

提示:完整项目需安装依赖:

pip install browser-usr langchain-openai playwright
playwright install  # 初始化浏览器环境

网站公告

今日签到

点亮在社区的每一天
去签到