news 2026/5/16 11:00:05

3步搞定OpenClaw对接Phi-3-vision-128k-instruct:图文识别自动化

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
3步搞定OpenClaw对接Phi-3-vision-128k-instruct:图文识别自动化

3步搞定OpenClaw对接Phi-3-vision-128k-instruct:图文识别自动化

1. 为什么选择这个组合?

上个月我在整理几百张产品截图时,突然意识到——如果能让AI自动识别图片中的文字并分类归档,至少能省下8小时手工劳动。这就是我研究OpenClaw+Phi-3-vision组合的起点。

OpenClaw作为本地化智能体框架,最大的优势是能直接操作我的电脑完成文件处理。而Phi-3-vision-128k-instruct这个多模态模型,不仅能理解图片内容,超长的128k上下文窗口特别适合处理连续截图。两者结合,正好解决我的痛点。

在星图平台发现这个预置镜像后,整个对接过程比预想的简单很多。下面分享我的实践路径,从部署到跑通第一个自动化流程,真正只需要三个关键步骤。

2. 准备工作:星图平台部署

2.1 获取模型服务地址

首先在星图镜像广场找到"Phi-3-vision-128k-instruct"镜像,点击"一键部署"。这个镜像已经用vLLM优化过推理性能,并集成了chainlit前端。

部署完成后,在实例详情页找到API服务地址,形如:

http://<你的实例IP>:8000/v1

这个地址就是后续OpenClaw要对接的模型终端。建议先复制保存到本地文本,后面配置要用。

2.2 测试模型基础能力

通过curl快速验证服务是否正常(将YOUR_IP替换为实际IP):

curl http://YOUR_IP:8000/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{ "model": "phi-3-vision-128k-instruct", "messages": [ { "role": "user", "content": "Describe this image", "image_url": "https://example.com/test.jpg" } ] }'

如果返回类似下面的结果,说明模型服务正常:

{ "choices": [{ "message": { "content": "The image shows a laptop..." } }] }

3. OpenClaw基础配置

3.1 最小化安装

我的MacBook上已经安装了Node.js环境,所以选择npm方式安装:

sudo npm install -g openclaw@latest openclaw --version # 确认版本≥0.8.0

如果遇到权限问题,可以加上--unsafe-perm参数:

sudo npm install -g openclaw@latest --unsafe-perm

3.2 关键配置修改

运行配置向导时,特别注意这几个选项:

openclaw onboard
  • Mode选择Advanced(需要自定义模型地址)
  • Provider选择Custom
  • 模型地址填写星图实例的API地址
  • 模型ID填写phi-3-vision-128k-instruct

或者直接编辑配置文件~/.openclaw/openclaw.json

{ "models": { "providers": { "xingtu-phi3": { "baseUrl": "http://你的实例IP:8000/v1", "api": "openai-completions", "models": [ { "id": "phi-3-vision-128k-instruct", "name": "Phi-3 Vision (星图部署)", "contextWindow": 131072 } ] } } } }

修改后重启网关服务:

openclaw gateway restart

4. 图文识别自动化实战

4.1 安装图像处理技能

OpenClaw默认不包含图像处理模块,需要额外安装:

clawhub install image-processor

这个技能包提供了:

  • 截图捕获(screen-capture)
  • 图片文字识别(ocr-helper)
  • 图像内容分析(vision-analyzer)

4.2 创建自动化工作流

我在桌面创建了auto_ocr.js脚本:

const { screenCapture, ocrHelper } = require('@openclaw/skills'); module.exports = async function(filePath) { // 1. 捕获屏幕区域 const screenshot = await screenCapture({ region: 'select', // 手动选择区域 output: filePath }); // 2. 调用Phi-3识别内容 const result = await ocrHelper.analyzeWithModel({ imagePath: screenshot.path, prompt: "提取图片中的所有文字,用Markdown格式返回" }); return { text: result.content, file: screenshot.path }; }

4.3 实际效果测试

通过命令行触发任务:

openclaw task run ./auto_ocr.js --output ./result.json

我测试了一张包含混合文字的产品界面截图,Phi-3成功返回了结构化内容:

## 用户登录界面 - 用户名输入框:[ ] - 密码输入框:[ ] - 记住密码 □ - 登录按钮

整个过程耗时约3秒,比传统OCR工具多了一个理解上下文结构的优势。比如它自动将复选框识别为"□"符号,而不是简单输出"Remember password"文字。

5. 我遇到的坑与解决方案

5.1 模型响应超时问题

最初测试时经常遇到30秒超时错误。后来发现是默认的网关超时设置太短。解决方法是在配置中增加:

{ "gateway": { "timeout": 120000 } }

5.2 图片路径处理

本地文件路径需要转换为base64或可访问URL才能被模型处理。推荐使用内置工具:

const { utils } = require('@openclaw/core'); const imageUrl = await utils.fileToDataURL('/path/to/image.png');

5.3 长文本截断

虽然Phi-3支持128k上下文,但单次返回仍可能被截断。我的应对策略是:

  1. 先获取图片文字概要
  2. 再针对关键区域发起细节询问
// 第一轮获取概要 const overview = await model.chat({ prompt: "简要描述这张截图的主要内容" }); // 第二轮聚焦细节 const details = await model.chat({ prompt: `根据之前的上下文,详细解释${overview.text}区域的功能` });

6. 更多可能性探索

这套组合不仅能做简单的OCR。通过组合不同技能,我还实现了:

  1. 会议纪要自动化:截取在线会议截图→提取讨论要点→生成Markdown纪要
  2. 产品反馈分析:批量处理用户反馈截图→情感分析→自动分类归档
  3. 学习笔记整理:教材拍照→提取关键公式→生成Anki记忆卡片

特别是在处理中文PDF转图片后的文字提取时,Phi-3的准确率明显高于传统OCR工具。它能保持原文的段落结构和专业术语,而不是机械地逐字识别。


获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

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

Polyglot:跨平台AI语言练习应用全面解析与使用指南

Polyglot&#xff1a;跨平台AI语言练习应用全面解析与使用指南 【免费下载链接】polyglot &#x1f916;️ Cross-platform AI language practice app &#xff08;跨平台AI语言练习应用&#xff09; 项目地址: https://gitcode.com/gh_mirrors/po/polyglot Polyglot是一…

作者头像 李华
网站建设 2026/4/9 7:27:07

使用Dify快速搭建SmolVLA应用:可视化工作流与Agent编排

使用Dify快速搭建SmolVLA应用&#xff1a;可视化工作流与Agent编排 你是不是也遇到过这样的场景&#xff1a;手里有一个很酷的多模态大模型&#xff0c;比如能看懂图片又能聊天的SmolVLA&#xff0c;但不知道怎么把它变成一个能实际用起来的应用&#xff1f;自己写代码吧&…

作者头像 李华
网站建设 2026/4/9 7:25:35

JavaScript二叉树与图算法实践:从理论到代码的完整转换指南

JavaScript二叉树与图算法实践&#xff1a;从理论到代码的完整转换指南 【免费下载链接】computer-science-in-javascript Computer science reimplemented in JavaScript 项目地址: https://gitcode.com/gh_mirrors/com/computer-science-in-javascript JavaScript数据…

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

千问3.5-2B实战:利用Typora与AI打造智能笔记系统

千问3.5-2B实战&#xff1a;利用Typora与AI打造智能笔记系统 1. 智能笔记系统的价值与痛点 在日常学习和工作中&#xff0c;我们经常面临这样的困境&#xff1a;收集了大量笔记资料&#xff0c;却难以有效组织和利用&#xff1b;记录了许多灵感想法&#xff0c;却无法快速转化…

作者头像 李华
网站建设 2026/4/9 7:23:23

Daphne自定义中间件开发:扩展服务器功能的完整教程

Daphne自定义中间件开发&#xff1a;扩展服务器功能的完整教程 【免费下载链接】daphne Django Channels HTTP/WebSocket server 项目地址: https://gitcode.com/gh_mirrors/da/daphne Daphne作为Django Channels的官方HTTP/WebSocket服务器&#xff0c;提供了强大的实时…

作者头像 李华