Browser-use部署与使用及技术分析

1、部署:

参考官网链接:https://github.com/browser-use/browser-use
这里有两点需要注意:

  1. 需要注意的就是python版本要求大于等于3.11。
  2. 部署过程中,还需要额外的两个依赖:
 pip install mem0ai 
 pip install faiss-cpu

2、使用

这里分两种使用场景

2.1 非服务器(win、mac之类的)

示例代码test.py,这里我用的是deepseek的api:

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

extend_system_message = """
记住最重要的规则:
1、执行搜索任务时,优先打开 https://www.bing.com/?mkt=zh-CN 进行搜索。
2、最后的输出结果,要用中文回答用户的问题。
"""

# 明确设置虚拟的OPENAI_API_KEY环境变量,绕过框架检查
os.environ['OPENAI_API_KEY'] = 'fake-key'
# 设置实际使用的DeepSeek API Key
os.environ['DEEPSEEK_API_KEY'] = 'sk-***'

async def main():
    llm = ChatOpenAI(
        base_url='https://api.deepseek.com/v1',
        model='deepseek-chat',
        api_key=os.environ['DEEPSEEK_API_KEY']
    )
    agent = Agent(
        task="近期发布的《提振消费专项行动方案》,有哪些值得关注的内容?",
        llm=llm,
        use_vision=False,
        message_context=extend_system_message
    )
    await agent.run()

asyncio.run(main())

如果要运行上面的代码,不能直接使用

python test.py

就会报错:

ERROR [browser] ❌ Failed to create new browser session: BrowserType.launch: Target page, context or browser has been closed

正确的:

xvfb-run python test.py

xvfb-run 是一个虚拟的X server环境,可模拟图形界面运行。

2.2 服务器(没有显示器的)

参考官网示例即可

3、技术分析:

参考链接:
1、https://zhuanlan.zhihu.com/p/1885651451088462924
2、https://zhuanlan.zhihu.com/p/28582961592

### 如何在本地环境部署浏览器使用相关的应用程序或服务 #### 使用无服务器架构简化开发流程 为了加速应用程序开发并提高生产力,可以采用无服务器API来支持静态前端和动态后端的应用程序。这种模式允许开发者专注于业务逻辑而不是基础设施管理[^1]。 #### 设置本地开发环境 对于希望快速启动项目的团队来说,在本地设置一个高效的开发环境至关重要。这通常涉及到安装必要的工具链和服务,比如Node.js运行时、npm包管理器以及其他依赖项。如果目标是在容器化平台上部署,则还需要配置Docker环境以便能够轻松打包应用及其所有依赖关系。 #### 部署到云端平台 一旦完成了本地调试阶段之后就可以考虑将项目迁移到更稳定的生产环境中去了。现代CI/CD管道可以帮助自动化这一过程;例如GitHub Actions提供了丰富的集成选项可用于定义自定义的工作流来进行持续交付操作。此外还有专门针对特定框架优化的服务提供商如Vercel (前身为Zeit Now),它使得发布基于JavaScript的技术栈构建出来的Web App变得异常简单——只需几条命令就能获得即时可用的线上实例地址[^2]。 #### 利用容器编排技术实现高效运维 当面对较为复杂的企业级解决方案时,可能就需要引入像Kubernetes这样的高级特性了。借助Minikube可以在个人电脑上模拟完整的集群场景从而更好地理解其工作机制。值得注意的是,默认情况下该软件会自动挑选最适合当前系统的虚拟机驱动以确保最佳性能表现[^4]。 ```bash minikube start --driver=docker eval $(minikube docker-env) kubectl get pods ``` 上述脚本展示了怎样利用`minikube`配合指定的hypervisor快速搭建起单节点版k8s测试床,并切换shell上下文中默认使用的kubeconfig文件指向新创建好的context,最后查询正在运行中的pod列表作为验证手段之一。 #### 实现R/Shiny Apps的一键式部署方案 特别地,对于那些想要分享统计分析成果给更多人的数据科学家而言,有一个非常实用的方法就是把Shiny Server Pro同Azure Container Instances结合起来。整个流水线仅需两行指令即可完成镜像推送至仓库以及资源实例化的全过程,极大地降低了维护成本同时也提高了灵活性[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值