浏览代码

恢复标题

zhangyong 8 月之前
父节点
当前提交
35de7765ba
共有 1 个文件被更改,包括 150 次插入173 次删除
  1. 150 173
      common/gpt4o_help.py

+ 150 - 173
common/gpt4o_help.py

@@ -12,175 +12,138 @@ class GPT4o():
     def get_ai_title(cls, old_title):
         max_retries = 3
         for attempt in range(max_retries):
-            content = '''
-                        CONTEXT
-                        你是一名短视频标题优化专家,任务是为短视频生成吸引力高且符合规范的标题。
-                        
-                        OBJECTIVE
-                        基于优秀标题要求及示例,生成新的、吸引用户注意的标题。
-                        
-                        SCALE
-                        如果原标题无法按照规则生成新标题则重新尝试5次,失败后返回None
-                        
-                        TIME
-                        在标题生成请求提出后的1分钟内生成。
-                        
-                        ACTOR
-                        短视频标题优化专家
-                        
-                        RESOURCES
-                        原标题列表
-                        优秀标题示例
-                        标题生成规范和约束条件
-                        
-                        RESPONSE
-                        为每个原标题生成符合规范的新标题。
-                        
-                        生成示例标题案例及要求
-                        标题开头包含醒目emoji🔴,整体字符长度必须控制在10-25个字
-                        识别需要修改的标题中可能感兴趣的人群,并在标题中表现出来。人群示例如:群友们、退休人员、50~70后等
-                        标题中可增加一些对内容的观点/态度,用人格化的方式表达,示例:太香了、老外至今难以相信、老百姓乐坏了
-                        标题结尾可以根据标题内容增加一些引导语,格式参考示例但不必局限于示例。示例:都看看吧、你也来看看吧、你们见过吗、你听对不对、说的太好了、请听、大家注意、太神奇了
-                        
-                        Goodcase示例:
-                            ⭕老外至今难以相信,中国人竟能把大桥建到天上,穿入云中
-                            🔴未来酒店体验,群友们,都看看吧!
-                            ⭕六七十年代的《忠字舞》,你们见过吗?
-                            🔴哈哈哈!大哥说的太好了!太真实了
-                            🔴今天,请记住那1700个集体赴死的年轻人,平均23岁!
-                        
-                        生成约束
-                        标题不能包含#话题标签和@人名。
-                        如果原标题无法按照规则生成新标题则重新尝试5次,失败后返回None。
-                        不能编造:不能加入原标题没有的实体信息,如原标题没有养老金,不能在生成的标题中出现养老金。
-                        标题内不能使用引导分享点击的词句,如:快来看看、大家都听一听、值得一看等。
-                        不能使用无实质信息和强烈诱导点击、紧急、夸张、震惊的描述,避免使用“震惊国人”、“速看”等类似描述。
-                        标题需要简洁、清晰,不要使用网络流行语,如:太燃了、佛系、躺平、内卷等。
-                        badcase示例:
-                        🌸绝对不能错过,快打开看看,越快越好
-                         所有老年人一定要看
-                         天大的好消息,5月开始实施❗
-                         就在刚刚,中国突然传出重磅消息,所有人都不敢相信! 🚩
-                         丧尽天良!为什么生病的人越来越多,原来吃的是这些 🎈
-                         今年的端午节太特殊,一辈子难遇一次!一定要看!错过别后悔
-                         好消息来了,千万别划走!
-                         紧急!已爆发,错过就晚了😱 
-                        
-                        需要重新生成的标题列表如下:
-                        1.抹不掉的容颜,回不去的青春!愿50。60。70后的我们,保重自己,珍惜每一天!收起
-                        2.人在做,天在看,世间自有公道在。善恶到头终有报,有因必有果~人在做天在看人生感悟人生智慧情感现实
-                        3.这个视频,分享给我的老友,祝愿您能幸福安康
-                        4.#乡村美食 #乡村柴火饭 #快手美食家 煮好的五花肉切成薄片炒苦瓜好香啊
-                        5.#奥运气氛组已就位 #赛场尽兴而动 #奥运会
-                        
-                        
-                        
-                        作为一个短视频专家,请你根据以下需求帮我改写标题:
-                        
-                        第一:根据下面的优秀标题示例,总结优秀标题特点,生成一个新标题,要求如下:
-                         1.识别需要修改的标题中可能感兴趣的人群,并在标题中表现出来。人群示例如:群友们、退休人员、50~70后等
-                         2.标题中可增加一些对内容的观点/态度,用人格化的方式表达,示例:太香了、老外至今难以相信、老百姓乐坏了
-                         3.标题结尾可以增加一些引导语,示例:都看看吧、你们见过吗、你听对不对
-                         4.标题的内容不要互相矛盾,示例:「老友记,看这个视频,愿你幸福安康,乐坏了!」这个标题中,「愿你祝福安康」的语境下,不应该有「乐坏了」这种语气词
-                        
-                        修改后的优秀case:
-                            ⭕老外至今难以相信,中国人竟能把大桥建到天上,穿入云中
-                            🔴未来酒店体验,群友们,都看看吧!
-                            ⭕六七十年代的《忠字舞》,你们见过吗?
-                            🔴哈哈哈!大哥说的太好了!太真实了
-                            🔴今天,请记住那1700个集体赴死的年轻人,平均23岁!
-                        
-                        第二:生成过程有如下的规范、约束和建议:
-                             1.标题开头包含醒目emoji🔴,整体字符长度必须控制在10-25个字,emoji可以根据标题做调整
-                             2.不能包含#话题和@人
-                             3.如果原标题无法按照规则生成新标题则重新尝试5次,失败后返回None
-                             4.不能编造:不能加入原标题没有的实体信息,如原标题没有养老金,不能在生成的标题中出现养老金;
-                             5.标题内不能使用引导分享点击的词句;包括但不限于下面这些词语:快来看看、群友看看、大家都听一听、 一起看看、 快来看、 都看看、来看看、值得一看、 进来看看、请看看、提前看看
-                             7.不能使用无实质信息和强烈诱导点击、紧急、夸张、震惊的描述:在提高标题吸引力的同时,严格落实不使用“震惊国人”、“转发”、“速看”、“一定”、“必看”、“错过悔恨终生”同类型的描述。
-                             8.标题不要使用网络流行语,如:太燃了、佛系、躺平、内卷等
-                             错误危险标题示例:
-                             🌸绝对不能错过,快打开看看,越快越好
-                             所有老年人一定要看
-                             天大的好消息,5月开始实施❗
-                             就在刚刚,中国突然传出重磅消息,所有人都不敢相信! 🚩
-                             丧尽天良!为什么生病的人越来越多,原来吃的是这些 🎈
-                             今年的端午节太特殊,一辈子难遇一次!一定要看!错过别后悔
-                             好消息来了,千万别划走!
-                             紧急!已爆发,错过就晚了😱 
-                        
-                        需要重新生成的标题列表如下:
-                            1.抹不掉的容颜,回不去的青春!愿50。60。70后的我们,保重自己,珍惜每一天!收起
-                            2.人在做,天在看,世间自有公道在。善恶到头终有报,有因必有果~人在做天在看人生感悟人生智慧情感现实
-                            3.这个视频,分享给我的老友,祝愿您能幸福安康
-                            4.#乡村美食 #乡村柴火饭 #快手美食家 煮好的五花肉切成薄片炒苦瓜好香啊
-                            5.#奥运气氛组已就位 #赛场尽兴而动 #奥运会
-                        '''
-            # content = '''
-            #         请针对微信平台视频类小程序场景,面向人群是中国中老年人,在单聊、群聊场景,对不同视频内容原标题,在分享卡片上预览的标题进行优化。优化目标是提高这个场景下的视频卡片点击率。要求优化过程综合考虑下面的要求:
-            #         第一:根据下面的优秀标题示例,总结优秀标题特点,生成一个新标题:
-            #         示例case:
-            #             此视频献给四零后,看完感触颇多!
-            #             🔴2024八一战友聚会通知书,各位战友请查收!
-            #             50年前毛主席就告诫了,今天一一验证!苦的还是老百姓
-            #             🔴十分通透的一段话,写得太棒了,请朋友们收好!
-            #             🏆⭕️⭕️⭕接台湾回家,激动人心!
-            #             💗省钱小妙招,找了很久,终于找到了!
-            #             🔴这才是民间高手,每一个动作都太漂亮了!赞!
-            #         第二:生成过程有如下的规范、约束和建议:
-            #             1.标题开头包含醒目emoji🔴,整体字符长度控制在10-25;
-            #             2.不能包含#话题和@人;
-            #             3.如果原标题无法按照规则生成新标题则重新尝试5次,失败后返回None
-            #             4.不能编造:不能加入原标题没有的实体信息,如原标题没有养老金,不能在生成的标题中出现养老金;
-            #             5.标题内不能使用引导分享点击的词句;包括但不限于下面这些词语:快来看看、群友看看、大家都听一听、 一起看看、 快来看、 都看看、来看看、值得一看、 进来看看、请看看、提前看看
-            #             7.不能使用无实质信息和强烈诱导点击、紧急、夸张、震惊的描述:在提高标题吸引力的同时,严格落实不使用“转发”、“速看”、“一定”、“必看”、“错过悔恨终生”同类型的描述。
-            #             错误危险标题示例:
-            #                 🌸绝对不能错过,快打开看看,越快越好
-            #                 所有老年人一定要看
-            #                 天大的好消息,5月开始实施❗
-            #                 就在刚刚,中国突然传出重磅消息,所有人都不敢相信! 🚩
-            #                 丧尽天良!为什么生病的人越来越多,原来吃的是这些 🎈
-            #                 今年的端午节太特殊,一辈子难遇一次!一定要看!错过别后悔
-            #                 好消息来了,千万别划走!
-            #                 紧急!已爆发,错过就晚了😱
-            #         输出格式:要求输出格式为符合RFC8259标准的JSON格式的字符串,不要以代码块形式返回,返回一个string类型的新标题
-            #         '''
-
             # content = '''
-            #         请针对微信平台视频类小程序场景,面向人群是中国中老年人,在单聊、群聊场景,对不同视频内容原标题,在分享卡片上预览的标题进行优化。优化目标是提高这个场景下的视频卡片点击率。要求优化过程综合考虑下面的要求:
+            #             CONTEXT
+            #             你是一名短视频标题优化专家,任务是为短视频生成吸引力高且符合规范的标题。
             #
-            #         第一:根据下面的优秀标题示例,总结优秀标题特点,生成一个新标题:
-            #         示例case:
-            #             此视频献给四零后,看完感触颇多!
-            #             🔴8·1最美赞歌,献给所有穿过军装的人!
-            #             🔴2024八一战友聚会通知书,各位战友请查收!
-            #             50年前毛主席就告诫了,今天一一验证!苦的还是老百姓
-            #             🔴十分通透的一段话,写得太棒了,请朋友们收好!
-            #             🚩中国人正在丢失的这几样东西!都转发看看吧~
-            #             🔥热热热!三伏天到了应该注意什么?一起看看❗
-            #             🏆那个部位最先知道脑梗呢,来瞧一瞧!
-            #             🔴这条视频真太美了❗️真的好看,来瞧一瞧吧!
-            #             💗省钱小妙招,找了很久,终于找到了!
-            #             🔴这是一群让国人泪流满面的雕像!进来看看吧!
-            #         第二:生成过程有如下的规范、约束和建议:
-            #             1.标题开头包含醒目emoji🔴,整体字符长度控制在10-25;
-            #             2.不能包含#话题和@人;
-            #             3.如果原标题无法按照规则生成新标题则重新尝试5次,5次都失败后则返回None
-            #             4.不能编造:不能加入原标题没有的实体信息,如原标题没有养老金,不能在生成的标题中出现养老金;
-            #             5.必须能引导群里好友或朋友们点击、分享的短句,作为标题结尾
-            #             6.标题结尾的引导句要新奇、生动、略微夸张,且足够能吸引人想点击
-            #             7.不能使用无实质信息和强烈诱导点击、紧急、夸张、震惊的描述:在提高标题吸引力的同时,严格落实不使用“一定”、“必看”、“错过悔恨终生”类描述。错误危险标题示例:
-            #                 🌸绝对不能错过,快打开看看,越快越好
-            #                 所有老年人一定要看
-            #                 天大的好消息,5月开始实施❗
-            #                 就在刚刚,中国突然传出重磅消息,所有人都不敢相信!
-            #                 🚩 丧尽天良!为什么生病的人越来越多,原来吃的是这些
-            #                 🎈 今年的端午节太特殊,一辈子难遇一次!一定要看!错过别后悔
-            #                 好消息来了,千万别划走!
-            #                 紧急!已爆发,错过就晚了😱
+            #             OBJECTIVE
+            #             基于优秀标题要求及示例,生成新的、吸引用户注意的标题。
             #
-            #         输出格式:要求输出格式为符合RFC8259标准的JSON格式的字符串,不要以代码块形式返回,返回一个string类型的新标题。
-            #         '''
-
+            #             SCALE
+            #             如果原标题无法按照规则生成新标题则重新尝试5次,失败后返回None
+            #
+            #             TIME
+            #             在标题生成请求提出后的1分钟内生成。
+            #
+            #             ACTOR
+            #             短视频标题优化专家
+            #
+            #             RESOURCES
+            #             原标题列表
+            #             优秀标题示例
+            #             标题生成规范和约束条件
+            #
+            #             RESPONSE
+            #             为每个原标题生成符合规范的新标题。
+            #
+            #             生成示例标题案例及要求
+            #             标题开头包含醒目emoji🔴,整体字符长度必须控制在10-25个字
+            #             识别需要修改的标题中可能感兴趣的人群,并在标题中表现出来。人群示例如:群友们、退休人员、50~70后等
+            #             标题中可增加一些对内容的观点/态度,用人格化的方式表达,示例:太香了、老外至今难以相信、老百姓乐坏了
+            #             标题结尾可以根据标题内容增加一些引导语,格式参考示例但不必局限于示例。示例:都看看吧、你也来看看吧、你们见过吗、你听对不对、说的太好了、请听、大家注意、太神奇了
+            #
+            #             Goodcase示例:
+            #                 ⭕老外至今难以相信,中国人竟能把大桥建到天上,穿入云中
+            #                 🔴未来酒店体验,群友们,都看看吧!
+            #                 ⭕六七十年代的《忠字舞》,你们见过吗?
+            #                 🔴哈哈哈!大哥说的太好了!太真实了
+            #                 🔴今天,请记住那1700个集体赴死的年轻人,平均23岁!
+            #
+            #             生成约束
+            #             标题不能包含#话题标签和@人名。
+            #             如果原标题无法按照规则生成新标题则重新尝试5次,失败后返回None。
+            #             不能编造:不能加入原标题没有的实体信息,如原标题没有养老金,不能在生成的标题中出现养老金。
+            #             标题内不能使用引导分享点击的词句,如:快来看看、大家都听一听、值得一看等。
+            #             不能使用无实质信息和强烈诱导点击、紧急、夸张、震惊的描述,避免使用“震惊国人”、“速看”等类似描述。
+            #             标题需要简洁、清晰,不要使用网络流行语,如:太燃了、佛系、躺平、内卷等。
+            #             badcase示例:
+            #             🌸绝对不能错过,快打开看看,越快越好
+            #              所有老年人一定要看
+            #              天大的好消息,5月开始实施❗
+            #              就在刚刚,中国突然传出重磅消息,所有人都不敢相信! 🚩
+            #              丧尽天良!为什么生病的人越来越多,原来吃的是这些 🎈
+            #              今年的端午节太特殊,一辈子难遇一次!一定要看!错过别后悔
+            #              好消息来了,千万别划走!
+            #              紧急!已爆发,错过就晚了😱
+            #
+            #             需要重新生成的标题列表如下:
+            #             1.抹不掉的容颜,回不去的青春!愿50。60。70后的我们,保重自己,珍惜每一天!收起
+            #             2.人在做,天在看,世间自有公道在。善恶到头终有报,有因必有果~人在做天在看人生感悟人生智慧情感现实
+            #             3.这个视频,分享给我的老友,祝愿您能幸福安康
+            #             4.#乡村美食 #乡村柴火饭 #快手美食家 煮好的五花肉切成薄片炒苦瓜好香啊
+            #             5.#奥运气氛组已就位 #赛场尽兴而动 #奥运会
+            #
+            #
+            #
+            #             作为一个短视频专家,请你根据以下需求帮我改写标题:
+            #
+            #             第一:根据下面的优秀标题示例,总结优秀标题特点,生成一个新标题,要求如下:
+            #              1.识别需要修改的标题中可能感兴趣的人群,并在标题中表现出来。人群示例如:群友们、退休人员、50~70后等
+            #              2.标题中可增加一些对内容的观点/态度,用人格化的方式表达,示例:太香了、老外至今难以相信、老百姓乐坏了
+            #              3.标题结尾可以增加一些引导语,示例:都看看吧、你们见过吗、你听对不对
+            #              4.标题的内容不要互相矛盾,示例:「老友记,看这个视频,愿你幸福安康,乐坏了!」这个标题中,「愿你祝福安康」的语境下,不应该有「乐坏了」这种语气词
+            #
+            #             修改后的优秀case:
+            #                 ⭕老外至今难以相信,中国人竟能把大桥建到天上,穿入云中
+            #                 🔴未来酒店体验,群友们,都看看吧!
+            #                 ⭕六七十年代的《忠字舞》,你们见过吗?
+            #                 🔴哈哈哈!大哥说的太好了!太真实了
+            #                 🔴今天,请记住那1700个集体赴死的年轻人,平均23岁!
+            #
+            #             第二:生成过程有如下的规范、约束和建议:
+            #                  1.标题开头包含醒目emoji🔴,整体字符长度必须控制在10-25个字,emoji可以根据标题做调整
+            #                  2.不能包含#话题和@人
+            #                  3.如果原标题无法按照规则生成新标题则重新尝试5次,失败后返回None
+            #                  4.不能编造:不能加入原标题没有的实体信息,如原标题没有养老金,不能在生成的标题中出现养老金;
+            #                  5.标题内不能使用引导分享点击的词句;包括但不限于下面这些词语:快来看看、群友看看、大家都听一听、 一起看看、 快来看、 都看看、来看看、值得一看、 进来看看、请看看、提前看看
+            #                  7.不能使用无实质信息和强烈诱导点击、紧急、夸张、震惊的描述:在提高标题吸引力的同时,严格落实不使用“震惊国人”、“转发”、“速看”、“一定”、“必看”、“错过悔恨终生”同类型的描述。
+            #                  8.标题不要使用网络流行语,如:太燃了、佛系、躺平、内卷等
+            #                  错误危险标题示例:
+            #                  🌸绝对不能错过,快打开看看,越快越好
+            #                  所有老年人一定要看
+            #                  天大的好消息,5月开始实施❗
+            #                  就在刚刚,中国突然传出重磅消息,所有人都不敢相信! 🚩
+            #                  丧尽天良!为什么生病的人越来越多,原来吃的是这些 🎈
+            #                  今年的端午节太特殊,一辈子难遇一次!一定要看!错过别后悔
+            #                  好消息来了,千万别划走!
+            #                  紧急!已爆发,错过就晚了😱
+            #
+            #             需要重新生成的标题列表如下:
+            #                 1.抹不掉的容颜,回不去的青春!愿50。60。70后的我们,保重自己,珍惜每一天!收起
+            #                 2.人在做,天在看,世间自有公道在。善恶到头终有报,有因必有果~人在做天在看人生感悟人生智慧情感现实
+            #                 3.这个视频,分享给我的老友,祝愿您能幸福安康
+            #                 4.#乡村美食 #乡村柴火饭 #快手美食家 煮好的五花肉切成薄片炒苦瓜好香啊
+            #                 5.#奥运气氛组已就位 #赛场尽兴而动 #奥运会
+            #             '''
+            content = '''
+                    请针对微信平台视频类小程序场景,面向人群是中国中老年人,在单聊、群聊场景,对不同视频内容原标题,在分享卡片上预览的标题进行优化。优化目标是提高这个场景下的视频卡片点击率。要求优化过程综合考虑下面的要求:
+                    第一:根据下面的优秀标题示例,总结优秀标题特点,生成一个新标题: 
+                    示例case: 
+                        此视频献给四零后,看完感触颇多! 
+                        🔴2024八一战友聚会通知书,各位战友请查收! 
+                        50年前毛主席就告诫了,今天一一验证!苦的还是老百姓 
+                        🔴十分通透的一段话,写得太棒了,请朋友们收好! 
+                        🏆⭕️⭕️⭕接台湾回家,激动人心!
+                        💗省钱小妙招,找了很久,终于找到了! 
+                        🔴这才是民间高手,每一个动作都太漂亮了!赞!
+                    第二:生成过程有如下的规范、约束和建议: 
+                        1.标题开头包含醒目emoji🔴,整体字符长度控制在10-25; 
+                        2.不能包含#话题和@人; 
+                        3.如果原标题无法按照规则生成新标题则重新尝试5次,失败后返回None
+                        4.不能编造:不能加入原标题没有的实体信息,如原标题没有养老金,不能在生成的标题中出现养老金; 
+                        5.标题内不能使用引导分享点击的词句;包括但不限于下面这些词语:快来看看、群友看看、大家都听一听、 一起看看、 快来看、 都看看、来看看、值得一看、 进来看看、请看看、提前看看
+                        7.不能使用无实质信息和强烈诱导点击、紧急、夸张、震惊的描述:在提高标题吸引力的同时,严格落实不使用“转发”、“速看”、“一定”、“必看”、“错过悔恨终生”同类型的描述。
+                        错误危险标题示例: 
+                            🌸绝对不能错过,快打开看看,越快越好 
+                            所有老年人一定要看 
+                            天大的好消息,5月开始实施❗ 
+                            就在刚刚,中国突然传出重磅消息,所有人都不敢相信! 🚩 
+                            丧尽天良!为什么生病的人越来越多,原来吃的是这些 🎈 
+                            今年的端午节太特殊,一辈子难遇一次!一定要看!错过别后悔 
+                            好消息来了,千万别划走! 
+                            紧急!已爆发,错过就晚了😱 
+                    输出格式:要求输出格式为符合RFC8259标准的JSON格式的字符串,不要以代码块形式返回,返回一个string类型的新标题
+                    '''
             url = "http://aigc.piaoquantv.com/aigc-server/aigc/conversation"
             headers = {
                 "Content-Type": "application/json"
@@ -202,17 +165,31 @@ class GPT4o():
                     ]
                 }
             }
-            wait_time = random.uniform(1, 6)
+            wait_time = random.uniform(5, 20)
             time.sleep(wait_time)
             response = requests.post(url, headers=headers, json=payload)
             response = response.json()
             try:
-                message = response['data']['choices'][0]['message']
-                content = message['content']
-                if content:
-                    return content
+                match = re.search(r'"[^"]+": "([^"]+)"', str(response))
+                if match:
+                    if match == 'None':
+                        return "这个视频,分享给我的老友,祝愿您能幸福安康"
+                    title = match.group(1)
+                    if '原标题无法按照规则生成新标题' in title or '原标题不符合生成新标题的要求,请提供符合要求的原标题' in title or 'Invalid input format' in title:
+                        return "这个视频,分享给我的老友,祝愿您能幸福安康"
+                    return title
                 else:
-                    if attempt == max_retries - 1:
+                    content = response['data']['choices'][0]['message']['content']
+                    if content:
+                        if content == 'None':
+                            return "这个视频,分享给我的老友,祝愿您能幸福安康"
+                        data = json.loads(content)
+                        title = data["title"]
+                        if title:
+                            return title
+                        else:
+                            return content
+                    elif attempt == max_retries - 1:
                         return "这个视频,分享给我的老友,祝愿您能幸福安康"
             except Exception:
                 if attempt == max_retries - 1:
@@ -289,5 +266,5 @@ class GPT4o():
 
 
 if __name__ == '__main__':
-    title = '#母子俩的日常生活 #母子俩的欢乐时光'
+    title = '如果不是亲眼所见,真的不敢相信长发村的阿嫂们,奶奶们,头发可以又黑又长!#洗发水 #淘米水 #长发村'
     GPT4o.get_ai_title(title)