news 2026/4/3 7:26:22

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/2 11:02:10

Docker镜像怎么用?cv_resnet18_ocr-detection容器化部署

Docker镜像怎么用&#xff1f;cv_resnet18_ocr-detection容器化部署 你是不是也遇到过这样的问题&#xff1a;好不容易找到一个好用的OCR文字检测模型&#xff0c;结果在本地环境跑不起来&#xff1f;依赖冲突、CUDA版本不匹配、Python包版本打架……折腾半天&#xff0c;连We…

作者头像 李华
网站建设 2026/3/30 21:39:35

高效获取教育资源:零基础也能掌握的电子课本保存指南

高效获取教育资源&#xff1a;零基础也能掌握的电子课本保存指南 【免费下载链接】tchMaterial-parser 国家中小学智慧教育平台 电子课本下载工具 项目地址: https://gitcode.com/GitHub_Trending/tc/tchMaterial-parser 你是否遇到过这些场景&#xff1f;课堂上老师推荐…

作者头像 李华
网站建设 2026/4/1 17:50:01

Qwen-Edit-2509:革新性全景视角生成技术探索指南

Qwen-Edit-2509&#xff1a;革新性全景视角生成技术探索指南 【免费下载链接】Qwen-Edit-2509-Multiple-angles 项目地址: https://ai.gitcode.com/hf_mirrors/dx8152/Qwen-Edit-2509-Multiple-angles 解码视角生成的技术内核 Qwen-Edit-2509-Multiple-angles作为基于…

作者头像 李华
网站建设 2026/3/10 22:12:00

集成运放选型与Multisim仿真电路图匹配新手教程

以下是对您提供的博文内容进行 深度润色与工程级重构后的版本 。整体风格已全面转向 真实工程师口吻的技术分享 &#xff1a;去除了所有AI腔调、模板化结构和空泛表述&#xff1b;强化了实战细节、调试心法、踩坑经验与设计权衡逻辑&#xff1b;语言更紧凑有力&#xff0c;…

作者头像 李华
网站建设 2026/3/9 23:59:52

FSMN-VAD极速部署:预装镜像10分钟上线服务

FSMN-VAD极速部署&#xff1a;预装镜像10分钟上线服务 你是否还在为语音识别前的静音剔除发愁&#xff1f;手动切分长音频耗时费力&#xff0c;实时录音又总被环境噪音干扰&#xff1f;今天要介绍的这个工具&#xff0c;不用写一行训练代码、不依赖GPU服务器、甚至不需要配置P…

作者头像 李华
网站建设 2026/4/3 5:01:22

Z-Image-Turbo性能优化:让生成速度再快一点

Z-Image-Turbo性能优化&#xff1a;让生成速度再快一点 在本地部署文生图模型时&#xff0c;你是否经历过这样的等待&#xff1a;输入提示词后盯着进度条数秒、显存占用飙升、生成一张10241024图要等3秒以上、批量任务排队卡顿&#xff1f;更糟的是&#xff0c;明明硬件够强&a…

作者头像 李华