前言
做跨境电商的朋友都知道,Listing优化是个反复打磨的苦活。一个产品要写英文标题、5点描述、后台关键词,还要翻译成西班牙语、德语、法语——外包给人写一套几百块,自己写又耗时间。
最近Qwen3-8B开源了,8B参数量在本地跑毫无压力,生成质量对于电商文案场景完全够用。我花了两天搭了一套自动生成系统,分享一下思路和核心代码。
技术栈
- Ollama — 本地模型运行时,一行命令拉模型
- Qwen3-8B — 通义千问开源模型,中英双语能力强
- Python — 胶水语言,调API + 生成文档
- python-docx — 生成格式化的Word交付文档
第一步:部署Qwen3-8B
```bash
安装Ollama(Windows/Mac/Linux都支持)
官网: ollama.com
拉取Qwen3-8B模型(约5GB)
ollama run qwen3-8b ```
跑起来后,本地会开一个API服务在 `localhost:11434`,和OpenAI的API格式兼容。
第二步:设计Prompt
电商文案生成的关键不是模型多强,而是Prompt设计得多细。直接说"帮我写个标题",出来的东西没法用。
我的做法是结构化约束输出——明确告诉模型输出JSON格式,每个字段有字数限制和规则:
```python prompt = f"""You are an expert e-commerce listing copywriter.
Product: {product} Category: {category} Description: {description}
Output ONLY valid JSON: {{ "english_title": "SEO-optimized, max 200 chars, high-volume keywords first", "bullet_points": ["BENEFIT IN CAPS: detail...", ...5 items], "backend_keywords": ["long-tail-kw1", ...10 items, no duplicates from title], "spanish_title": "native quality translation", "german_title": "native quality translation", "french_title": "native quality translation", "short_description": "2-3 sentence SEO summary" }}
Rules:
- Title: keywords first, natural reading flow
- Bullets: CAPS benefit opener, then proof/detail
- Backend keywords: only terms NOT in title
- Translations: native speaker quality""" ```
几个关键设计点:
- 强制JSON输出 — 方便程序解析,不需要人工整理
- 每个字段有明确规则 — 模型不会自由发挥跑偏
- 后台关键词去重 — 明确说"不要和标题重复",避免浪费
- 翻译要求native quality — 不是机翻,是本地化
第三步:调用与解析
```python import requests, json, re
def call_qwen(prompt): resp = requests.post("http://localhost:11434/api/generate", json={ "model": "qwen3-8b", "prompt": prompt, "stream": False, "options": {"temperature": 0.6, "num_predict": 4096}, }, timeout=600) text = resp.json().get("response", "") # Qwen3有思考标签,需要去掉 text = re.sub(r'.*?', '', text, flags=re.DOTALL).strip() return text
def extract_json(raw): """从模型输出中提取JSON,容错处理""" m = re.search(r'{[\s\S]*}', raw) if m: return json.loads(m.group()) return json.loads(raw) ```
注意两个细节:
- timeout=600 — 8B模型在CPU上生成4K token可能要5-10分钟,别用默认超时
- 去掉think标签 — Qwen3会输出思考过程,需要正则清理
第四步:生成Word文档
```python from docx import Document from docx.shared import Pt, RGBColor
doc = Document() doc.add_heading('Product Listing Report', level=0) doc.add_heading('Optimized Title', level=1) doc.add_paragraph(data['english_title'])
doc.add_heading('Key Features (5 Bullets)', level=1) for b in data['bullet_points']: doc.add_paragraph(b, style='List Bullet')
多语言标题用表格展示
table = doc.add_table(rows=1, cols=2) table.style = 'Table Grid' for lang, key in [('Spanish','spanish_title'), ('German','german_title'), ('French','french_title')]: row = table.add_row().cells row[0].text = lang row[1].text = data[key]
doc.save(f"listing_{product}.docx") ```
生成的Word文档直接可以发给客户,格式清晰专业。
实际效果
我用这套系统跑了几个品类的测试:
蓝牙耳机
Ultra-Thin Wireless Bluetooth Earbuds with Active Noise Cancellation - 40H Battery Life, IPX5 Waterproof, Touch Control, USB-C Fast Charging, Premium Sound Quality for iPhone & Android
瑜伽垫
Extra Thick Non-Slip Yoga Mat 72"x24" with Alignment Lines - Eco-Friendly TPE, Double-Sided Texture, Free Carrying Strap, Perfect for Home Gym Pilates Fitness (6mm)
标题关键词自然、卖点突出、没有堆砌感。Bullet Points每条以大写利益点开头,后台关键词和标题完全不重复。
中文电商文案也能做
同样的思路,换个Prompt就能生成淘宝/拼多多的文案:
```python prompt = f"""你是资深电商文案专家。 商品:{product} 类目:{category} 卖点:{selling_points} 输出JSON: {{ "main_title": "主标题30字以内", "sub_title": "副标题15字以内", "main_image_copy": ["主图文案1(8字内)", ...5条], "detail_first_screen": "详情页首屏3-5句", "search_keywords": ["关键词1", ...8个] }}""" ```
总结
本地大模型做电商文案生成,核心在于:
- Prompt结构化,约束输出格式
- 容错解析,模型输出不一定完美
- 自动化文档生成,减少人工排版
整套系统零API费用,一台普通电脑就能跑。
如果你懒得自己搭,或者需要更专业的优化(我们会人工审核每份文案),可以看看我们团队的服务:
24小时交付,3个真实样例可以免费看。有问题评论区聊。