瀏覽代碼

ai获取标题优化

zhangyong 9 月之前
父節點
當前提交
f45d002bca
共有 2 個文件被更改,包括 77 次插入59 次删除
  1. 76 58
      common/gpt4o_help.py
  2. 1 1
      job_dypl.py

+ 76 - 58
common/gpt4o_help.py

@@ -1,4 +1,6 @@
 import json
 import json
+import random
+import re
 import time
 import time
 
 
 import requests
 import requests
@@ -8,66 +10,82 @@ import requests
 class GPT4o():
 class GPT4o():
     @classmethod
     @classmethod
     def get_ai_title(cls, old_title):
     def get_ai_title(cls, old_title):
-        content = '''
-                User: 请针对微信平台视频类小程序场景,面向人群是中国中老年人,在单聊、群聊场景,对不同视频内容原标题,在分享卡片上预览的标题进行优化。优化目标是提高这个场景下的视频卡片点击率。要求优化过程综合考虑下面的要求:
+        max_retries = 3
+        for attempt in range(max_retries):
 
 
-                第一:根据下面的优秀标题示例,总结优秀标题特点,生成一个新标题。
-                此视频献给四零后,看完感触颇多!
-                🔴88岁三胞胎兄妹表演《沙家浜》,开口惊艳全场!
-                50年前毛主席就告诫了,今天一一验证!苦的还是老百姓
-                🔴十分通透的一段话,写得太棒了,请朋友们收好!
-                🏆那个部位最先知道脑梗呢
-                ✿这才叫老同学聚会,到了这个年纪,还能聚在一起真不容易
-                活久未见的照片,历史书上看不到,了解那些鲜为人知的过去
-                🚩中国人正在丢失的这几样东西!都转发看看吧~
-                🔥热热热!三伏天到了应该注意什么?一起看看❗
+            content = '''
+                    User: 请针对微信平台视频类小程序场景,面向人群是中国中老年人,在单聊、群聊场景,对不同视频内容原标题,在分享卡片上预览的标题进行优化。优化目标是提高这个场景下的视频卡片点击率。要求优化过程综合考虑下面的要求:
+    
+                    第一:根据下面的优秀标题示例,总结优秀标题特点,生成一个新标题。
+                    此视频献给四零后,看完感触颇多!
+                    🔴88岁三胞胎兄妹表演《沙家浜》,开口惊艳全场!
+                    50年前毛主席就告诫了,今天一一验证!苦的还是老百姓
+                    🔴十分通透的一段话,写得太棒了,请朋友们收好!
+                    🏆那个部位最先知道脑梗呢
+                    ✿这才叫老同学聚会,到了这个年纪,还能聚在一起真不容易
+                    活久未见的照片,历史书上看不到,了解那些鲜为人知的过去
+                    🚩中国人正在丢失的这几样东西!都转发看看吧~
+                    🔥热热热!三伏天到了应该注意什么?一起看看❗
+    
+                    第二:生成过程有如下的规范、约束和建议:
+                    1.标题开头包含醒目emoji🔴,整体字符长度控制在10-20;
+                    2.不能包含#话题和@人;
+                    3.不能编造:不能加入原标题没有的实体信息,如原标题没有养老金,不能在生成的标题中出现养老金;
+                    4.不能使用无实质信息和强烈诱导点击、紧急、夸张、震惊的描述:在提高标题吸引力的同时,严格落实不使用“必看”、“错过悔恨终生”类描述,错误危险标题示例:
+                    万万想不到真的太好了看了3遍,你也快看看吧!
+                    🌸绝对不能错过,快打开看看,越快越好
+                    所有老年人一定要看
+                    天大的好消息,5月开始实施❗
+                    就在刚刚,中国突然传出重磅消息,所有人都不敢相信!🚩
+                    丧尽天良!为什么生病的人越来越多,原来吃的是这些🎈
+                    今年的端午节太特殊,一辈子难遇一次!一定要看!错过别后悔
+                    好消息来了,千万别划走!
+                    紧急!已爆发,错过就晚了😱
+    
+                    输出格式:要求输出格式为符合RFC8259标准的JSON格式的字符串,不要以代码块形式返回,返回一个string类型的新标题。
+                    '''
 
 
-                第二:生成过程有如下的规范、约束和建议:
-                1.标题开头包含醒目emoji🔴,整体字符长度控制在10-20;
-                2.不能包含#话题和@人;
-                3.不能编造:不能加入原标题没有的实体信息,如原标题没有养老金,不能在生成的标题中出现养老金;
-                4.不能使用无实质信息和强烈诱导点击、紧急、夸张、震惊的描述:在提高标题吸引力的同时,严格落实不使用“必看”、“错过悔恨终生”类描述,错误危险标题示例:
-                万万想不到真的太好了看了3遍,你也快看看吧!
-                🌸绝对不能错过,快打开看看,越快越好
-                所有老年人一定要看
-                天大的好消息,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
-                    }
-                ]
+            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
+                        }
+                    ]
+                }
             }
             }
-        }
-        try:
-            time.sleep(2)
+            wait_time = random.uniform(5, 20)
+            time.sleep(wait_time)
             response = requests.post(url, headers=headers, json=payload)
             response = requests.post(url, headers=headers, json=payload)
             response = response.json()
             response = response.json()
-            content = response['data']['choices'][0]['message']['content']
-            data = json.loads(content)
-            title = data["title"]
-            return title
-        except Exception:
-            return "🔴好漂亮的视频,给你最美的祝福❗"
+            try:
+                match = re.search(r'"[^"]+": "([^"]+)"', str(response))
+                if match:
+                    title = match.group(1)
+                    return title
+                else:
+                    if attempt == max_retries - 1:
+                        return "🔴好漂亮的视频,给你最美的祝福❗"
+                # content = response['data']['choices'][0]['message']['content']
+                # data = json.loads(content)
+                # title = data["title"]
+            except Exception:
+                if attempt == max_retries - 1:
+                    return "🔴好漂亮的视频,给你最美的祝福❗"
+
+
+if __name__ == '__main__':
+    title = '二胎营养师、育婴师双证宝妈告诉你!怀孕真正不能吃的是这些!看一遍你是记不住的,收藏下来吧!孕期禁忌怀孕孕妈怀孕不能吃什么怀孕那些事'
+    GPT4o.get_ai_title(title)

+ 1 - 1
job_dypl.py

@@ -59,7 +59,7 @@ def video_start():
 video_start()
 video_start()
 
 
 
 
-schedule.every(6).hours.do(video_start)
+schedule.every(12).hours.do(video_start)
 # schedule.every(20).minutes.do(video_start)
 # schedule.every(20).minutes.do(video_start)