news 2026/1/31 12:31:41

自动高效的电脑自动化模型,Fara-7B:一种用于计算机的高效代理模型

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
自动高效的电脑自动化模型,Fara-7B:一种用于计算机的高效代理模型

Fara-7B是微软的第一个代理小语言模型 (SLM)专门设计用于计算机使用。Fara-7B 仅具有70亿个参数,是一种超紧凑的计算机使用代理(CUA),在其尺寸类别内实现了最先进的性能,并可与更大、更资源密集型代理系统竞争。

尝试在本地使用 Fara-7B,如下所示(请参见 安装 有关 Windows 的详细指示)或通过 Magentic-UI:

# 1. Clone repository git clone https://github.com/microsoft/fara.git cd fara # 2. Setup environment python3 -m venv .venv source .venv/bin/activate pip install -e . playwright install

然后在一个过程中,托管模型:

vllm serve "microsoft/Fara-7B" --port 5000 --dtype auto

然后,您可以用以下方式迭代查询它:

fara-cli --task "whats the weather in new york now"

要尝试在 Magentic-UI 中使用 Fara-7B,请按照以下说明 Magentic-UI + Fara-7B 。你需要像以前一样为模型提供服务,但你可以使用Magentic-UI,而不是fara-cli,Magentic-UI有一个漂亮的UI(见下面的视频演示)。

注意事项:

  • 如果您使用的是Windows,我们强烈建议使用WSL2(Linux的Windows子系统)。请参阅 安装 部分中的 Windows 说明。
  • 你可能需要做--tensor-parallel-size 2如果内存不足,使用vllm命令

购物

fara_xbox_多转-3.mp4

GitHub问题

fara_github_demo.mp4

配有奶酪的说明

驾驶方向_cheese-1_修订版.mp4

Fara-7B的独特之处

与传统的基于文本的聊天模式不同,Fara-7B利用计算机界面——鼠标和键盘——代表用户执行多步任务。该模式:

  • 视觉操作通过感知网页并执行滚动、输入和直接点击预测坐标等操作,而不使用无障碍树或单独的解析模型
  • 支持设备端部署由于其紧凑的7B参数大小,减少了延迟并提高了隐私性,因为用户数据保持在本地
  • 高效完成任务,平均每项任务只有~16个步骤,而可比模型为~41个

Fara-7B 是使用一种基于 Magentic-One 多代理框架的新型合成数据生成管道进行训练的,具有 14.5 万条轨迹,涵盖各种网站、任务类型和难度级别。该模型基于 Qwen2.5-VL-7B 并通过有监督微调进行训练。

关键能力

Fara-7B可以自动化日常的网络任务,包括:

  • 搜索信息和总结结果
  • 填写表格和管理账户
  • 预订旅行、电影票和餐厅预订
  • 在各零售商之间购物和比较价格
  • 查找招聘信息和房地产信息

演出亮点

Fara-7B在多个Web代理基准测试中实现了最先进的结果,性能优于同类大小的模型和更大的系统:

模型参数WebVoyager在线M2WDeepShopWebTailBench
SoM代理人
SoM代理(GPT-4o-0513)-90.657.749.160.4
SoM代理(o3-mini)-79.355.449.752.7
SoM代理(GPT-4o)-65.134.616.030.8
GLM-4.1V-9B-思考9B66.833.932.022.4
计算机使用模型
OpenAI计算机使用预览-70.942.924.725.7
UI-TARS-1.5-7B7B66.431.311.619.5
法拉-7B7B73.534.126.238.4

表:在线代理评估结果显示了四个网络基准的成功率(%)。结果平均为3次运行。

WebTailBench:现实世界Web任务的新基准

我们正在发布WebTailBench,一个新的评估基准,专注于11种现实世界任务类型,这些任务类型在现有基准中代表性不足或缺失。该基准包括609个不同类别的任务,前8个部分测试单一技能或目标(通常在单个网站上),其余3个评估更困难的多步骤或跨站点任务。

WebTailBench 详细结果
任务分段任务SoM GPT-4o-0513SoM o3-miniSoM GPT-4oGLM-4.1V-9BOAI 应用程序使用UI-TARS-1.5法拉-7B
单点任务
购物5662.571.438.131.042.341.152.4
航班5160.139.211.110.517.610.537.9
酒店5268.656.431.419.926.935.353.8
餐馆5267.959.647.432.135.922.447.4
活动8070.462.941.726.330.49.636.3
票务5758.556.737.435.749.730.438.6
房地产4834.017.420.116.09.09.723.6
工作/职业生涯5049.344.032.722.720.720.728.0
多步骤任务
购物清单(2项)5166.062.717.07.834.020.949.0
比较购物5767.359.127.522.81.28.832.7
组成任务5551.539.426.717.010.39.123.0
全部的
宏观平均值60959.751.730.122.025.319.938.4
微观平均值60960.452.730.822.425.719.538.4

表:所有11个段WebTailBench结果的细目。成功率(%)是3次独立运行的平均值。Fara-7B在所有任务类别的计算机使用模型中取得了最高的性能。

即将推出:

  • LLM-作为法官评估的任务验证管道
  • WebTailBench的官方人工注释(与BrowserBase合作)

评价基础设施

我们的评估设置具有以下优势:

  1. 剧作家- 一个跨浏览器自动化框架,可以复制浏览器环境
  2. 抽象Web代理接口- 允许将任何模型从任何源集成到评估环境中
  3. Fara-Agent 类- 运行 Fara 模型的参考实现

注意:Fara-7B 是一个实验性发布,旨在邀请社区进行实际操作和反馈。我们建议在沙盒环境中运行它,监控其执行,并避免敏感数据或高风险域。


安装

Linux

下面的说明适用于Linux系统,有关Windows的说明,请参阅下面的Windows部分。

使用 pip 安装包,并使用 Playwright 设置环境:

# 1. Clone repository git clone https://github.com/microsoft/fara.git cd fara # 2. Setup environment python3 -m venv .venv source .venv/bin/activate pip install -e .[vllm] playwright install

注意:如果您计划只使用Azure Foundry托管,您可以跳过[vllm]然后就做pip install -e .

Windows

对于Windows,我们强烈建议使用WSL2(适用于Linux的Windows子系统)来提供类似Linux的环境。然而,如果您更喜欢在Windows上原生运行,请遵循以下步骤:

# 1. Clone repository git clone https://github.com/microsoft/fara.git cd fara # 2. Setup environment python3 -m venv .venv .venv\Scripts\activate pip install -e . python3 -m playwright install

托管模型

推荐:入门最简单的方法是使用 Azure Foundry 托管,它不需要 GPU 硬件或模型下载。或者,如果您有可用的 GPU 资源,您可以使用 vLLM 自托管。

Azure铸造厂托管(推荐)

在 Azure Foundry 上部署 Fara-7B,无需下载权重或管理 GPU 基础设施。

设置:

  1. 在Azure Foundry上部署Fara-7B模型并获取终端URL和API密钥

然后创建一个端点配置JSON文件(例如,azure_foundry_config.json):

{ "model": "Fara-7B", "base_url": "https://your-endpoint.inference.ml.azure.com/", "api_key": "YOUR_API_KEY_HERE" }

然后,您可以使用此端点配置运行Fara-7B。

  1. 运行Fara代理:
fara-cli --task "how many pages does wikipedia have" --endpoint_config azure_foundry_config.json [--headful]

注意:您还可以用参数指定端点配置。--base_url [your_base_url] --api_key [your_api_key] --model [your_model_name]而不是使用配置JSON文件。

注意:如果您看到错误,fara-cli命令找不到,请尝试:

python -m fara.run_fara --task "what is the weather in new york now"

仅此而已!无需下载GPU或模型。

使用vLLM或LM Studio/Ollama进行自助托管

如果您可以访问GPU资源,您可以使用vLLM自托运行Fara-7B。这需要一台具有足够VRAM的GPU机器(例如,24GB或更多)。

仅在Linux上:所需要的只是运行以下命令来启动vLLM服务器:

vllm serve "microsoft/Fara-7B" --port 5000 --dtype auto

对于量化模型或较低的VRAM GPU,请参见 HuggingFace上的Fara-7B GGUF 。

对于Windows/Mac, vLLM 本机上不受支持。您可以在Windows上使用 WSL2 运行上述命令或如下所述的LM Studio/Ollama。

否则,您可以使用 LM Studio 或 Ollama 在本地托管模型。我们目前推荐以下GGUF版本的我们的模型 HuggingFace上的Fara-7B GGUF 用于 LM Studio 或 Ollama。选择适合您的GPU的最大型号。请确保上下文长度设置为至少15000个令牌,温度设置为0以获得最佳效果。

然后你可以指着本地服务器运行Fara-7B:

运行测试脚本以查看Fara的运行情况:

fara-cli --task "what is the weather in new york now"

如果您没有使用vLLM来托管,请指定正确的--base_url [your_base_url] --api_key [your_api_key] --model [your_model_name]

如果你看到一个错误,那么fara-cli命令找不到,请尝试:

python -m fara.run_fara --task "what is the weather in new york now"

可重复性

我们提供了一个框架webeval/在WebVoyager和OnlineMind2Web上重现我们的结果。由于日常变化,实时网站上的代理评估面临独特的挑战。我们实施了几项措施以确保可靠和可比的评估:

BrowserBase Integration我们使用 BrowserBase 来管理浏览器会话托管,从而实现可靠的浏览器实例管理。

时间敏感的任务更新在像 WebVoyager 这样的基准测试中,任务可能会变得过时或不可能。我们:

  • 从最初的WebVoyager基准测试中删除了约48个不可能完成的任务
  • 更新了约50项任务,并设定了未来日期,以确保它们能够实现
  • 示例:"从2024年1月1日至1月4日在巴厘岛搜索酒店""从2026年1月1日至1月4日搜索巴厘岛酒店"
  • 我们更新的WebVoyager基准可在以下网址获取:webeval/data/webvoyager/WebVoyager_data_08312025.jsonl

环境错误处理浏览器错误(连接丢失、页面超时)得到了健壮的处理:

  • 当环境错误发生时,轨迹最多重试5次
  • 完整但不正确的轨迹永远不会被重试
  • 每次重试都从一个新的浏览器会话开始,没有保留状态

步骤预算每个轨迹在所有在线基准上最多限制为100个动作。超过这个预算而不选择停止的轨迹被认为是错误的。

WebEval包安装

conda create --name fara_webeval python=3.12 conda activate fara_webeval # Install fara package pip install -e . # Install autogen submodule git submodule update --init --recursive cd autogen/python/packages pip install -e autogen-core pip install -e autogen-ext # Install webeval cd webeval pip install -e . # Install playwright playwright install

运行评估

导航到脚本目录:

cd webeval/scripts

确保您在'中设置了有效的 OpenAI GPT-4o 端点endpoint_configs_gpt4o/dev为了以法官身份运行WebVoyager LLM!

选项1:自托管vLLM

python webvoyager.py --model_url /path/where/you/want/to/download/model/ --model_port 5000 --eval_oai_config ../endpoint_configs_gpt4o/dev/ --out_url /path/to/save/eval/files --device_id 0,1 --processes 1 --run_id 1 --max_rounds 100 python om2w.py --model_url /path/where/you/want/to/download/model/ --model_port 5000 --eval_oai_config ../endpoint_configs_o4/dev/ --eval_model o4-mini --out_url /path/to/save/eval/files --device_id 0,1 --processes 1 --run_id 1 --max_rounds 100

选项2:Azure Foundry部署

部署 Fara-7B 到 Foundry 端点 ,然后在 JSON 中放置端点 URL 和密钥endpoint_configs/:

python webvoyager.py --model_endpoint ../../endpoint_configs/ --eval_oai_config ../endpoint_configs_gpt4o/dev/ --out_url /path/to/save/eval/files --processes 1 --run_id 1_endpoint --max_rounds 100 python om2w.py --model_endpoint ../../endpoint_configs/ --eval_oai_config ../endpoint_configs_o4/dev/ --eval_model o4-mini --out_url /path/to/save/eval/files --processes 1 --run_id 1_endpoint --max_rounds 100

注释

  • 我们使用与WebVoyager相同的LLM作为评判的提示和模型(GPT-4o),因此有--eval_oai_config论点
  • --browserbase用于浏览器会话管理(需要导出API密钥和项目ID环境变量)
  • 由于已知问题,避免将单个vLLM部署与超过~10个并发进程过载
  • 参见调试输出。fara/webeval/scripts/stdout.txt

评估结果分析

评价产出结构

评估结果存储在--out_url在以下组织的文件夹中:

  • 型号名称
  • 资料组
  • 用户名
  • 运行ID

示例路径:

/runs/WebSurfer-fara-100-max_n_images-3/fara-7b/<username>/WebVoyager_WebVoyager_data_08312025.jsonl/<run_id>

每个评估文件夹包含:

  • gpt_eval/- LLM作为法官的评估结果
  • traj/-按任务划分的轨迹子目录,包括:
    • *-final_answer.json(例如,Amazon--1_final_answer.json) -<no_answer>指示堕胎或步骤预算超出
    • scores/*_eval.json- LLM法官评分(gpt_eval.json对于WebVoyager来说,WebJudge_Online_Mind2Web_eval-3.json用于在线-Mind2Web)
    • web_surfer.log-行动历史和错误
    • screenshot_X.png- 在每次操作前捕获的屏幕截图
    • times.json-包含任务的开始和结束时间
    • core.log-包含高级日志,如轨迹是否需要启动或已经缓存/完成、评估分数、持续时间和遇到的错误

运行分析

使用分析笔记本计算指标:

cd webeval/scripts/analyze_eval_results/ jupyter notebook analyze.ipynb

剧本:

  • 识别执行中期中止的轨迹和诊断原因
  • 计算非中止轨迹的平均分数
  • 区分中止的轨迹(采样过程中的错误)和已完成的轨迹("终止()调用"或超出步骤预算)

要重新运行失败的任务,请使用相同的命令再次执行评估脚本run_idusername-它会跳过非中止的任务。

WebVoyager GPT验证结果示例

web_surfer.log(操作历史记录)示例

引用

如果您在研究中使用Fara-7B,请使用以下BibTeX条目。

@article{fara7b2025, title={Fara-7B: An Efficient Agentic Model for Computer Use}, author={Awadallah, Ahmed and Lara, Yash and Magazine, Raghav and Mozannar, Hussein and Nambi, Akshay and Pandya, Yash and Rajeswaran, Aravind and Rosset, Corby and Taymanov, Alexey and Vineet, Vibhav and Whitehead, Spencer and Zhao, Andrew}, journal={arXiv:2511.19663}, year={2025} }

分享文件:资源大全
链接:https://pan.xunlei.com/s/VObmBFFa7Q1PsEznMCr3rD0pA1
提取码:3x62
复制这段内容后打开迅雷,查看更方便

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/30 12:53:24

ParameterServerStrategy企业级训练部署方案

ParameterServerStrategy 企业级训练部署方案 在推荐系统、广告点击率预测等典型工业场景中&#xff0c;模型的嵌入层动辄容纳上亿甚至百亿级别的稀疏特征 ID。面对如此庞大的参数规模&#xff0c;传统的单机训练早已力不从心——显存溢出、训练停滞、扩展困难成了常态。如何构…

作者头像 李华
网站建设 2026/1/30 17:34:39

Prefetch、Cache与Shuffle的正确组合方式

Prefetch、Cache与Shuffle的正确组合方式 在训练一个图像分类模型时&#xff0c;你是否遇到过这样的情况&#xff1a;GPU利用率长期徘徊在30%以下&#xff0c;日志显示“数据加载耗时远超前向传播”&#xff1f;这并不是硬件性能不足&#xff0c;而是典型的数据管道瓶颈。即便使…

作者头像 李华
网站建设 2026/1/29 18:47:04

没有契约测试的微服务是什么样的?

01.微服务为什么需要契约测试 首先我介绍一下公司的情况。我们使用的是微服务架构&#xff0c;每个部分会负责其中的几个微服务的研发和维护。我所在的部门维护公司的支付服务&#xff08;billing&#xff09;&#xff0c;这个服务需要依赖其他部门的几个服务。 当用户需要支…

作者头像 李华
网站建设 2026/1/21 7:28:22

Flax/JAX能否取代TensorFlow?深度对比分析

Flax/JAX能否取代TensorFlow&#xff1f;深度对比分析 在AI工程实践中&#xff0c;技术选型从来不是“谁更先进”就能一锤定音的事。一个框架是否真正可用&#xff0c;取决于它能否在正确的时间、正确的场景下解决实际问题。 以Google自家的两大主力——TensorFlow与Flax/JAX为…

作者头像 李华
网站建设 2026/1/29 17:28:18

TensorFlow支持JAX风格函数式编程吗?

TensorFlow支持JAX风格函数式编程吗&#xff1f; 在深度学习框架的演进中&#xff0c;一个明显的趋势正在浮现&#xff1a;纯函数 变换&#xff08;transformations&#xff09; 的编程范式正逐渐成为高性能计算的核心。JAX 通过 jit、grad、vmap 和 pmap 这四大高阶函数&…

作者头像 李华
网站建设 2026/1/29 23:55:59

Lookahead Optimizer:TensorFlow优化器扩展包

Lookahead Optimizer&#xff1a;TensorFlow优化器扩展包 在深度学习的实际训练中&#xff0c;你是否遇到过这样的情况&#xff1f;模型初期收敛飞快&#xff0c;但很快陷入震荡&#xff0c;验证准确率上不去&#xff1b;或者调参时对学习率异常敏感&#xff0c;稍大就发散&…

作者头像 李华