gpt4o_mini_help.py 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290
  1. import json
  2. import requests
  3. class GPT4oMini:
  4. @classmethod
  5. def get_ai_mini_title_secure(cls, title):
  6. url = "http://aigc-api.cybertogether.net//aigc/dev/test/gpt"
  7. payload = json.dumps({
  8. "imageList": [],
  9. "model": "gpt-4o-mini-2024-07-18",
  10. "prompt": (
  11. "针对微信平台视频类小程序场景"
  12. "面向人群是中国中老年人,在单聊、群聊场景。为视频生成一个吸引人的标题。每次生成我会提供一个原标题,你通过以下规则生成一个新的标题。"
  13. "生成规则:"
  14. "a.生成的新标题一定一定不能包含以下任何一个或多个风险词。"
  15. "风险词:请注意, 分享, 听听, 看看, 全体, 一定, 所以人, 无数人, 值得一看, 值得一听, 99 %, 震撼, 必, 必看, 必听, 必读, 全场, 听听, 一起听听, 一起, 快看, 看看, 快来, 分享, 转发, 都看看吧, 都来, 注意, 最新, 紧急, 速看, 速转, 刚刚, 事关, 赶紧, 一定要, 千万不要, 震惊, 惊人, 亿万, 无数, 百分之, 自杀, 致死, 全体国民, 全体国人, 央视, 中央, 国务院, 人民日报, 卫生部, 官方, 气象局, 世卫, 联合国, 新闻, 内部, 内幕, 最新, 医生提醒, 爆炸性消息, 九胞胎, 天大的, 连看三遍, 务必看, 终于曝光, 神药, 危害太大, 不要吃了, 大事发生, 无数国人, 再忙也要, 出大事, 关系你我, 正式确认, 好消息, 突然传出, 新规出台, 重要的消息, 重要消息, 即将失传, 打死都, 惊天, 不要再吃, 格外留心, 太危险, 可怕一幕, 身亡, 后果很严重, 寿命长短, 错过别后悔, 必看, 早点知道就好了, 不得不信, 看一次少一次, 无数人, 老美, 新华社, 新规, 最新骗局, 新型骗局, 吃的是这些, 大老虎, 官员财产, 老中医, 预言, 致命, 救命, 保命, 非常难得, 太震撼了, 快来看, 一定要看, 来看看, 所有人都, 头一次见, 新型"
  16. "b.新标题字符不小于15个字,同时不超过30个字。"
  17. "c.新标题最前面或最后面必须加上emoij符号。如“🔴”、“⭕️”、“🚩”、“🔥”、“💖”"
  18. "d.新标题只去掉原标题里的低质词,但语句、语意都和原标题保持不变。"
  19. "e.去掉低质词后,根据语意适当加字句,使新标题整句读起来简洁、通顺、有吸引力、并准确反映视频核心内容。但一定不能包含任何一个或多个风险词。"
  20. "视频的原标题:“哇!好美的一个视频,发给您也看看!”、“晚上好,这也太美啦,发给大家一起欣赏欣赏。”、“____这段话说得真好,一起听听!每句话都很有道快分享给群友看看吧!”、“👈这段话说的真好,值得一听”、“🔴世界顶尖雪雕❗ 太真实了,太美了!忍不住发给你看看!”、“💖《等》说得真好,看看吧...”、“🔴这样的萌娃你们喜欢吗,都看看吧!”、“🔴2025金蛇纳福,这首歌送给全体群友,祝大家财运亨通永不断!”、“🔴元旦青蛇遇双春,这三件事千万别做,都看看吧!”、“💕呵呵太搞笑了!老师和家长的对话!值得一看!绝了!”、“❤️《中国知识大全》太珍贵了!值得我们每个中国人都看看!”、“六岁小女孩一首《爸》全场泪奔”、“🔴酒店招牌菜,菠菜炒鸡蛋的家常做法,快来学学!”、“这个视频,分享给我的老友,祝愿您能幸福安康”"
  21. "请务必严格遵守上述生成规则,为原标题生成对应的新标题。"
  22. f"请分析该标题,标题为:{title},返回新的标题。"
  23. ),
  24. "responseFormat": {
  25. "type": "json_schema",
  26. "json_schema": {
  27. "strict": True,
  28. "name": "share_script_result",
  29. "schema": {
  30. "type": "object",
  31. "properties": {
  32. "新标题": {
  33. "type": "string",
  34. "description": "生成新的标题"
  35. }
  36. },
  37. "required": ["新标题"],
  38. "additionalProperties": False
  39. }
  40. }
  41. }
  42. })
  43. headers = {'Content-Type': 'application/json'}
  44. try:
  45. response = requests.post(url, headers=headers, data=payload)
  46. response_data = response.json()
  47. data = json.loads(response_data.get('data', '{}'))
  48. new_title = data["新标题"]
  49. return new_title
  50. except Exception as e:
  51. return None
  52. @classmethod
  53. def get_ai_mini_pw(cls, title):
  54. url = "http://aigc-api.cybertogether.net//aigc/dev/test/gpt"
  55. payload = json.dumps({
  56. "imageList": [],
  57. "model": "gpt-4o-mini-2024-07-18",
  58. "prompt": (
  59. "请针对微信平台视频类小程序场景,面向人群是中国中老年人,在单聊、群聊场景,"
  60. "根据以下示例生成结尾引导分享的脚本,引导用户发生更多的分享行为。\n"
  61. "示例case1:\n"
  62. "标题: 几十年前的老歌,现在很少听到了!\n"
  63. "返回分享引导脚本: 这个视频真是难得,太美太好听了,看完真是回忆满满,"
  64. "让人怀念那个时代,多么淳朴多么美好,今天大家都在群里转发这个视频,"
  65. "看了都说,那时候虽然手里不宽裕,但心里都满怀希望,那股子拼劲,真是让人热血沸腾,"
  66. "老朋友你还记得吗?如果你也跟我一样深深的怀念,赶紧把这个视频转发到你所有群里去吧,"
  67. "让大家伙都看看吧,多多转发,感恩有你!\n\n"
  68. "示例case2:\n"
  69. "标题: 🔺令人尊敬的老人❗❗这才是我们应该追的明星❗\n"
  70. "返回分享引导脚本: 这个视频发出来5天了,转发的人却寥寥无几,"
  71. "试想一次明星出轨就全民皆知,这样中国真正的正能量却无人关注,真是太讽刺了!"
  72. "如果你看到了这个视频,请分享到你加入的每个群,向杨老这种无私奉献的大爱致敬!"
  73. "千万别让那些低调做好事的人心寒!转发传递下去,让世界都看到,中华民族的正能量!\n\n"
  74. f"请分析该标题,标题为:{title},返回结尾分享引导脚本。"
  75. ),
  76. "responseFormat": {
  77. "type": "json_schema",
  78. "json_schema": {
  79. "strict": True,
  80. "name": "share_script_result",
  81. "schema": {
  82. "type": "object",
  83. "properties": {
  84. "分享引导脚本": {
  85. "type": "string",
  86. "description": "生成的结尾分享引导脚本"
  87. }
  88. },
  89. "required": ["分享引导脚本"],
  90. "additionalProperties": False
  91. }
  92. }
  93. }
  94. })
  95. headers = {'Content-Type': 'application/json'}
  96. try:
  97. response = requests.post(url, headers=headers, data=payload)
  98. response_data = response.json()
  99. data = json.loads(response_data.get('data', '{}'))
  100. pw = data["分享引导脚本"]
  101. return pw
  102. except Exception as e:
  103. pw_srt_text = '老友们,这个视频说的太好了,请你在看完之后,不要私藏,分享给身边的亲人朋友,转发传递这份美好,这不仅是分享一个好视频,更是在传递一份深厚的祝福和好运,愿每个看到这消息的人,都能收获健康长寿和平安,希望您在看完后能够回传给我,并且把这条视频再传给3个群和3个好友,祝愿你我,健健康康,平平安安,因为3个数字代表着健康和平安,这么好的视频,千万不要在你的手里终止了,分享给群友们,他们看到以后一定会感谢你的,感谢分享,感谢传递'
  104. return pw_srt_text
  105. @classmethod
  106. def get_ai_mini_title(cls, title):
  107. url = "http://aigc-api.cybertogether.net//aigc/dev/test/gpt"
  108. payload = json.dumps({
  109. "imageList": [],
  110. "model": "gpt-4o-mini-2024-07-18",
  111. "prompt": (
  112. "CONTEXT"
  113. "你是一名短视频标题优化专家,任务是为短视频生成吸引力高且符合规范的标题。"
  114. "OBJECTIVE"
  115. "基于优秀标题要求及示例,生成新的、吸引用户注意的标题。"
  116. "TIME"
  117. "在标题生成请求提出后的1分钟内生成。"
  118. "ACTOR"
  119. "短视频标题优化专家"
  120. "RESOURCES"
  121. "- 原标题列表"
  122. "- 优秀标题示例"
  123. "- 标题生成规范和约束条件"
  124. "RESPONSE"
  125. "为每个原标题生成符合规范的新标题。"
  126. "生成示例标题案例及要求"
  127. "1. 标题开头包含醒目emoji🔴,整体字符长度必须控制在10-25个字"
  128. "2. 识别需要修改的标题中可能感兴趣的人群,并在标题中表现出来。人群示例如:群友们、退休人员、50~70后等"
  129. "3. 标题中可增加一些对内容的观点/态度,用人格化的方式表达,示例:太香了、老外至今难以相信"
  130. "4. 标题结尾可以根据标题内容增加一些引导语,格式参考示例但不必局限于示例。示例:你们见过吗、你听对不对、说的太好了、请听、太神奇了"
  131. "5. 对于包含#话题和@人的标题,若标题中包含其他元素,则去除#话题和@人元素后利用其他元素生成标题。若标题去除#话题和@人外无其他元素,则仅利用#话题的内容生成标题"
  132. "Goodcase示例:"
  133. "⭕老外至今难以相信,中国人竟能把大桥建到天上,穿入云中"
  134. "🔴未来酒店体验,群友们,请看!"
  135. "⭕六七十年代的《忠字舞》,你们见过吗?"
  136. "🔴哈哈哈!大哥说的太好了!太真实了"
  137. "🔴今天,请记住那1700个集体赴死的年轻人,平均23岁!"
  138. "🔴这才叫老同学聚会,到了这个年纪,还能聚在一起真不容易!"
  139. "🔴百善孝为先,心凉了捂不热了"
  140. "🔴养儿不如养狗,一件真实的事!"
  141. "🔴让人受益的一段话,写得真好!"
  142. "🔴“处暑三劝”!发给最好的朋友劝一劝!"
  143. "🔴世间公道自在人心,善恶有报,人生智慧建议收藏!"
  144. "🔴坐着电梯登上山顶!这怕是只有中国人敢想敢做!"
  145. "🔴人老了!就应该这样去活!"
  146. "生成约束"
  147. "1. 标题不能包含#话题标签和@人名。"
  148. "2. 不能编造:不能加入原标题没有的实体信息,如原标题没有养老金,不能在生成的标题中出现养老金。"
  149. "3. 标题内不能使用强引导分享点击的词句,如:快来看看、大家都听一听、值得一看、都看看吧、你也来看看吧、大家注意、都听听等。"
  150. "4. 不能使用无实质信息和强烈诱导点击、紧急、夸张、震惊的描述,避免使用“震惊国人”、“速看”、“太震撼了”等类似描述。"
  151. "5. 标题需要简洁、清晰,不要使用网络流行语,如:太燃了、佛系、躺平、内卷等。"
  152. "badcase示例:"
  153. "🌸绝对不能错过,快打开看看,越快越好"
  154. "所有老年人一定要看"
  155. "天大的好消息,5月开始实施❗"
  156. "就在刚刚,中国突然传出重磅消息,所有人都不敢相信! 🚩"
  157. "丧尽天良!为什么生病的人越来越多,原来吃的是这些 🎈"
  158. "今年的端午节太特殊,一辈子难遇一次!一定要看!错过别后悔"
  159. "好消息来了,千万别划走!"
  160. "紧急!已爆发,错过就晚了😱"
  161. f"请分析该标题,标题为:{title},返回新的标题。"
  162. ),
  163. "responseFormat": {
  164. "type": "json_schema",
  165. "json_schema": {
  166. "strict": True,
  167. "name": "share_script_result",
  168. "schema": {
  169. "type": "object",
  170. "properties": {
  171. "新标题": {
  172. "type": "string",
  173. "description": "生成新的标题"
  174. }
  175. },
  176. "required": ["新标题"],
  177. "additionalProperties": False
  178. }
  179. }
  180. }
  181. })
  182. headers = {'Content-Type': 'application/json'}
  183. try:
  184. response = requests.post(url, headers=headers, data=payload)
  185. response_data = response.json()
  186. data = json.loads(response_data.get('data', '{}'))
  187. new_title = data["新标题"]
  188. return new_title
  189. except Exception as e:
  190. return "这个视频,分享给我的老友,祝愿您能幸福安康"
  191. @classmethod
  192. def get_ai_mini_test_title(cls, title):
  193. url = "http://aigc-api.cybertogether.net//aigc/dev/test/gpt"
  194. payload = json.dumps({
  195. "imageList": [],
  196. "model": "gpt-4o-mini-2024-07-18",
  197. "prompt": (
  198. "1. 标题开头包含醒目emoji🔴,整体字符长度必须控制在10-25个字"
  199. "2. 优化方向是面向老年人群体,群友们、退休人员、50~70后 等元素,可以适当在标题中表现出来。"
  200. "3. 标题中可增加对内容的肯定的观点或态度,示例:听完觉得太对了,太香了、老外至今难以相信"
  201. "4. 标题结尾可以根据标题内容增加一些引导语,格式参考示例但不必局限于示例。示例:你们见过吗、你听对不对、说的太好了、请听、太神奇了、一字一句都是金、句句难以辩驳、说得真好"
  202. "5. 对于包含#话题和@人的标题,则去除@人元素后,利用剩下的全部信息生成标题。"
  203. "6. 禁止编造任何信息,如原标题没有养老金,不能在生成的标题中出现养老金。"
  204. "7. 标题内不能使用强引导分享点击的词句,如:快来看看、大家都听一听、值得一看、都看看吧、你也来看看吧、大家注意、都听听等。"
  205. "8. 不能使用无实质信息和强烈诱导点击、紧急、夸张、震惊的描述,避免使用“震惊国人”、“速看”、“太震撼了”等类似描述。"
  206. "9. 标题需要简洁、清晰,不要使用年轻一代的网络流行语,如:太燃了、佛系、躺平、内卷、炸裂等。"
  207. "10、用语要符合50岁以上老年人的阅读习惯,例如:太好了、太真实了、涨知识了、看呆了、精彩十足、实话实说、通透、拍案叫绝、难以相信、句句在理、说的太好了、发人深省、说的非常好、句句大实话、泪流不止、一睹为快、瞠目结舌等"
  208. "输出要求:"
  209. "请基于优秀标题要求及示例,生成吸引用户注意的标题"
  210. "优秀标题示例"
  211. "🔴街头采访趣事,朋友们你认为说的对不对"
  212. "终于找到了这首歌,献给你!"
  213. "这八大建议一经提出,手都拍红了"
  214. "⭕六七十年代的《忠字舞》,你们见过吗?"
  215. "老朋友你好吗?我想你了"
  216. "农村顺口溜大实话"
  217. "🔴逗逗你,看你开心不?"
  218. "澳门的黄金发财树!太美了"
  219. "各位退休的同学,请听!"
  220. "🔴国庆为什么要放假,看完你就明白了!"
  221. "农村大实话,说的太好了"
  222. "越听越舒心,发给群友听~"
  223. "🔴天地之间有杆称,说的真好❗"
  224. "⭕幽默大实话,你看你开心"
  225. "原来这就是中国如此强大的原因!"
  226. "🔴如果微信倒闭了,存的钱怎么办?大家注意!"
  227. "🔴真实的台湾,原来是这个样子的!"
  228. "今天这三首歌,送给有缘的你!"
  229. "不结婚不生孩子,老了之后会是什么下场?"
  230. "⭕老两口深情演绎,感动全场!"
  231. "🔴令人拍案叫绝的实话实说,句句难以辩驳!"
  232. "我的天啊,太美了"
  233. "🔥📢🔴十分通透的一段话,写得太棒了,请朋友们收好!"
  234. "街头骗局,出门在外要提高警惕"
  235. "🔴淄博再次爆火,老百姓乐坏了!"
  236. "💖人山人海的景区里,一组图看看到底挤了多少人?"
  237. "穿什么裤子最显年轻?"
  238. "🔴淄博再次因为他而火!到底好不好,你来说了算!"
  239. "🔴这个视频勾起多少人童年的回忆,你还记得吗"
  240. "⭕人民币大实话,句句在理!"
  241. "1900架无人机表演,龙飞凤舞堪比春晚"
  242. "~~涨知识了,日本唯一不敢攻打的城市是这里"
  243. f"请严格按照Goodcase示例输出,需要优化的标题为:{title},返回新的标题。"
  244. ),
  245. "responseFormat": {
  246. "type": "json_schema",
  247. "json_schema": {
  248. "strict": True,
  249. "name": "share_script_result",
  250. "schema": {
  251. "type": "object",
  252. "properties": {
  253. "新标题": {
  254. "type": "string",
  255. "description": "生成新的标题"
  256. }
  257. },
  258. "required": ["新标题"],
  259. "additionalProperties": False
  260. }
  261. }
  262. }
  263. })
  264. headers = {'Content-Type': 'application/json'}
  265. try:
  266. response = requests.post(url, headers=headers, data=payload)
  267. response_data = response.json()
  268. data = json.loads(response_data.get('data', '{}'))
  269. new_title = data["新标题"]
  270. return new_title
  271. except Exception as e:
  272. return "这个视频,分享给我的老友,祝愿您能幸福安康"
  273. if __name__ == '__main__':
  274. title = GPT4oMini.get_ai_mini_test_title("🔴这位美女说的太好了!这就是我们的大中国")
  275. print(title)