|
@@ -11,7 +11,7 @@ logger.add("/app/logs/consumption.log", rotation="10 MB")
|
|
|
sys.path.append('/app')
|
|
sys.path.append('/app')
|
|
|
|
|
|
|
|
from utils.aliyun_log import AliyunLogger
|
|
from utils.aliyun_log import AliyunLogger
|
|
|
-from utils.google_ai_studio import GoogleAI
|
|
|
|
|
|
|
+from utils.google_ai_analyze import GoogleAI
|
|
|
from utils.piaoquan import PQ
|
|
from utils.piaoquan import PQ
|
|
|
from utils.redis import RedisHelper, content_video_data
|
|
from utils.redis import RedisHelper, content_video_data
|
|
|
from utils.mysql_db import MysqlHelper
|
|
from utils.mysql_db import MysqlHelper
|
|
@@ -56,16 +56,16 @@ class ConsumptionRecommend(object):
|
|
|
api_key = os.getenv("VIDEO_INSIGHT_GEMINI_API_KEY")
|
|
api_key = os.getenv("VIDEO_INSIGHT_GEMINI_API_KEY")
|
|
|
# api_key = 'AIzaSyBFLCKMLX-Pf1iXoC2e_rMDLbNhNG23vTk'
|
|
# api_key = 'AIzaSyBFLCKMLX-Pf1iXoC2e_rMDLbNhNG23vTk'
|
|
|
logger.info(f"[处理] 使用的API_KEY:{api_key}")
|
|
logger.info(f"[处理] 使用的API_KEY:{api_key}")
|
|
|
- text,text1 = GoogleAI.run(api_key, video_url)
|
|
|
|
|
- if "[异常]" in text:
|
|
|
|
|
|
|
+ analysis_data, demand_list = GoogleAI.run(api_key, video_url)
|
|
|
|
|
+ if "[异常]" in analysis_data:
|
|
|
content_video_data(json.dumps(task))
|
|
content_video_data(json.dumps(task))
|
|
|
# Parse JSON data
|
|
# Parse JSON data
|
|
|
- data = json.loads(orjson.dumps(text).decode())
|
|
|
|
|
|
|
+ data = json.loads(orjson.dumps(demand_list).decode())
|
|
|
# Generate SQL insert statement
|
|
# Generate SQL insert statement
|
|
|
sql = """
|
|
sql = """
|
|
|
INSERT INTO video_demand_analysis (
|
|
INSERT INTO video_demand_analysis (
|
|
|
video_id, video_link, video_title, content_type,
|
|
video_id, video_link, video_title, content_type,
|
|
|
- demand_order, demand_score, user_demand, demand_category,
|
|
|
|
|
|
|
+ demand_order, demand_score, user_demand, demand_category, demand_time,
|
|
|
demand_reason, product_hook, hook_time, hook_desc,
|
|
demand_reason, product_hook, hook_time, hook_desc,
|
|
|
hook_type, landing_desc, landing_type, platform_case, reasoning_process,audit_status,audit_desc
|
|
hook_type, landing_desc, landing_type, platform_case, reasoning_process,audit_status,audit_desc
|
|
|
) VALUES
|
|
) VALUES
|
|
@@ -86,7 +86,7 @@ class ConsumptionRecommend(object):
|
|
|
|
|
|
|
|
value = f"""(
|
|
value = f"""(
|
|
|
{video_id}, '{link}', '{video_title}', NULL,
|
|
{video_id}, '{link}', '{video_title}', NULL,
|
|
|
- '{entry.get('需求排序序号', '')}', '{entry.get('需求强烈程度分值', '')}', '{entry.get('用户具体的需求描述', '')}', '{entry.get('需求分类', '')}',
|
|
|
|
|
|
|
+ '{entry.get('需求排序序号', '')}', '{entry.get('需求强烈程度分值', '')}', '{entry.get('用户具体的需求描述', '')}', '{entry.get('需求分类', '')}', '{entry.get('需求钩子出现时间', '')}',
|
|
|
'{entry.get('推测出该点需求的原因', '')}', '{entry.get('需求详细query', '')}', '', '{entry.get('需求钩子话术', '')}',
|
|
'{entry.get('推测出该点需求的原因', '')}', '{entry.get('需求详细query', '')}', '', '{entry.get('需求钩子话术', '')}',
|
|
|
'', '{entry.get('落地方案形态描述', '')}', '{entry.get('落地方案类型', '')}', '', '','{audit_status}','{audit_desc}'
|
|
'', '{entry.get('落地方案形态描述', '')}', '{entry.get('落地方案类型', '')}', '', '','{audit_status}','{audit_desc}'
|
|
|
)"""
|
|
)"""
|
|
@@ -97,15 +97,15 @@ class ConsumptionRecommend(object):
|
|
|
logger.info(f"{sql}")
|
|
logger.info(f"{sql}")
|
|
|
MysqlHelper.update_values(sql)
|
|
MysqlHelper.update_values(sql)
|
|
|
|
|
|
|
|
- logger.info(f"[处理] text写入数据库成功")
|
|
|
|
|
|
|
+ logger.info(f"[处理] 需求列表写入数据库成功")
|
|
|
|
|
|
|
|
|
|
|
|
|
# Parse JSON data
|
|
# Parse JSON data
|
|
|
- data = json.loads(orjson.dumps(text1).decode())
|
|
|
|
|
|
|
+ data = json.loads(orjson.dumps(analysis_data).decode())
|
|
|
# Generate SQL insert statement
|
|
# Generate SQL insert statement
|
|
|
sql = """
|
|
sql = """
|
|
|
INSERT INTO video_demand_score (
|
|
INSERT INTO video_demand_score (
|
|
|
- video_id, video_link, video_title, demand_score,reason
|
|
|
|
|
|
|
+ video_id, video_link, video_title, analysis_summary, analysis_timeline
|
|
|
) VALUES
|
|
) VALUES
|
|
|
"""
|
|
"""
|
|
|
# Add values for each entry
|
|
# Add values for each entry
|
|
@@ -113,7 +113,7 @@ class ConsumptionRecommend(object):
|
|
|
link = f"""https://admin.piaoquantv.com/cms/post-detail/{video_id}/detail"""
|
|
link = f"""https://admin.piaoquantv.com/cms/post-detail/{video_id}/detail"""
|
|
|
entry = data
|
|
entry = data
|
|
|
value = f"""(
|
|
value = f"""(
|
|
|
- {video_id}, '{link}', '{video_title}', '{entry.get('需求强烈程度', )}', '{entry.get('理由', '')}'
|
|
|
|
|
|
|
+ {video_id}, '{link}', '{video_title}', '{entry.get('视频选题与要点理解', )}', '{entry.get('视频分段与时间点分析', '')}'
|
|
|
)"""
|
|
)"""
|
|
|
values.append(value)
|
|
values.append(value)
|
|
|
# Combine SQL statement and values
|
|
# Combine SQL statement and values
|
|
@@ -122,7 +122,7 @@ class ConsumptionRecommend(object):
|
|
|
logger.info(f"{sql}")
|
|
logger.info(f"{sql}")
|
|
|
MysqlHelper.update_values(sql)
|
|
MysqlHelper.update_values(sql)
|
|
|
|
|
|
|
|
- logger.info(f"[处理] text1写入数据库成功")
|
|
|
|
|
|
|
+ logger.info(f"[处理] 视频分析结果写入数据库成功")
|
|
|
|
|
|
|
|
|
|
|
|
|
async def run():
|
|
async def run():
|