zhangyong 5 ماه پیش
والد
کامیت
fc39ef9235
2فایلهای تغییر یافته به همراه23 افزوده شده و 19 حذف شده
  1. 15 14
      carry_video/carry_video.py
  2. 8 5
      common/gpt4o_help.py

+ 15 - 14
carry_video/carry_video.py

@@ -85,19 +85,19 @@ class CarryViode:
             headers = {
                 'Content-Type': 'application/json'
             }
-            response = requests.request("POST", url, headers=headers, data=payload)
-            response = response.json()
-            code = response["code"]
-            if code == 0:
-                data = response["data"]["data"]
-                content_type = data['content_type']
-                if content_type == 'note':
-                    return "note","note"
-                video_url = data["video_url_list"][0]["video_url"]
-                original_title = data["title"]
-                return video_url, original_title
-            else:
-                return None,None
+            for i in range(3):
+                response = requests.request("POST", url, headers=headers, data=payload)
+                response = response.json()
+                code = response["code"]
+                if code == 0:
+                    data = response["data"]["data"]
+                    content_type = data['content_type']
+                    if content_type == 'note':
+                        return "note","note"
+                    video_url = data["video_url_list"][0]["video_url"]
+                    original_title = data["title"]
+                    return video_url, original_title
+            return None,None
         except Exception as e:
             logger.error(f"[+] 快手{url}获取视频链接失败,失败信息{e}")
             return None, None
@@ -325,7 +325,8 @@ class CarryViode:
             if width < height:  # 判断是否需要修改为竖屏
                 video_path = FFmpeg.update_video_h_w(video_path, file_path)
             if data['trailer_share'] == "AI片尾引导":
-                pw_srt_text = '老友们,这个视频说的太好了,请你在看完之后,不要私藏,分享给身边的亲人朋友,转发传递这份美好,这不仅是分享一个好视频,更是在传递一份深厚的祝福和好运,愿每个看到这消息的人,都能收获健康长寿和平安,希望您在看完后能够回传给我,并且把这条视频再传给3个群和3个好友,祝愿你我,健健康康,平平安安,因为3个数字代表着健康和平安,这么好的视频,千万不要在你的手里终止了,分享给群友们,他们看到以后一定会感谢你的,感谢分享,感谢传递'
+                # pw_srt_text = '老友们,这个视频说的太好了,请你在看完之后,不要私藏,分享给身边的亲人朋友,转发传递这份美好,这不仅是分享一个好视频,更是在传递一份深厚的祝福和好运,愿每个看到这消息的人,都能收获健康长寿和平安,希望您在看完后能够回传给我,并且把这条视频再传给3个群和3个好友,祝愿你我,健健康康,平平安安,因为3个数字代表着健康和平安,这么好的视频,千万不要在你的手里终止了,分享给群友们,他们看到以后一定会感谢你的,感谢分享,感谢传递'
+                pw_srt_text = GPT4o.get_ai_pw(title)
                 voice = data['trailer_share_audio']
                 if voice:
                     if ',' in voice:

+ 8 - 5
common/gpt4o_help.py

@@ -143,7 +143,8 @@ class GPT4o:
                         第二:生成过程有如下的规范、约束和建议: 
                         1.不能编造:不能加入原标题没有的实体信息,如原标题没有养老金,不能在生成的标题中出现养老金; 
                         2.不能使用强烈的诱导、夸张词汇:在提高分享吸引力的同时,严格落实不使用“必做”、“错过悔恨终生”类描述; 
-                        3.分享引导阅读总时长控制30秒到1分钟,20-30句话,每句话字符长度控制在4-10字; 
+                        3.分享引导阅读总字数控制在150个字以内,总时长控制30秒到1分钟,20-30句话,每句话字符长度控制在4-10字;
+                        4.分享引导如果无法生成文字描述,直接返回None
                         输出格式:要求输出格式为符合RFC8259标准的JSON格式的字符串,不要以代码块形式返回,返回一个string类型的分享引导脚本内容。
                         '''
 
@@ -171,8 +172,10 @@ class GPT4o:
             wait_time = random.uniform(5, 20)
             time.sleep(wait_time)
             response = requests.post(url, headers=headers, json=payload)
-            response = response.json()
+            pw_srt_text = '老友们,这个视频说的太好了,请你在看完之后,不要私藏,分享给身边的亲人朋友,转发传递这份美好,这不仅是分享一个好视频,更是在传递一份深厚的祝福和好运,愿每个看到这消息的人,都能收获健康长寿和平安,希望您在看完后能够回传给我,并且把这条视频再传给3个群和3个好友,祝愿你我,健健康康,平平安安,因为3个数字代表着健康和平安,这么好的视频,千万不要在你的手里终止了,分享给群友们,他们看到以后一定会感谢你的,感谢分享,感谢传递'
+
             try:
+                response = response.json()
                 content = response['data']['choices'][0]['message']['content']
                 pattern = re.compile(r'"分享引导脚本":\s*"(.*?)"')
                 match = pattern.search(content)
@@ -188,13 +191,13 @@ class GPT4o:
                             content = re.sub(r'[a-zA-Z]', '', content)
                         return content
                     if attempt == max_retries - 1:
-                        return None
+                        return pw_srt_text
             except Exception:
                 if attempt == max_retries - 1:
-                    return None
+                    return pw_srt_text
 
 
 if __name__ == '__main__':
     title = '如果有人跟你说苍蝇不叮无缝的蛋,你怎么回'
-    newtitle = GPT4o.get_ai_title(title)
+    newtitle = GPT4o.get_ai_pw(title)
     print(newtitle)