王剑编程网

分享专业编程知识与实战技巧

「AI时代!效率提升!」— 手把手教你用Python打造智能文案生成器

喜欢的条友记得关注、点赞、转发、收藏,你们的支持就是我最大的动力源泉。

前期基础教程:

「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元,让您的家居环境焕然一新。采用先进导航技术,智能规划清扫路径,有效覆盖每一个角落。强力吸尘,深层清洁地毯与地板;超静音设计,不妨碍您优雅度过每一天。无论是日常打扫还是特殊清洁需求,它都能轻松应对。

这个描述突出了产品的价值和优势,包括价格、功能特点以及用户体验,旨在激发消费者的好奇心和购买欲望。


四、为什么这个程序值得学习?

  1. 高效便捷:只需几分钟,就能为大量电器生成高质量文案,极大提升工作效率。
  2. 灵活可扩展:你可以根据需要修改提示模板,生成不同领域的文案,如服装、食品等。
  3. AI赋能:利用AI技术,让文案创作变得智能化,减少人工成本。

五、结语:AI文案生成,未来已来!

通过这个案例,我们不仅学会了如何用Python和AI技术生成电器文案,还掌握了LangChain框架的基本用法。无论是电商运营、内容创作者,还是程序员,这个工具都能为你带来巨大的便利。

赶快动手试试吧!如果你有任何问题或想法,欢迎在评论区留言,我们一起探讨AI文案生成的无限可能!

喜欢的条友记得关注、点赞、转发、收藏,你们的支持就是我最大的动力源泉。

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言