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 在线M2W DeepShop WebTailBench
SoM代理人
SoM代理(GPT-4o-0513) - 90.6 57.7 49.1 60.4
SoM代理(o3-mini) - 79.3 55.4 49.7 52.7
SoM代理(GPT-4o) - 65.1 34.6 16.0 30.8
GLM-4.1V-9B-思考 9B 66.8 33.9 32.0 22.4
计算机使用模型
OpenAI计算机使用预览 - 70.9 42.9 24.7 25.7
UI-TARS-1.5-7B 7B 66.4 31.3 11.6 19.5
法拉-7B 7B 73.5 34.1 26.2 38.4

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

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

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

WebTailBench 详细结果

任务分段 任务 SoM GPT-4o-0513 SoM o3-mini SoM GPT-4o GLM-4.1V-9B OAI 应用程序使用 UI-TARS-1.5 法拉-7B
单点任务
购物 56 62.5 71.4 38.1 31.0 42.3 41.1 52.4
航班 51 60.1 39.2 11.1 10.5 17.6 10.5 37.9
酒店 52 68.6 56.4 31.4 19.9 26.9 35.3 53.8
餐馆 52 67.9 59.6 47.4 32.1 35.9 22.4 47.4
活动 80 70.4 62.9 41.7 26.3 30.4 9.6 36.3
票务 57 58.5 56.7 37.4 35.7 49.7 30.4 38.6
房地产 48 34.0 17.4 20.1 16.0 9.0 9.7 23.6
工作/职业生涯 50 49.3 44.0 32.7 22.7 20.7 20.7 28.0
多步骤任务
购物清单(2项) 51 66.0 62.7 17.0 7.8 34.0 20.9 49.0
比较购物 57 67.3 59.1 27.5 22.8 1.2 8.8 32.7
组成任务 55 51.5 39.4 26.7 17.0 10.3 9.1 23.0
全部的
宏观平均值 609 59.7 51.7 30.1 22.0 25.3 19.9 38.4
微观平均值 609 60.4 52.7 30.8 22.4 25.7 19.5 38.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_id和 username-它会跳过非中止的任务。

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
复制这段内容后打开迅雷,查看更方便

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐