在这篇文章中,我们将讨论如何为 Midscene.js 选择 AI 模型。所有这些配置都可以同时在浏览器插件和 SDK 中使用。
如果你想了解更多关于模型服务的配置项,请查看 配置模型和服务商。
Midscene.js 推荐使用的三种模型是 GPT-4o,Qwen2.5-VL(千问)和 UI-TARS。它们的的主要特性是:
你也可以使用其他模型,但需要按照文章中的步骤去配置。
不必在项目启动时纠结模型,直接选用身边最容易获得的模型服务即可。
在完成脚本编写并产生更具体的优化需求后,你可以再尝试比较其他模型。
GPT-4o 是 OpenAI 提供的通用 LLM 模型,支持图像输入。这是 Midscene.js 的默认模型。
我们推荐在 GPT-4o 中使用逐步指令(step-by-step)的提示词。
特性
限制
<iframe />
或 <canvas />
标签中的内容。配置
从 0.12.0 版本开始,Midscene.js 支持千问 Qwen-2.5-VL 模型。
Qwen-2.5-VL 是一个专为图像识别设计的开源模型,由阿里巴巴开发。在大多数情况下,它的表现与 GPT-4o 相当,有时甚至更好。我们推荐使用最大参数的 72B 版本。
Qwen-2.5-VL 确实有内置的操作规划(action planning)功能来控制应用程序,但我们仍然推荐开发者使用详细的提示词来驱动,以获得更稳定和可靠的结果。
特性
gpt-4o
相比,它可以节省 30% 到 50% 的 token 数量。在阿里云官方部署版本中,费用消耗可以下降 80% 以上。限制
gpt-4o
一样,它可能无法准确定位小图标。gpt-4o
。配置
除了常规配置,你还需要包含 MIDSCENE_USE_QWEN_VL=1
配置来启用 Qwen 2.5 模式。否则,它将使用默认的 gpt-4o
模式(这将使用更多的 token)。
特别注意:关于阿里云上的模型版本
虽然开源版本的 Qwen-2.5-VL (72B) 被命名为 qwen2.5-vl-72b-instruct
,但阿里云平台实际还部署了一个更稳定的增强版本,名为 qwen-vl-max-latest
。在使用后者时,输入 token 单价仅为开源版本的 19%,可以大幅缩减成本。
所以,如果你在阿里云平台使用 Qwen-2.5-VL 模型,请使用 qwen-vl-max-latest
作为模型名称。
资源
UI-TARS 是一个专为 UI 自动化设计的开源模型。它仅以截图作为输入,并执行人类常用的交互(如键盘和鼠标操作),在 10 多个 GUI 基准测试中取得了顶尖性能。UI-TARS 是一个开源模型,并提供了不同大小的版本。
我们推荐在 UI-TARS 中使用目标驱动的提示词(target-driven prompt),如“使用用户名 foo 和密码 bar 登录”,它会逐步完成动作规划并执行。
特性
.ai
中的步骤可以在 1-2 秒内完成。限制
gpt-4o
。配置
除了常规配置,你还需要包含 MIDSCENE_USE_VLM_UI_TARS=1
配置来启用 UI-TARS 模式。否则,你会遇到一些 JSON 解析错误。
资源
Midscene 也支持其他通用 LLM 模型。Midscene 会使用和 gpt-4o
模式下相同的提示词和策略来驱动这些模型。如果你想要选用其他模型,请按照以下步骤操作:
OPENAI_BASE_URL
, OPENAI_API_KEY
和 MIDSCENE_MODEL_NAME
。MIDSCENE_USE_VLM_UI_TARS
和 MIDSCENE_USE_QWEN_VL
配置,除非你知道自己在做什么。我们已知支持以下模型,它们在不同场景下可能表现各异:
claude-3-opus-20240229
gemini-1.5-pro
qwen-vl-max-latest
(千问)doubao-vision-pro-32k
(豆包)更多详情请参阅 配置模型和服务商。
通过设置 MIDSCENE_DEBUG_AI_PROFILE=1
环境变量,你可以打印模型的使用情况和响应时间。