优化了推文结果的获取

This commit is contained in:
jinye_huang 2025-05-08 23:35:03 +08:00
parent a4bed46692
commit 2e4f930004

View File

@ -58,14 +58,12 @@ class tweetContent:
self.variant_index = variant_index self.variant_index = variant_index
try: try:
self.title, self.content, self.tag = self.split_content(result) self.json_data = self.split_content(result)
self.json_data = self.gen_result_json()
except Exception as e: except Exception as e:
logging.error(f"Failed to parse AI result for {article_index}_{variant_index}: {e}") logging.error(f"Failed to parse AI result for {article_index}_{variant_index}: {e}")
logging.debug(f"Raw result: {result[:500]}...") # Log partial raw result logging.debug(f"Raw result: {result[:500]}...") # Log partial raw result
self.title = "" # 改为空字符串,而不是 "[Parsing Error]" self.json_data = {"title": "", "content": "", "tag": "", "error": True, "raw_result": e} # 不再包含raw_result
self.content = "" # 改为空字符串,而不是 "[Failed to parse AI content]"
self.json_data = {"title": self.title, "content": self.content, "error": True} # 不再包含raw_result
def split_content(self, result): def split_content(self, result):
# Assuming split logic might still fail, keep it simple or improve with regex/json # Assuming split logic might still fail, keep it simple or improve with regex/json
@ -83,31 +81,20 @@ class tweetContent:
try: try:
processed_result = result processed_result = result
if "</think>" in result: if "</think>" in result:
processed_result = result.split("</think>", 1)[1] # Take part after </think> processed_result = result.split("</think>")[1] # Take part after </think>
# 以json 格式输出 # 以json 格式输出
json_data = json.loads(processed_result) json_data = json.loads(processed_result)
title = json_data.get("title") json_data["error"] = False
content = json_data.get("content") json_data["raw_result"] = None
tag = json_data.get("tag") return json_data
# --- End Existing Logic --- # --- End Existing Logic ---
return title.strip(), content.strip(), tag.strip()
except Exception as e: except Exception as e:
logging.warning(f"解析内容时出错: {e}, 返回空字符串") logging.warning(f"解析内容时出错: {e}, 返回空字符串")
return "", "" json_data["error"] = True
json_data["raw_result"] = e
def gen_result_json(self): return json_data
json_file = {
"title": self.title,
"content": self.content,
"tag": self.tag
}
# Add error flag if it exists
if hasattr(self, 'json_data') and self.json_data.get('error'):
json_file['error'] = True
json_file['raw_result'] = self.json_data.get('raw_result')
logging.info(f"Generated JSON: {json_file}")
return json_file
def get_json_data(self): def get_json_data(self):
"""Returns the generated JSON data dictionary.""" """Returns the generated JSON data dictionary."""