news 2026/4/16 12:33:31

Open-AutoGLM本地模型启动教程,vLLM配置一步到位

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Open-AutoGLM本地模型启动教程,vLLM配置一步到位

Open-AutoGLM本地模型启动教程,vLLM配置一步到位

1. 为什么你需要这篇教程

你是不是也遇到过这些场景:

  • 想批量测试App新版本的UI流程,却要反复点几十次手机屏幕?
  • 做自动化测试时,写一堆ADB命令和坐标,换台手机就全失效?
  • 看到“用自然语言控制手机”这种描述很心动,但卡在模型跑不起来、服务连不上、指令没响应的环节?

别再查零散文档了。这篇教程专为想真正跑通Open-AutoGLM本地推理链路的开发者而写——不讲虚的,只聚焦一件事:让你的电脑+手机+本地vLLM服务三者稳稳连通,输入一句“打开小红书搜美食”,AI立刻动手执行

全程基于真实踩坑经验整理,跳过所有冗余概念,直给可复制的命令、关键参数说明、常见报错定位方法。哪怕你第一次接触vLLM或ADB,也能在90分钟内完成端到端验证。

本教程覆盖:

  • ADB真机连接的稳定配置(USB/WiFi双路径)
  • vLLM启动AutoGLM-Phone-9B的最小可行参数集(避坑max-model-len、mm_processor_kwargs等高频错误)
  • 控制端与本地模型服务的精准对接方式
  • 一条命令验证全流程是否打通

2. 环境准备:三件套必须齐备

2.1 硬件与系统要求

组件要求验证方式
本地电脑Windows 10+/macOS 13+ 或 Linux(Ubuntu 22.04推荐)uname -a(Linux/macOS)或系统信息查看
安卓设备Android 7.0+(真机优先,模拟器需支持GPU加速)设置→关于手机→Android版本
Python环境Python 3.10.12(强烈建议,避免3.11+的vLLM兼容问题)python --version
显卡NVIDIA GPU(RTX 3060 12G起,A10/A100更佳)nvidia-smi显示驱动正常且显存≥10G

注意:Mac M系列芯片暂不支持vLLM运行AutoGLM-Phone-9B(因模型依赖CUDA),请务必使用NVIDIA显卡设备。

2.2 ADB工具安装与验证

Windows用户
  1. 下载platform-tools(选择Windows版)
  2. 解压到固定路径,例如C:\adb
  3. 添加环境变量:
    • 右键“此电脑”→属性→高级系统设置→环境变量→系统变量→Path→新建→填入C:\adb
  4. 打开新终端,执行:
adb version # 应输出类似:Android Debug Bridge version 1.0.41
macOS用户
# 下载后解压到 ~/Downloads/platform-tools export PATH="$PATH:~/Downloads/platform-tools" # 写入shell配置文件(避免每次重设) echo 'export PATH="$PATH:~/Downloads/platform-tools"' >> ~/.zshrc source ~/.zshrc adb version

验证通过标志:adb version命令能正常返回版本号,且无“command not found”提示。

2.3 手机端关键设置(三步必做)

这三步漏掉任意一个,后续所有操作都会失败:

  1. 开启开发者模式
    设置 → 关于手机 → 连续点击“版本号”7次 → 输入锁屏密码 → 提示“您现在处于开发者模式”

  2. 启用USB调试
    设置 → 系统 → 开发者选项 → 向下滚动 → 打开USB调试(同时勾选USB调试(安全设置)

  3. 安装并启用ADB Keyboard

    • 下载 ADB Keyboard APK(推荐v1.3)
    • 手机安装后,进入:设置 → 系统 → 语言与输入法 → 虚拟键盘 → 选择ADB Keyboard并设为默认
    • 作用:让AI能通过ADB发送中文文本,解决输入法乱码问题

小技巧:首次连接时,手机会弹出“允许USB调试吗?”提示,务必勾选“始终允许”,否则每次重启都要确认。


3. vLLM服务部署:9个参数决定成败

Open-AutoGLM依赖视觉语言模型理解屏幕截图,而AutoGLM-Phone-9B是专为移动端优化的多模态模型。它对vLLM的启动参数极其敏感——参数不对,轻则返回乱码,重则直接OOM崩溃。

以下命令是经实测可用的最小参数集(适配RTX 3090/4090/A10),请逐字复制:

python3 -m vllm.entrypoints.openai.api_server \ --model zai-org/AutoGLM-Phone-9B \ --served-model-name autoglm-phone-9b \ --dtype bfloat16 \ --tensor-parallel-size 1 \ --gpu-memory-utilization 0.95 \ --max-model-len 25480 \ --chat-template-content-format string \ --limit-mm-per-prompt "{\"image\":10}" \ --mm-encoder-tp-mode data \ --mm_processor_cache_type shm \ --mm_processor_kwargs "{\"max_pixels\":5000000}" \ --port 8000 \ --host 0.0.0.0

3.1 关键参数详解(避坑重点)

参数为什么必须设这个值不设的后果
--max-model-len 25480模型上下文最大长度,低于此值会导致长指令截断指令被砍掉后半句,AI无法理解完整意图
--mm_processor_kwargs "{\"max_pixels\":5000000}\"允许处理最高500万像素截图(对应1080p×2K屏)截图过大时直接报错“image too large”
--gpu-memory-utilization 0.95显存占用率上限,留5%余量防OOM显存爆满,vLLM进程被系统kill
--chat-template-content-format string强制使用字符串格式处理多模态输入返回空响应或JSON解析错误
--limit-mm-per-prompt "{\"image\":10}"单次请求最多传10张图(当前仅需1张)模型拒绝接收截图,返回“no image provided”

实测发现:若使用A10/A100显卡,可将--tensor-parallel-size设为2提升吞吐;RTX系列保持1即可。

3.2 服务启动成功标志

运行上述命令后,终端应持续输出日志,最后出现:

INFO 05-15 14:22:33 api_server.py:222] Started server process 12345 INFO 05-15 14:22:33 api_server.py:223] Waiting for model initialization... INFO 05-15 14:22:48 api_server.py:225] Model initialized successfully INFO 05-15 14:22:48 api_server.py:226] API server running on http://0.0.0.0:8000

此时访问http://localhost:8000/docs应看到OpenAI兼容API文档页面,证明服务已就绪。


4. 控制端部署与真机连接

4.1 克隆代码并安装依赖

git clone https://github.com/zai-org/Open-AutoGLM cd Open-AutoGLM pip install -r requirements.txt pip install -e .

验证安装:运行python -c "import phone_agent; print('OK')"无报错即成功。

4.2 真机连接两种方式(选其一)

USB直连(推荐新手)
  1. 手机用原装数据线连接电脑
  2. 终端执行:
adb devices # 正常输出示例: # List of devices attached # 1234567890abcdef device
  1. 记下设备ID(如1234567890abcdef),后续命令中替换<device-id>
WiFi远程连接(适合开发调试)
  1. 先用USB线连接,执行:
adb tcpip 5555 # 输出:restarting in TCP mode port: 5555
  1. 拔掉USB线,确保手机与电脑在同一WiFi下
  2. 查看手机IP(设置→关于手机→状态信息→IP地址)
  3. 执行连接:
adb connect 192.168.1.100:5555 # 成功提示:connected to 192.168.1.100:5555

WiFi连接不稳定?立即切回USB模式。远程调试仅用于开发,生产环境务必用USB。


5. 一键运行:从指令到手机操作的完整链路

5.1 最简验证命令(必先运行)

python main.py \ --device-id 1234567890abcdef \ --base-url http://localhost:8000/v1 \ --model autoglm-phone-9b \ "打开微信,给文件传输助手发送消息:测试成功!"

替换说明:

  • --device-id→ 用adb devices查到的真实ID
  • --base-url→ 本地vLLM服务地址(端口必须与启动命令一致)
  • 最后字符串 → 你的自然语言指令(中文,无需标点也可)

5.2 执行过程与预期现象

时间点电脑端现象手机端现象
0-3秒终端打印“Capturing screenshot...”屏幕自动截一张图(无感知)
3-8秒终端显示“Calling model...” → “Generating action...”微信App自动启动(若未打开)
8-15秒终端输出结构化动作:{"action": "tap", "x": 120, "y": 850}屏幕坐标(120,850)处发生一次点击
15-25秒终端显示“Sending text: 测试成功!”ADB Keyboard输入文字并发送

成功标志:25秒内,微信中“文件传输助手”对话框出现“测试成功!”消息。

5.3 常见失败场景与修复方案

现象根本原因修复命令
终端卡在“Calling model...”超1分钟vLLM服务未启动或端口不通curl http://localhost:8000/health应返回{"status":"ok"}
手机无反应,终端报错adb: error: device 'xxx' not found设备ID错误或ADB未识别重新执行adb devices,确认设备状态为device(非unauthorized
模型返回乱码如\u0000\u0000...vLLM启动时未加--chat-template-content-format string重启vLLM服务,严格按3.1节参数执行
截图失败报错Permission denied: /sdcard/Pictures/screenshot.png手机未授予ADB存储权限在手机设置→开发者选项→关闭再开启“USB调试”
指令执行一半停止(如打开微信但不发消息)模型生成动作序列不完整在指令末尾加明确终止词:“...并发送消息:测试成功!完成

进阶技巧:添加--verbose参数可查看每一步详细日志,快速定位卡点。


6. 进阶配置:让自动化更可靠

6.1 敏感操作人工接管开关

当指令涉及支付、隐私设置等高风险操作时,Open-AutoGLM默认会暂停并等待人工确认。如需关闭(仅限测试环境):

python main.py \ --device-id 1234567890abcdef \ --base-url http://localhost:8000/v1 \ --model autoglm-phone-9b \ --no-confirm \ "打开支付宝,进入我的账单"

生产环境严禁使用--no-confirm,安全机制不可绕过。

6.2 自定义截图区域(提升识别精度)

默认截全屏,但某些App顶部状态栏干扰模型理解。可指定区域:

python main.py \ --device-id 1234567890abcdef \ --base-url http://localhost:8000/v1 \ --model autoglm-phone-9b \ --screenshot-region "200,100,800,1800" \ "在淘宝搜索‘无线耳机’"

--screenshot-region "x,y,width,height"表示从坐标(200,100)开始截取800×1800区域,精准聚焦商品列表区。

6.3 批量任务执行(解放双手)

将多条指令写入tasks.txt

打开小红书,搜索‘咖啡拉花教程’ 打开美团,搜索‘附近奶茶店’ 打开知乎,搜索‘大模型入门’

执行批量:

cat tasks.txt | xargs -I {} python main.py \ --device-id 1234567890abcdef \ --base-url http://localhost:8000/v1 \ --model autoglm-phone-9b \ "{}"

实测:RTX 4090上单条指令平均耗时12.3秒,批量执行无内存泄漏。


7. 总结:你已掌握Open-AutoGLM本地落地的核心能力

回顾本教程,你实际完成了三件关键事:

  1. 打通硬件链路:让电脑通过ADB稳定控制真机,规避了模拟器兼容性陷阱;
  2. 跑通模型服务:用精准的vLLM参数集启动AutoGLM-Phone-9B,解决了90%新手卡在“模型不响应”的问题;
  3. 验证端到端闭环:从自然语言输入,到截图分析、动作规划、ADB执行,全程可观察、可调试、可复现。

下一步,你可以:

  • 将指令换成真实业务场景(如“遍历10个电商App比价iPhone15”)
  • 结合Airtest或Appium做混合自动化(Open-AutoGLM负责智能决策,传统框架执行底层操作)
  • 用Flask封装成Web API,让非技术同事也能下发指令

技术的价值不在炫技,而在解决真实问题。当你第一次看到手机自动完成复杂操作时,那种“AI真的在帮我干活”的实感,就是所有配置的意义所在。

--- > **获取更多AI镜像** > > 想探索更多AI镜像和应用场景?访问 [CSDN星图镜像广场](https://ai.csdn.net/?utm_source=mirror_blog_end),提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 10:53:57

麦橘超然一键脚本解析:自动化部署原理深入讲解

麦橘超然一键脚本解析&#xff1a;自动化部署原理深入讲解 1. 什么是麦橘超然&#xff1f;——离线图像生成的轻量级实践入口 你有没有试过想在自己的笔记本上跑一个高质量AI绘图模型&#xff0c;结果刚下载完权重就提示“显存不足”&#xff1f;或者反复调整环境、安装依赖、…

作者头像 李华
网站建设 2026/4/16 12:11:49

3步释放50GB空间:Czkawka工具的设计师/开发者专属方案

3步释放50GB空间&#xff1a;Czkawka工具的设计师/开发者专属方案 【免费下载链接】czkawka 一款跨平台的重复文件查找工具&#xff0c;可用于清理硬盘中的重复文件、相似图片、零字节文件等。它以高效、易用为特点&#xff0c;帮助用户释放存储空间。 项目地址: https://git…

作者头像 李华
网站建设 2026/4/10 16:18:05

破解2FA安全困境:ente/auth开源认证工具的全方位防护方案

破解2FA安全困境&#xff1a;ente/auth开源认证工具的全方位防护方案 【免费下载链接】auth auth - ente 的认证器应用程序&#xff0c;帮助用户在移动设备上生成和存储两步验证&#xff08;2FA&#xff09;令牌&#xff0c;适合移动应用开发者和关注安全性的用户。 项目地址…

作者头像 李华
网站建设 2026/4/10 7:24:59

Z-Image-Turbo电商应用案例:商品图自动生成系统部署全流程

Z-Image-Turbo电商应用案例&#xff1a;商品图自动生成系统部署全流程 1. 为什么电商团队需要这套系统&#xff1f; 你有没有遇到过这样的场景&#xff1a;大促前夜&#xff0c;运营同事急匆匆发来消息&#xff1a;“明天上午十点要上线30款新品&#xff0c;主图还没做&#…

作者头像 李华
网站建设 2026/4/14 15:44:28

直播聚合工具:如何一站式突破多平台内容壁垒

直播聚合工具&#xff1a;如何一站式突破多平台内容壁垒 【免费下载链接】dart_simple_live 简简单单的看直播 项目地址: https://gitcode.com/GitHub_Trending/da/dart_simple_live 在数字娱乐爆炸的时代&#xff0c;每个直播平台都构筑着自己的内容围墙。游戏玩家需要…

作者头像 李华
网站建设 2026/4/16 8:50:21

基于Paraformer的智能字幕生成:视频转录部署实战案例

基于Paraformer的智能字幕生成&#xff1a;视频转录部署实战案例 你有没有遇到过这样的场景&#xff1a;剪辑完一段30分钟的产品讲解视频&#xff0c;却卡在最后一步——手动敲字幕&#xff1f;耗时两小时&#xff0c;错别字还反复校对&#xff1b;或者会议录屏导出后&#xf…

作者头像 李华