OpenClaw+Phi-3-vision-128k-instruct实战:电商产品图自动生成描述文案

1. 为什么选择这个技术组合

去年双十一前,我负责的电商项目需要为300多款新品生成营销文案。传统做法是设计师导出图片后,由文案组手动撰写描述,平均每款产品耗时20分钟。当我发现OpenClaw可以操控本地文件系统,而Phi-3-vision能理解图像内容时,突然意识到:这两者结合不就是自动化解决方案吗?

经过两周的调试,最终实现了图片上传→AI分析→文案生成→文件保存的全自动流水线。最让我惊喜的是,这个方案不需要复杂的企业级系统,用个人笔记本就能跑通完整流程。下面分享具体实现过程,包括几个关键转折点的技术决策。

2. 环境准备与模型部署

2.1 基础组件安装

首先通过星图平台获取Phi-3-vision-128k-instruct镜像。这个预置镜像已经配置好vLLM推理引擎和Chainlit前端,省去了手动部署的麻烦:

# 拉取镜像(假设已配置星图CLI)
xingtu pull phi-3-vision-128k-instruct

OpenClaw的安装采用官方推荐的一键脚本。特别提醒:如果之前安装过旧版本,建议先彻底卸载:

# 清理旧版本
sudo npm uninstall -g openclaw
sudo rm -rf ~/.openclaw

# 全新安装
curl -fsSL https://openclaw.ai/install.sh | bash

2.2 模型连接配置

关键步骤是在~/.openclaw/openclaw.json中建立与Phi-3的连接。由于模型部署在本地Docker容器,需要特别注意端口映射:

{
  "models": {
    "providers": {
      "phi3-vision": {
        "baseUrl": "http://localhost:8000/v1",
        "apiKey": "no-key-required",
        "api": "openai-completions",
        "models": [
          {
            "id": "phi-3-vision-128k-instruct",
            "name": "Phi-3 Vision Local",
            "contextWindow": 128000
          }
        ]
      }
    }
  }
}

这里遇到第一个坑:Chainlit默认使用8000端口,而vLLM的OpenAI兼容接口需要挂载到/v1路径。如果直接访问http://localhost:8000会返回404错误。

3. 核心自动化流程搭建

3.1 工作区目录设计

在OpenClaw工作区建立标准化目录结构:

~/openclaw_workspace/
├── input_images/    # 待处理图片
├── output_md/       # 生成文案
└── processing/      # 临时处理区

通过openclaw.config.json声明路径映射,后续技能可以直接引用这些常量:

{
  "workspace": {
    "paths": {
      "image_input": "~/openclaw_workspace/input_images",
      "text_output": "~/openclaw_workspace/output_md" 
    }
  }
}

3.2 图像处理技能开发

编写自定义Skill的关键代码如下(JavaScript示例):

const fs = require('fs');
const path = require('path');
const { OpenClaw } = require('openclaw-sdk');

module.exports = {
  name: 'product_desc_generator',
  actions: {
    async generateFromImage(imagePath) {
      // 读取图片并转为base64
      const imageData = fs.readFileSync(imagePath).toString('base64');
      
      // 构造多模态prompt
      const prompt = [
        {
          role: "user",
          content: [
            { type: "text", text: "你是一名专业电商文案,请用中文为这张产品图生成:1.标题(20字内)2.核心卖点(3条)3.详细描述(100字左右)" },
            { type: "image_url", image_url: `data:image/jpeg;base64,${imageData}` }
          ]
        }
      ];

      // 调用Phi-3-vision
      const response = await OpenClaw.models.chatCompletion({
        model: "phi-3-vision-128k-instruct",
        messages: prompt,
        max_tokens: 1024
      });

      return response.choices[0].message.content;
    }
  }
};

4. 实战效果与调优经验

4.1 典型输出示例

上传一款蓝牙耳机的产品图后,生成的Markdown文案如下:

# 极简主义真无线耳机

**核心卖点:**
- 40小时超长续航,支持快充15分钟使用4小时
- 蓝牙5.3技术,10米稳定连接无卡顿
- 半入耳设计,单耳仅重3.8克

**产品描述:**  
这款真无线耳机采用符合人体工学的半入耳结构,长时间佩戴也不会产生压迫感。内置13mm动态驱动单元,配合专业声学调校,带来层次分明的音质表现。触控区域支持播放/暂停、切歌、唤醒语音助手等操作,IPX4级防水设计无惧汗水雨水。随附三种尺寸耳塞,满足不同用户需求。

4.2 效果提升关键点

  1. Prompt工程:初期直接让模型"描述这张图片",结果生成的都是客观特征说明(如"白色塑料材质")。后来改为明确角色设定(专业电商文案)和结构化输出要求,质量显著提升。

  2. 图像预处理:发现模型对产品主体占比小的图片识别不准。增加OpenCV自动裁剪环节,确保产品占据画面60%以上面积。

  3. 错误重试机制:在Skill中添加自动重试逻辑,当返回内容不符合Markdown格式时自动重新生成,最多尝试3次。

5. 完整工作流演示

现在展示从图片上传到最终文案的完整过程:

  1. 将产品图拖拽到~/openclaw_workspace/input_images目录
  2. 在OpenClaw Web控制台输入指令:
    对input_images目录下的新品图片生成电商文案
    
  3. 系统自动执行:
    • 扫描输入目录
    • 调用Phi-3-vision分析每张图片
    • 将生成文案保存到output_md目录
    • 在控制台返回任务摘要

实测处理单张图片平均耗时约12秒(MacBook Pro M1 Pro机型),其中模型推理占80%时间。对于批处理场景,可以通过并行调用显著提升效率。

6. 安全使用建议

由于方案涉及图像数据处理,需要特别注意:

  1. 隐私保护:在工作区配置中排除含敏感信息的目录(如~/Downloads
  2. 人工审核:所有AI生成内容必须添加[AI生成]标记,发布前需人工复核
  3. 版本控制:建议将output_md目录纳入git管理,方便追踪修改记录

这套方案目前已经稳定运行三个月,累计生成文案1700余条。最大的收获不是效率提升(虽然确实节省了80%时间),而是发现AI常常能提出人类想不到的产品视角——比如把普通保温杯的"双层结构"描述成"温度保护舱",这种文案反而获得了更好的点击率。


获取更多AI镜像

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

更多推荐