小餐馆营销自动化实战:Python+本地LLM把单篇文案从3小时压缩到15分钟

开餐馆最头疼的不是做菜,而是想文案。菜单介绍、Instagram 贴文、邮件标题……请人要花钱,自己写又慢。今天分享一套小餐馆营销自动化实战方案:用 Python 脚本 + 本地大模型(LLM),把单篇文案的产出时间从 3 小时压缩到 15 分钟,数据还完全私有。

1. 为什么选本地大模型

很多老板担心把菜单、价格、顾客信息发到网上。本地运行 LLM 就能解决这个痛点:

  • 数据不出户:所有信息都在自己电脑或服务器里,不上传云端。
  • 风格可控:换一行提示词,就能从“家庭温馨风”变成“文艺探店风”。
  • 结构理解强:把配料、价格、烹饪时间做成字典喂给它,能生成准确的菜单描述。

2. 搭一块“提示词模板板”(Prompt Board)

写文案不要每次都从零开始。把常用的要求拆成固定模块,像搭积木一样复用。

一套 Prompt Board 通常包括:

  • 人设口吻:例如“ friendly 家庭餐馆老板,说话热情带点幽默”。
  • SEO 关键词:例如“ Baltimore vegan brunch ”或“ DC 甜品店”。
  • 内容格式:Instagram 贴文、邮件标题、菜单描述。
  • 约束条件:字数上限、emoji 数量、结尾行动号召(CTA)。

举个例子,巴尔的摩一家叫 Ramsay’s Pizzeria 的店想推新款花椰菜披萨,提示词可以这样写:

You are a copywriter for Ramsay’s Pizzeria, a family‑friendly spot in Uptown Baltimore known for inventive vegan pies.  
Task: Write a 150‑word Instagram caption.  
Tone: Playful and slightly poetic.  
SEO: Must include “Baltimore vegan pizza” twice.  
Emoji: Use up to 3 relevant emojis.  
Ending CTA: “Reserve a slice today at ramsays.com”.

只要把餐厅名、城市、关键词抽成变量,就能批量套用。

3. 用 Python 把流程串起来

下面这段脚本使用 llama_cpp 库(用于本地运行 LLaMA 兼容模型)来加载本地大模型,并自动执行上面的提示词。

# 环境准备:pip install llama-cpp-python
import json
from llama_cpp import Llama

# 加载本地大模型(请替换成你自己的模型文件路径)
model = Llama(
    model_path="models/claude-3-200k.json",  # 指向本地 .bin 或 .q4_0 文件
    n_ctx=4096,                              # 设置上下文窗口大小
    temperature=0.7,                         # 控制生成随机性,越低越保守
    top_p=0.9,                               # 核采样参数
)

def generate_copy(prompt: str, max_tokens: int = 256) -> str:
    # 调用模型生成文案
    response = model(
        prompt=prompt,
        max_tokens=max_tokens,
        stop=["\n\n"]                        # 遇到连续两个换行符时停止生成
    )
    # 提取并返回生成的文本,同时去除首尾空白
    return response["choices"][0]["text"].strip()

# 示例数据:餐厅基本信息
restaurant = {
    "name": "Ramsay’s Pizzeria",
    "location": "Uptown Baltimore",
    "vegan_focus": True,
    "website": "ramsays.com"
}

# 组装提示词,将变量嵌入模板
prompt = f"""
You are a copywriter for {restaurant['name']}, a family‑friendly spot in {restaurant['location']} known for inventive vegan pies.
Task: Write a 150‑word Instagram caption.
Tone: Playful and slightly poetic.
SEO: Must include “Baltimore vegan pizza” twice.
Emoji: Use up to 3 relevant emojis.
Ending CTA: “Reserve a slice today at {restaurant['website']}”.
"""

# 执行生成并打印结果
caption = generate_copy(prompt)
print("Short Link:", restaurant['website'])
print("Caption:", caption)

代码做了啥?

  1. 从本地加载模型,保护隐私。
  2. 用 Python f-string 把餐厅信息动态塞进提示词。
  3. 模型返回文案后,可以直接接入你的社媒发布系统或内容管理系统(CMS)。

把脚本封装成命令行工具后,跑一趟只要 2 秒钟,一天能批量产出几十条。

4. 让菜单数据自动变“种草”文案

餐厅最值钱的素材就是菜单。别给模型甩一大段文字,而是把菜单拆成结构化数据(名字、配料、价格、烹饪时间),让它自动生成带 SEO 的描述。

# 定义菜单项数据结构
menu_item = {
    "name": "Cauliflower Pesto Pizza",
    "ingredients": ["Cauliflower crust", "Sun‑dried tomato pesto", "Fresh basil", "Pomodoro", "Vegan mozzarella"],
    "prep_time": "18 min",
    "price": "$15.99",
    "location": "Baltimore"
}

# 使用 f-string 将结构化数据注入提示词
prompt = f"""
Write a 80‑word menu description for a pizza.  
Dish: {menu_item['name']}  
Ingredients: {', '.join(menu_item['ingredients'])}  
Preparation: {menu_item['prep_time']}  
Price: {menu_item['price']}  
SEO: Include “Baltimore vegan pizza” twice.  
Keep tone adventurous.  
"""
# 调用生成函数,限制最大 token 数为 120
description = generate_copy(prompt, max_tokens=120)
print(description)

生成效果示例

“Kick‑start your night with our Cauliflower Pesto Pizza, a crispy cauliflower crust kissed by tangy sun‑dried tomato pesto, fresh basil, and velvety pomodoro. Topped with creamy vegan mozzarella, this culinary adventure pairs perfectly with a glass of house‑made sparkling water. It’s cost‑effective, nutritious, and ready in just 18 min. A must‑try Baltimore vegan pizza for the daring foodie in you.”

可以看到,模型把结构化数据、SEO 关键词和想要的口吻都融合得不错。

5. 微调出你独有的“店味”

想更进一步?可以用自己过去两年的菜单、网站文案和社媒帖子(大约 2000 词)做一遍轻量级微调:

  • 收集自家历史文案。
  • Transformers 库的 Trainer 接口,在 1 亿参数级别的小模型上微调一层。
  • 微调后还是通过 llama_cpp 本地部署。

微调后,模型会减少“AI 味”,更懂你的品牌 slang,比如分清“cheesecake”和自家招牌“cheese‑bite”的区别。

6. 实战效果:Ramsay’s Pizzeria 的转化提升

Ramsay’s Pizzeria 落地这套工作流后,数据变化很明显:

  • Instagram 平均触达率:从 12% 提升到 27%
  • 网站预订点击量:从每天 45 次涨到 78 次
  • 单篇内容从写到发:从 3 小时压缩到 15 分钟

预订量上涨,直接归功于文案里高频出现的本地 SEO 关键词(如“Baltimore vegan pizza”)和有力的行动号召。发布周期缩短后,营销团队甚至能根据季节随时换菜单,把淡季也带起来。

7. 迭代最佳实践

想让这套系统越跑越顺,建议做好下面几点:

  • 给每批文案打标签:在生成的内容里埋一个模板 ID,方便后续用 Google Analytics 分析哪种 Prompt 的点击率(CTR)更高。
  • 建一个 Prompt 日志库:用 SQLite 或 Postgres 记录“用了什么提示词、生成什么内容、曝光和点击是多少”。用数据反哺,逐步优化提示词。
  • 动态调整生成参数:如果发现文案开始“发腻”,就调一调 temperaturerepetition_penalty,换换口味。
  • 保留人工审核环节:再强的模型也可能出错,加一个“编辑+审批”的队列(比如用 SQS 驱动),确保发出的内容万无一失。

8. 总结

这套方案的核心逻辑很简单:把提示词模板化,把输入数据结构化,用 Python 脚本串成流水线。对小餐馆来说,这意味着 copywriting 从“人力瓶颈”变成了可批量复制的自动化环节。

你不需要成为机器学习专家,只要有一台能跑模型的电脑,再加上几十行 Python,就能拥有一个 7×24 小时干活的“AI 文案助理”。

如果你想直接开箱即用,省去自己搭环境的过程,可以看看这个已经搭好的工具:

直达网址:https://web-production-7885a.up.railway.app

类似文章