手把手构建智能文案生成工具:从 API 调用到实用脚本
为什么需要智能文案生成工具
无论是电商运营、自媒体创作还是广告投放,文案都是最耗时的工作之一。一个可靠的智能文案生成工具可以帮你快速生成多版本文案草稿,节省大量重复劳动。本文将展示如何利用大语言模型(LLM)搭建一个轻量级的命令行文案生成器,支持自定义风格、长度和批量输出。
工具原理与设计思路
我们的工具基于 OpenAI 的 Chat Completion API,通过精心设计的提示词(prompt)来控制生成结果。核心流程如下:
- 用户输入产品/主题和需求(如风格、字数)
- 系统根据预设模板拼接提示词
- 调用 API 获取回复
- 解析并输出文案,可选保存到文件
这种模式可以轻松扩展:更换模型、添加多轮对话、接入知识库等。
环境准备
1. 获取 API 密钥
前往 OpenAI Platform 注册并创建 API Key。注意保管密钥,不要上传到公开仓库。
2. 安装依赖
你需要 Python 3.8+ 和 openai 库。在终端中执行:
pip install openai建议使用虚拟环境避免污染全局包。
编写核心代码
创建一个名为 copywriter.py 的文件,以下是完整实现:
import openai
import os
# 从环境变量读取密钥(更安全)
openai.api_key = os.getenv("OPENAI_API_KEY")
def generate_copy(product,, length=100):
"""生成一段营销文案"""
prompt = f"""你是一位资深广告文案,请为以下产品撰写一段{style}风格的推广文案,字数控制在{length}字左右。
产品:{product}
文案:
"""
try:
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[
{"role": "system", "content": "你是一个专业的文案撰写助手。"},
{"role": "user", "content": prompt}
],
temperature=0.8,
max_tokens=300
)
return response.choices[0].message.content.strip()
except Exception as e:
return f"生成失败:{e}"
if __name__ == "__main__":
product = input("请输入产品名称或描述:")
or "专业"
length = input("字数(默认100):") or 100
try:
length = int(length)
except:
length = 100
print("\n正在生成,请稍候...\n")
result = generate_copy(product, style, length)
print("生成的文案:\n")
print(result)
# 可选保存
with open("output.txt", "w", encoding="utf-8") as f:
f.write(result)
print("\n文案已保存至 output.txt")代码说明
- 安全设置:通过环境变量
OPENAI_API_KEY传入密钥,避免硬编码。 - 提示词模板:将用户输入的产品、风格和字数嵌入到专业提示中,引导模型输出高质量文案。
- 异常处理:捕获 API 调用错误,返回友好提示。
- 交互式输入:运行时通过命令行交互收集需求,适合单次生成。
运行与测试
在终端设置环境变量并运行脚本:
export OPENAI_API_KEY="你的密钥" # Linux/Mac
set OPENAI_API_KEY=你的密钥 # Windows CMD
$env:OPENAI_API_KEY="你的密钥" # Windows PowerShell
python copywriter.py示例交互:
请输入产品名称或描述:一款智能咖啡机,能自动研磨、定时冲泡
风格(如幽默、正式、简洁,默认专业):简洁
字数(默认100):80
正在生成,请稍候...
生成的文案:
智能咖啡机,研磨冲泡一键完成。定时预约,醒来即是醇香。极简操作,极致风味。让每个清晨都从容不迫。你可以在脚本中修改 temperature 参数控制创意度(0-1,越高越随机),或更换 model 为 gpt-4 获得更高质量(成本也更高)。
批量生成与进阶技巧
如果需要批量生成,可以将脚本改为读取 CSV 文件,循环调用函数。例如:
import csv
with open('products.csv', 'r', encoding='utf-8') as f:
reader = csv.DictReader(f)
for row in reader:
copy = generate_copy(row['name'], row.get('style', '专业'), int(row.get('length', 100)))
print(f"产品:{row['name']}\n{copy}\n---")此外,你还可以:
- 加入多语言支持:在提示词中指定目标语言。
- 添加后处理:自动去除多余空格、检查敏感词。
- 结合 Stable Diffusion 生成配图,打造完整内容生产线。
注意事项
- API 调用会产生费用,请关注 OpenAI 的定价策略。
- 生成内容可能带有偏见或事实错误,发布前务必人工审核。
- 遵守平台使用政策,不得用于生成违法或欺骗性内容。
通过这个简单的工具,你可以快速将想法转化为文案,大幅提升内容生产效率。希望这篇教程能为你打开自动化创作的大门。