喜欢的条友记得关注、点赞、转发、收藏,你们的支持就是我最大的动力源泉。
前期基础教程:
「Python3.11.0」手把手教你安装最新版Python运行环境
讲讲Python环境使用Pip命令快速下载各类库的方法
Python启航:30天编程速成之旅(第2天)-IDE安装
【Python教程】JupyterLab 开发环境安装
引言:AI时代,文案创作也可以如此高效!
在当今快节奏的商业环境中,文案创作是每个品牌不可或缺的一部分。无论是电商平台、社交媒体,还是线下广告,吸引人的文案往往能直接决定产品的销量。然而,传统的文案创作耗时耗力,尤其是面对大量产品时,如何快速生成高质量的文案成为了一个难题。
今天,我将带你用Python和AI技术,打造一个智能电器文案生成器,只需10分钟,就能为各类电器生成专业、吸引人的文案!无论你是程序员、电商运营,还是文案小白,这篇文章都能让你轻松上手,成为文案生成的高手!
一、案例背景:电器文案生成器的需求
假设你是一家电器商城的运营人员,每天需要为数十款电器撰写产品描述。手动撰写不仅效率低下,还容易陷入创意枯竭。这时,AI技术就能派上用场!我们可以利用Python中的LangChain框架和Ollama模型,快速生成电器文案,并自动保存结果,方便后续使用。
二、程序实现:手把手教你写代码
1. 导入必要的库
首先,我们需要导入一些Python库,包括LangChain中的提示模板、聊天模型,以及结构化输出解析器。这些工具将帮助我们生成和解析AI模型的输出。
# 导入LangChain中的提示模板
from langchain.prompts import PromptTemplate
from langchain_ollama import ChatOllama
# 导入结构化输出解析器和ResponseSchema
from langchain.output_parsers import StructuredOutputParser, ResponseSchema
2. 创建提示模板
接下来,我们定义一个提示模板,告诉AI模型我们需要什么样的文案。这里我们以电器为例,要求AI为不同电器生成吸引人的描述,并解释为什么这样写。
# 创建提示模板
prompt_template = """您是一位专业的电器商城文案撰写员。
对于售价为 {price} 元的 {appliance_name} ,您能提供一个吸引人的简短描述吗?
{format_instructions}"""
3. 创建模型实例
我们使用Ollama模型来生成文案。Ollama是一个强大的语言模型,能够根据提示生成高质量的文本。
# 创建模型实例
model = ChatOllama(model='qwen2.5')
4. 定义响应模式
为了让AI的输出更加结构化,我们定义了两个响应模式:description(电器描述)和reason(文案创作的原因)。
# 定义我们想要接收的响应模式
response_schemas = [
ResponseSchema(name="description", description="电器的描述文案"),
ResponseSchema(name="reason", description="为什么要这样写这个文案"),
]
# 创建输出解析器
output_parser = StructuredOutputParser.from_response_schemas(response_schemas)
5. 获取格式指示
为了让AI知道如何格式化输出,我们使用get_format_instructions方法生成格式指示,并将其加入提示模板中。
# 获取格式指示
format_instructions = output_parser.get_format_instructions()
# 根据模板创建提示,同时在提示中加入输出解析器的说明
prompt = PromptTemplate.from_template(
prompt_template, partial_variables={"format_instructions": format_instructions}
)
6. 数据准备
我们准备了一些电器名称和价格,作为AI生成文案的输入数据。
# 数据准备
appliances = ["智能冰箱", "空气净化器", "扫地机器人"]
prices = ["5000", "2000", "3000"]
7. 创建DataFrame存储结果
为了方便保存和查看结果,我们使用Pandas库创建一个DataFrame,用于存储生成的文案。
# 创建一个空的DataFrame用于存储结果
import pandas as pd
df = pd.DataFrame(columns=["appliance", "price", "description", "reason"]) # 先声明列名
8. 循环生成文案
我们遍历电器列表,调用AI模型生成文案,并将结果保存到DataFrame中。
for appliance, price in zip(appliances, prices):
# 根据提示准备模型的输入
input = prompt.format(appliance_name=appliance, price=price)
# 获取模型的输出
output = model.invoke(input)
# 解析模型的输出(这是一个字典结构)
parsed_output = output_parser.parse(output.content)
# 在解析后的输出中添加“appliance”和“price”
parsed_output["appliance"] = appliance
parsed_output["price"] = price
# 将解析后的输出添加到DataFrame中
df.loc[len(df)] = parsed_output
9. 打印并保存结果
最后,我们将生成的文案打印出来,并保存到CSV文件中,方便后续使用。
# 打印字典
print(df.to_dict(orient="records"))
# 保存DataFrame到CSV文件
df.to_csv("appliances_with_descriptions.csv", index=False)
10.完整程序
# 导入LangChain中的提示模板
from langchain.prompts import PromptTemplate
from langchain_ollama import ChatOllama
# 导入结构化输出解析器和ResponseSchema
from langchain.output_parsers import StructuredOutputParser, ResponseSchema
# 创建提示模板
prompt_template = """您是一位专业的电器商城文案撰写员。
对于售价为 {price} 元的 {appliance_name} ,您能提供一个吸引人的简短描述吗?
{format_instructions}"""
# 创建模型实例
model = ChatOllama(model='qwen2.5')
# 定义我们想要接收的响应模式
response_schemas = [
ResponseSchema(name="description", description="电器的描述文案"),
ResponseSchema(name="reason", description="为什么要这样写这个文案"),
]
# 创建输出解析器
output_parser = StructuredOutputParser.from_response_schemas(response_schemas)
# 获取格式指示
format_instructions = output_parser.get_format_instructions()
# 根据模板创建提示,同时在提示中加入输出解析器的说明
prompt = PromptTemplate.from_template(
prompt_template, partial_variables={"format_instructions": format_instructions}
)
# 数据准备
appliances = ["智能冰箱", "空气净化器", "扫地机器人"]
prices = ["5000", "2000", "3000"]
# 创建一个空的DataFrame用于存储结果
import pandas as pd
df = pd.DataFrame(columns=["appliance", "price", "description", "reason"]) # 先声明列名
for appliance, price in zip(appliances, prices):
# 根据提示准备模型的输入
input = prompt.format(appliance_name=appliance, price=price)
# 获取模型的输出
output = model.invoke(input)
# 解析模型的输出(这是一个字典结构)
parsed_output = output_parser.parse(output.content)
# 在解析后的输出中添加“appliance”和“price”
parsed_output["appliance"] = appliance
parsed_output["price"] = price
# 将解析后的输出添加到DataFrame中
df.loc[len(df)] = parsed_output
# 打印字典
print(df.to_dict(orient="records"))
# 保存DataFrame到CSV文件
df.to_csv("appliances_with_descriptions.csv", index=False)
三、程序运行结果
运行上述代码后,你将得到一个包含电器名称、价格、描述文案和创作原因的CSV文件。例如:
程序运行结果:
appliances_with_descriptions.csv文件内容:
appliance | price | description | reason |
智能冰箱 | 5000 | 享受智能生活,从一台5000元的智能冰箱开始。它不仅拥有超大容量和保鲜技术,更内置最新人工智能系统,让您的食物管理更加轻松便捷。无论是远程控制还是个性化设置,一切尽在掌握之中。 | 此描述突出了智能冰箱的核心卖点,如高性价比、智能化操作等,旨在吸引对智能家电感兴趣的消费者,提升产品吸引力。 |
空气净化器 | 2000 | 净化每一寸空气,2000元享受清新生活!采用高效HEPA滤网,有效过滤99.97%微粒物。智能感应技术,自动调节工作模式,节能环保。适合家庭、办公室等多场景使用,为家人打造健康呼吸环境。 | 该描述突出了空气净化器的核心功能和优势,并结合了消费者的实际需求和心理预期,旨在吸引消费者关注并促进购买欲望。 |
扫地机器人 | 3000 | 一键清扫,轻松享受洁净生活!3000元,让您的家居环境焕然一新。采用先进导航技术,智能规划清扫路径,有效覆盖每一个角落。强力吸尘,深层清洁地毯与地板;超静音设计,不妨碍您优雅度过每一天。无论是日常打扫还是特殊清洁需求,它都能轻松应对。 | 这个描述突出了产品的价值和优势,包括价格、功能特点以及用户体验,旨在激发消费者的好奇心和购买欲望。 |
四、为什么这个程序值得学习?
- 高效便捷:只需几分钟,就能为大量电器生成高质量文案,极大提升工作效率。
- 灵活可扩展:你可以根据需要修改提示模板,生成不同领域的文案,如服装、食品等。
- AI赋能:利用AI技术,让文案创作变得智能化,减少人工成本。
五、结语:AI文案生成,未来已来!
通过这个案例,我们不仅学会了如何用Python和AI技术生成电器文案,还掌握了LangChain框架的基本用法。无论是电商运营、内容创作者,还是程序员,这个工具都能为你带来巨大的便利。
赶快动手试试吧!如果你有任何问题或想法,欢迎在评论区留言,我们一起探讨AI文案生成的无限可能!
喜欢的条友记得关注、点赞、转发、收藏,你们的支持就是我最大的动力源泉。