【PythonAI】4.2.2 技能实训:利用AI生成求职简历、实习报告、活动策划案
·
# deepseek_whiter.py
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
AI文案生成助手 - 校园活动宣传版(DeepSeek版)
基于DeepSeek API开发
"""
import requests
import json
from datetime import datetime
from typing import Optional, List, Dict, Any
class DeepSeekCopywriter:
def __init__(self, api_key: str, model: str = "deepseek-chat"):
"""
初始化DeepSeek文案助手
Args:
api_key: DeepSeek API密钥
model: 模型名称,可选 deepseek-chat 或 deepseek-reasoner
"""
self.api_key = api_key
self.model = model
self.base_url = "https://api.deepseek.com"
self.headers = {
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json"
}
# 记录使用统计
self.total_tokens = 0
self.total_requests = 0
def generate(self, prompt: str, temperature: float = 0.7, max_tokens: int = 2000) -> str:
"""
生成文案的核心方法
Args:
prompt: 提示词
temperature: 温度参数(0-1),越高越有创造性
max_tokens: 最大输出token数
Returns:
str: 生成的文案内容
"""
payload = {
"model": self.model,
"messages": [
{"role": "system", "content": "你是一位专业的文案创作专家,擅长校园活动策划、文案撰写,语言风格亲切自然、富有感染力。"},
{"role": "user", "content": prompt}
],
"temperature": temperature,
"max_tokens": max_tokens,
"stream": False
}
try:
response = requests.post(
f"{self.base_url}/chat/completions",
headers=self.headers,
json=payload,
timeout=60
)
response.raise_for_status()
result = response.json()
# 统计token使用量
if 'usage' in result:
self.total_tokens += result['usage']['total_tokens']
self.total_requests += 1
return result['choices'][0]['message']['content']
except requests.exceptions.RequestException as e:
return f"网络请求失败: {str(e)}"
except KeyError as e:
return f"解析响应失败: {str(e)}"
except Exception as e:
return f"生成失败: {str(e)}"
def generate_poster_slogan(self, theme: str, keywords: str, count: int = 5) -> str:
"""生成海报标语"""
prompt = f"""
【角色】你是一位资深校园活动策划专家,擅长创作有感染力的活动标语。
【任务】为"{theme}"活动创作{count}条宣传标语。
【要求】
- 每条标语15-25字
- 语言凝练有力,朗朗上口
- 必须体现"{keywords}"的核心元素
- 适合印刷在海报上
- 风格要贴近当代大学生审美
【输出格式】
直接列出{count}条标语,编号1-{count},不要有其他说明。
"""
return self.generate(prompt, temperature=0.8, max_tokens=500)
def generate_wechat_article(self, title: str, activity_info: str, style: str = "活泼") -> str:
"""生成微信公众号文章"""
prompt = f"""
【角色】你是高校团委新媒体运营专家,熟悉大学生阅读偏好和网络流行语。
【任务】撰写一篇微信公众号推文,标题为"{title}"。
【活动信息】
{activity_info}
【风格要求】
- 整体风格:{style}
- 使用emoji增加可读性和趣味性
- 包含3-4个小标题
- 字数:800-1000字
- 结尾要有互动引导(留言、转发、报名)
- 适当使用网络流行语,但要适度
【结构要求】
1. 吸引人的开头(故事/场景/问题引入)
2. 活动亮点介绍(分点阐述,每点配emoji)
3. 参与方式说明(清晰明了)
4. 结尾升华主题+互动引导
【注意事项】
- 避免使用过于官方的语言
- 多用"你"、"我们"等亲切称呼
- 适当使用疑问句增加互动感
【输出】直接输出正文内容,不需要markdown格式。
"""
return self.generate(prompt, temperature=0.7, max_tokens=2500)
def generate_invitation(self, event_name: str, time_location: str, honoree: str) -> str:
"""生成邀请函"""
prompt = f"""
【角色】你是一位具有人文素养的文案撰稿人,擅长正式但不失温度的邀请文字。
【任务】为"{event_name}"写一封邀请函。
【信息】
- 受邀人:{honoree}
- 时间地点:{time_location}
【要求】
- 格式规范(称谓、正文、落款、日期)
- 语言典雅得体,体现尊重
- 体现活动的意义和价值
- 字数300-400字
- 结尾要表达诚挚期待
【输出】完整的邀请函文本。
"""
return self.generate(prompt, temperature=0.6, max_tokens=1000)
def generate_host_script(self, event_theme: str, segments: str) -> str:
"""生成主持稿"""
prompt = f"""
【角色】你是校园晚会资深主持人,风格亲切自然,擅长控场和互动。
【任务】为"{event_theme}"撰写主持稿开场白和串场词。
【环节设置】
{segments}
【要求】
- 开场白:150-200字,要有气势,能调动气氛
- 每个环节串场:50-80字,自然过渡
- 语言口语化,适合口头表达
- 适当加入互动话术(如:"大家说好不好?"、"掌声在哪里?")
- 串场词要体现环节之间的逻辑联系
【输出格式】
【开场白】
(具体内容)
【环节串场】
1. (第一个环节串场词)
2. (第二个环节串场词)
...
【结束语】
(结束语内容)
"""
return self.generate(prompt, temperature=0.8, max_tokens=1500)
def generate_press_release(self, event_name: str, highlights: List[str], date: str) -> str:
"""生成新闻稿"""
prompt = f"""
【角色】你是校园记者站的主编,擅长撰写正式的校园新闻稿。
【任务】为"{event_name}"撰写一篇新闻通稿。
【基本信息】
- 活动时间:{date}
- 活动亮点:{', '.join(highlights)}
【要求】
- 字数:500-600字
- 采用倒金字塔结构(最重要的信息在前)
- 包含:标题、导语、主体、结语
- 语言正式、客观、准确
- 体现活动的意义和影响
【输出】完整的新闻稿。
"""
return self.generate(prompt, temperature=0.5, max_tokens=1500)
def generate_social_media(self, event_name: str, activity_content: str, platform: str = "小红书") -> str:
"""生成社交媒体文案"""
prompt = f"""
【角色】你是校园社交媒体运营专员,熟悉各大平台的内容风格。
【任务】为"{event_name}"生成适合{platform}平台发布的文案。
【活动内容】
{activity_content}
【平台特点】
- 小红书:图文并茂,多用emoji,强调个人体验和种草
- 微博:短平快,话题标签,互动性强
- 抖音:节奏快,视觉冲击,简短有力
【要求】
- 符合{platform}平台风格
- 包含相关话题标签
- 有吸引力的开头
- 引导用户互动
【输出】直接输出文案内容。
"""
return self.generate(prompt, temperature=0.9, max_tokens=500)
def get_usage_stats(self) -> Dict[str, Any]:
"""获取使用统计"""
return {
"total_requests": self.total_requests,
"total_tokens": self.total_tokens,
"estimated_cost": f"约 ¥{self.total_tokens * 0.0000002:.4f}" # 粗略估算
}
# 增强版:民族团结活动文案包生成器
class EthnicUnityCampaign:
def __init__(self, api_key: str, model: str = "deepseek-chat"):
self.writer = DeepSeekCopywriter(api_key, model)
def generate_full_package(self) -> Dict[str, str]:
"""生成全套活动文案"""
print("🎯 开始生成'民族团结一家亲'活动文案包...")
print("=" * 60)
package = {}
# 1. 海报标语
print("\n📌 生成海报标语...")
package["slogans"] = self.writer.generate_poster_slogan(
theme="民族团结一家亲联谊活动",
keywords="民族团结、文化交流、青年联谊",
count=5
)
print(package["slogans"])
# 2. 公众号推文
print("\n📱 生成微信公众号推文...")
package["wechat_article"] = self.writer.generate_wechat_article(
title="🎉 周末有约!民族团结一家亲,我们不见不散!",
activity_info="""
时间:2024年4月20日 14:00-17:00
地点:学校大学生活动中心
内容:
• 中华民族传统歌舞表演
• 美食分享(自制特色小吃)
• 互动游戏(法律知识竞猜、趣味运动)
• 结对交友(结对学生互动)
主办单位:校团委、学生会
参与对象:全校师生
""",
style="活泼温暖"
)
print(f"✅ 推文已生成,字数:{len(package['wechat_article'])}字")
# 3. 邀请函
print("\n💌 生成嘉宾邀请函...")
package["invitation"] = self.writer.generate_invitation(
event_name="民族团结一家亲联谊活动",
time_location="2024年4月20日(周六)14:00,学校大学生活动中心多功能厅",
honoree="各学院学生代表"
)
print(package["invitation"])
# 4. 主持稿
print("\n🎤 生成主持稿...")
package["host_script"] = self.writer.generate_host_script(
event_theme="民族团结一家亲",
segments="""
1. 开场舞《多彩中华》(中华民族传统舞蹈串烧)
2. 领导致辞(校党委副书记)
3. "结对子"仪式(各族学生代表结对)
4. 美食分享环节(介绍特色美食)
5. 互动游戏(法律知识竞猜)
6. 合唱《爱我中华》
"""
)
print(f"✅ 主持稿已生成")
# 5. 新闻稿(新增)
print("\n📰 生成新闻稿...")
package["press_release"] = self.writer.generate_press_release(
event_name="民族团结一家亲联谊活动",
highlights=["中华民族传统歌舞表演", "传统美食品鉴", "结对交友", "互动游戏"],
date="2024年4月20日"
)
# 6. 社交媒体文案(新增)
print("\n📱 生成社交媒体文案...")
package["social_media"] = self.writer.generate_social_media(
event_name="民族团结一家亲活动",
activity_content="中华民族传统歌舞表演、美食分享、互动游戏、结对交友",
platform="小红书"
)
return package
def save_to_file(self, package: Dict[str, str], filename: str = "民族团结活动文案包.txt"):
"""保存文案到文件"""
output = f"""
{'='*60}
民族团结一家亲活动文案包
生成时间:{datetime.now().strftime('%Y-%m-%d %H:%M:%S')}
使用模型:{self.writer.model}
{'='*60}
【一、海报标语】
{package['slogans']}
【二、微信公众号推文】
{package['wechat_article']}
【三、邀请函】
{package['invitation']}
【四、主持稿】
{package['host_script']}
【五、新闻稿】
{package['press_release']}
【六、社交媒体文案(小红书)】
{package['social_media']}
{'='*60}
使用统计:
- 总请求次数:{self.writer.total_requests}
- 总Token消耗:{self.writer.total_tokens}
- 预估费用:{self.writer.total_tokens * 0.0000002:.4f}元
{'='*60}
文案生成完毕 | 使用DeepSeek API助力校园文化建设
"""
with open(filename, "w", encoding="utf-8") as f:
f.write(output)
print(f"\n✅ 全套文案已保存至:{filename}")
print(f"📊 使用统计:{self.writer.get_usage_stats()}")
# 简化版使用示例
def simple_example():
"""简化版使用示例"""
# 替换为你的API密钥
api_key = "your-deepseek-api-key-here"
# 创建文案助手
writer = DeepSeekCopywriter(api_key, model="deepseek-chat")
# 生成单个文案
slogan = writer.generate_poster_slogan(
theme="秋季校园运动会",
keywords="拼搏、青春、团结"
)
print("海报标语:")
print(slogan)
# 完整版使用示例
if __name__ == "__main__":
# 替换为你的DeepSeek API密钥
API_KEY = "your-deepseek-api-key-here" # 在 https://platform.deepseek.com 获取
# 方式1:生成完整文案包
campaign = EthnicUnityCampaign(API_KEY, model="deepseek-chat")
package = campaign.generate_full_package()
campaign.save_to_file(package)
# 方式2:或者使用简化版示例
# simple_example()
# 方式3:自定义生成
# writer = DeepSeekCopywriter(API_KEY)
# result = writer.generate("为校园读书节写一句标语", temperature=0.8)
# print(result)
运行结果:
(ai_env) $ python3 deepseek_writer.py
🎯 开始生成'民族团结一家亲'活动文案包...
============================================================
📌 生成海报标语...
1. 五十六族同心圆,青春作伴共绘锦绣画卷。
2. 多彩文化碰撞,年轻心灵相连,我们是一家。
3. 跨越山河聚此间,歌舞传情谊,青春共前行。
4. 不同服饰同个梦,携手联谊筑就友谊长城。
5. 以青春为桥,以文化为媒,共筑民族团结一家亲。
📱 生成微信公众号推文...
✅ 推文已生成,字数:1173字
💌 生成嘉宾邀请函...
**邀 请 函**
尊敬的各位学生代表:
展信佳。
春和景明,万象更新。为深入贯彻落实民族团结进步精神,促进校园内各族同学之间的交往、交流、交融,营造“中华民族一家亲,同心共筑中国梦”的浓厚氛围,我校兹定于**2024年4月20日(星期六)下午14:00**,于**学校大学生活动中心多功能厅**,隆重举办“民族团结一家亲”主题联谊活动。
五十六个民族,五十六朵花,共同绽放在我们美丽的校园。本次活动旨在搭建一个真诚互动、深度沟通的平台。届时,我们将通过丰富多彩的文化展示、亲切温馨的交流座谈、轻松愉快的互动环节,共同领略中华民族传统文化的独特魅力,分享成长故事,增进彼此了解,缔结深厚情谊。我们相信,每一次真诚的握手,每一段欢快的歌舞,每一席深入的交谈,都将为构建和谐包容、团结友爱的校园共同体注入温暖而坚实的力量。
在此,我们诚挚邀请您拨冗莅临,作为本学院的代表,共襄盛举。您的参与,将为此次活动增添独特的光彩,也让民族团结之花在青春的沃土上绽放得更加绚烂。
谨奉此函,专程邀请。我们怀着最热切的心情,期待与您相聚,共叙情谊,共绘同心圆。
顺颂
学祺!
[主办单位:此处填写学校相关部门,如:学生工作部(处)/ 校团委 / 学生会]
二〇二四年四月十日
🎤 生成主持稿...
✅ 主持稿已生成
📰 生成新闻稿...
📱 生成社交媒体文案...
✅ 全套文案已保存至:民族团结活动文案包.txt
📊 使用统计:{'total_requests': 6, 'total_tokens': 3446, 'estimated_cost': '约 ¥0.0007'}
(ai_env) $
更多推荐



所有评论(0)