|
@@ -16,54 +16,55 @@ class GPT4o():
|
|
|
content = '''
|
|
|
CONTEXT
|
|
|
你是一名短视频标题优化专家,任务是为短视频生成吸引力高且符合规范的标题。
|
|
|
-
|
|
|
+
|
|
|
OBJECTIVE
|
|
|
基于优秀标题要求及示例,生成新的、吸引用户注意的标题。
|
|
|
-
|
|
|
+
|
|
|
SCALE
|
|
|
如果原标题无法按照规则生成新标题则重新尝试5次,失败后返回None
|
|
|
-
|
|
|
+
|
|
|
TIME
|
|
|
在标题生成请求提出后的1分钟内生成。
|
|
|
-
|
|
|
+
|
|
|
ACTOR
|
|
|
短视频标题优化专家
|
|
|
-
|
|
|
+
|
|
|
RESOURCES
|
|
|
- 原标题列表
|
|
|
- 优秀标题示例
|
|
|
- 标题生成规范和约束条件
|
|
|
-
|
|
|
+
|
|
|
RESPONSE
|
|
|
为每个原标题生成符合规范的新标题。
|
|
|
-
|
|
|
+
|
|
|
生成示例标题案例及要求
|
|
|
1. 标题开头包含醒目emoji🔴,整体字符长度必须控制在10-25个字
|
|
|
2. 识别需要修改的标题中可能感兴趣的人群,并在标题中表现出来。人群示例如:群友们、退休人员、50~70后等
|
|
|
- 3. 标题中可增加一些对内容的观点/态度,用人格化的方式表达,示例:太香了、老外至今难以相信、老百姓乐坏了
|
|
|
- 4. 标题结尾可以根据标题内容增加一些引导语,格式参考示例但不必局限于示例。示例:都看看吧、你也来看看吧、你们见过吗、你听对不对、说的太好了、请听、大家注意、太神奇了
|
|
|
+ 3. 标题中可增加一些对内容的观点/态度,用人格化的方式表达,示例:太香了、老外至今难以相信
|
|
|
+ 4. 标题结尾可以根据标题内容增加一些引导语,格式参考示例但不必局限于示例。示例:你们见过吗、你听对不对、说的太好了、请听、太神奇了
|
|
|
5. 对于包含#话题和@人的标题,若标题中包含其他元素,则去除#话题和@人元素后利用其他元素生成标题。若标题去除#话题和@人外无其他元素,则仅利用#话题的内容生成标题
|
|
|
-
|
|
|
+
|
|
|
Goodcase示例:
|
|
|
⭕老外至今难以相信,中国人竟能把大桥建到天上,穿入云中
|
|
|
- 🔴未来酒店体验,群友们,都看看吧!
|
|
|
+ 🔴未来酒店体验,群友们,请看!
|
|
|
⭕六七十年代的《忠字舞》,你们见过吗?
|
|
|
🔴哈哈哈!大哥说的太好了!太真实了
|
|
|
🔴今天,请记住那1700个集体赴死的年轻人,平均23岁!
|
|
|
🔴这才叫老同学聚会,到了这个年纪,还能聚在一起真不容易!
|
|
|
🔴百善孝为先,心凉了捂不热了
|
|
|
- 🔴养儿不如养狗,一件真实的事!都看看吧
|
|
|
- 🔴男人生气时的态度,关乎家庭温度,智慧女性们都来看看!
|
|
|
+ 🔴养儿不如养狗,一件真实的事!
|
|
|
🔴让人受益的一段话,写得真好!
|
|
|
🔴“处暑三劝”!发给最好的朋友劝一劝!
|
|
|
- 🔴世间公道自在人心,善恶有报,人生智慧你得听听!
|
|
|
-
|
|
|
+ 🔴世间公道自在人心,善恶有报,人生智慧建议收藏!
|
|
|
+ 🔴坐着电梯登上山顶!这怕是只有中国人敢想敢做!
|
|
|
+ 🔴人老了!就应该这样去活!
|
|
|
+
|
|
|
生成约束
|
|
|
1. 标题不能包含#话题标签和@人名。
|
|
|
2. 如果原标题无法按照规则生成新标题则重新尝试5次,失败后返回None。
|
|
|
3. 不能编造:不能加入原标题没有的实体信息,如原标题没有养老金,不能在生成的标题中出现养老金。
|
|
|
- 4. 标题内不能使用引导分享点击的词句,如:快来看看、大家都听一听、值得一看等。
|
|
|
- 5. 不能使用无实质信息和强烈诱导点击、紧急、夸张、震惊的描述,避免使用“震惊国人”、“速看”等类似描述。
|
|
|
+ 4. 标题内不能使用强引导分享点击的词句,如:快来看看、大家都听一听、值得一看、都看看吧、你也来看看吧、大家注意、都听听等。
|
|
|
+ 5. 不能使用无实质信息和强烈诱导点击、紧急、夸张、震惊的描述,避免使用“震惊国人”、“速看”、“太震撼了”等类似描述。
|
|
|
6. 标题需要简洁、清晰,不要使用网络流行语,如:太燃了、佛系、躺平、内卷等。
|
|
|
badcase示例:
|
|
|
🌸绝对不能错过,快打开看看,越快越好
|
|
@@ -139,193 +140,6 @@ class GPT4o():
|
|
|
if attempt == max_retries - 1:
|
|
|
return "这个视频,分享给我的老友,祝愿您能幸福安康"
|
|
|
|
|
|
- # @classmethod
|
|
|
- # 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类型的新标题
|
|
|
- # '''
|
|
|
- # url = "http://aigc.piaoquantv.com/aigc-server/aigc/conversation"
|
|
|
- # headers = {
|
|
|
- # "Content-Type": "application/json"
|
|
|
- # }
|
|
|
- # payload = {
|
|
|
- # "auth": "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",
|
|
|
- # "openAiGptParam": {
|
|
|
- # "model": "gpt-4o",
|
|
|
- # "temperature": 0.5,
|
|
|
- # "messages": [
|
|
|
- # {
|
|
|
- # "role": "system",
|
|
|
- # "content": content
|
|
|
- # },
|
|
|
- # {
|
|
|
- # "role": "user",
|
|
|
- # "content": old_title
|
|
|
- # }
|
|
|
- # ]
|
|
|
- # }
|
|
|
- # }
|
|
|
- # wait_time = random.uniform(5, 20)
|
|
|
- # time.sleep(wait_time)
|
|
|
- # response = requests.post(url, headers=headers, json=payload)
|
|
|
- # response = response.json()
|
|
|
- # try:
|
|
|
- # 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:
|
|
|
- # 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:
|
|
|
- # return "这个视频,分享给我的老友,祝愿您能幸福安康"
|
|
|
-
|
|
|
@classmethod
|
|
|
def get_ai_pw(cls, title):
|
|
|
max_retries = 3
|