谷歌Gemini 的api现在是免费的,功能很强大。可以在其官网简单几步操作申请到API:https://ai.google.dev/pricing
以上是一些Excel表格中的图书名称,现在要通过谷歌Gemini来批量生成这些图书的带货推广文章。
ChatGPT中输入提示词:
你是一个Python编程专家,现在要基于谷歌Gemini的API来批量生成文章,具体步骤如下:
读取Excel文件"F:\AI自媒体内容\带货\doubanAI20240607.xlsx"的“主文件名”这一列的第2行到第156行业的单元格内容,单元格里面内容为图书名,设为变量{AIbookname};
调用谷歌Gemini的API生成图书推荐文章,
google gemini 的API_KEY:XXX
模型为:gemini-pro
提示词如下【【【
# 角色
你是一个文章撰写专家,有多年图书带货文章的写作经验,根据整本图书提炼出核心观点,形成推荐文章,分享给其他有兴趣阅读的人群。现在写一篇关于图书《{AIbookname}》的推荐文章
## 技能和工作步骤,一步步的思考并完成:
### 技能 1: 联网检索图书相关信息,根据这些信息来撰写文章。
### 技能 2: 提炼图书中最吸引人的部分
- 自动分析书籍内容,提取关键章节、主题和观点。
### 技能 3: 生成爆款图书推荐文章
-按照微信公众号爆款文的文章写作风格和结构,根据搜索到的图书信息写文章,引用书中故事或案例,增加文章的兴趣度和易读性。
-一步步的思考,先列大纲,然后根据大纲来一段段的写文章,文章字数在2000 字左右;
-文章结构如下:
标题:按爆款标题写作形式
开头:以金句或案例故事,写好开头。正文:按3-4个小标题或文章论点,写好正文,可以是总分总式、并列式、递进式等方式,可以加入网络上近期的,热度高的,能引起共鸣的素材。文中可以穿插金句。
结尾:能让阅读再次传播,要精彩,升华主题,会让人忍不住转给别人看。
-偶尔俏皮幽默一下
## 限制
- 所输出的内容必须按照给定的格式进行组织,不能偏离框架要求。
- 文章字数在2000 字左右;
- 文章中不要出现“标题:”、“开头:”、“正文:”、“结尾:”这些字样,直接输出文章即可
- 文章中不需要小标题,比如:书中精华、结语、参考文献、本文引用资源
- 文章以Markdown格式输出
- 检索资料时用英文检索,输出文章时用中文输出;】】】
生成的文章以Markdown格式输出,保存到文件夹“F:\aivideo\dh”,文章的标题是{AIbookname}
注意:每一步都要输出信息到屏幕上
源代码:
import pandas as pd
import google.generativeai as genai
import os
# 配置Google Gemini API
GOOGLE_API_KEY = "XXX"
genai.configure(api_key=GOOGLE_API_KEY, transport="rest")
model = genai.GenerativeModel('gemini-1.0-pro-latest')
# 读取Excel文件中的书名
file_path = "F:\\AI自媒体内容\\带货\\doubanAI20240607.xlsx"
output_folder = "F:\\aivideo\\dh"
# 创建输出文件夹(如果不存在)
os.makedirs(output_folder, exist_ok=True)
# 读取Excel文件的书名
df = pd.read_excel(file_path, sheet_name=0, usecols=["主文件名"])
book_names = df["主文件名"][1:156].tolist() # 获取第2行到第156行的书名
# 模板提示词
prompt_template = """
你是一个文章撰写专家,有多年图书带货文章的写作经验,根据整本图书提炼出核心观点,形成推荐文章,分享给其他有兴趣阅读的人群。现在写一篇关于图书《{AIbookname}》的推荐文章。
## 技能和工作步骤,一步步的思考并完成:
### 技能 1: 联网检索图书相关信息,根据这些信息来撰写文章。
### 技能 2: 提炼图书中最吸引人的部分
- 自动分析书籍内容,提取关键章节、主题和观点。
### 技能 3: 生成爆款图书推荐文章
- 按照微信公众号爆款文的文章写作风格和结构,根据搜索到的图书信息写文章,引用书中故事或案例,增加文章的兴趣度和易读性。
- 一步步的思考,先列大纲,然后根据大纲来一段段的写文章,文章字数在2000字左右;
- 文章结构如下:
- 开头:以金句或案例故事,写好开头。
- 正文:按3-4个小标题或文章论点,写好正文,可以是总分总式、并列式、递进式等方式,可以加入网络上近期的,热度高的,能引起共鸣的素材。文中可以穿插金句。
- 结尾:能让阅读再次传播,要精彩,升华主题,会让人忍不住转给别人看。
- 偶尔俏皮幽默一下
## 限制
- 所输出的内容必须按照给定的格式进行组织,不能偏离框架要求。
- 文章字数在2000字左右;
- 文章中不要出现“标题:”、“开头:”、“正文:”、“结尾:”这些字样,直接输出文章即可
- 文章中不需要小标题,比如:书中精华、结语、参考文献、本文引用资源
- 文章以Markdown格式输出
- 检索资料时用英文检索,输出文章时用中文输出;
"""
# 生成并保存文章
for i, book_name in enumerate(book_names):
print(f"正在处理第 {i+1} 本书:{book_name}")
prompt = prompt_template.format(AIbookname=book_name)
try:
response = model.generate_content(prompt)
article_content = response.text
# 保存Markdown格式的文章
markdown_file_path = os.path.join(output_folder, f"{book_name}.md")
with open(markdown_file_path, 'w', encoding='utf-8') as file:
file.write(article_content)
# 输出当前进度
print(f"已生成并保存图书《{book_name}》的推荐文章到 {markdown_file_path}")
except Exception as e:
print(f"生成图书《{book_name}》的推荐文章时出错:{e}")
print("所有文章生成完成!")