Shane 7 months ago
parent d54e640644
commit c36eac7587
  1. 15
      foodie_utils.py

@ -362,7 +362,8 @@ def smart_image_and_filter(title, summary):
"Analyze this article title and summary. Extract key entities (brands, locations, cuisines, or topics) "
"for an image search about food industry trends or viral content. Prioritize specific multi-word terms if present, "
"otherwise focus on the main theme. Also identify the main topic of the article (e.g., a specific food item or cuisine). "
"Return 'SKIP' if the article is about home appliances, recipes, promotions, contains 'homemade', or includes recipe-related terms like 'cook', 'bake', or 'ingredient'. "
"Return 'SKIP' if the article is about home appliances, recipes, promotions, contains '[homemade]' or 'homemade', "
"or includes recipe-related terms like 'cook', 'bake', or 'ingredient'. "
"Return as JSON with double quotes for all property names and string values (e.g., "
"{\"image_query\": \"fast food trends\", \"relevance\": [\"fast food\", \"dining\", \"culture\"], \"main_topic\": \"fast food\", \"action\": \"KEEP\"})."
)
@ -390,12 +391,13 @@ def smart_image_and_filter(title, summary):
return extract_main_topic(title.lower() + " " + summary.lower()), ["food"], "food", True
main_topic = extract_main_topic(title.lower() + " " + summary.lower())
skip_flag = (
"[homemade]" in title.lower() or
"homemade" in title.lower() or
"homemade" in summary.lower() or
any(kw in title.lower() or kw in summary.lower() for kw in RECIPE_KEYWORDS)
)
logging.info(f"Fallback for '{title}': Skip={skip_flag}, Reasons: "
f"homemade_in_title={'homemade' in title.lower()}, "
f"homemade_in_title={'[homemade]' in title.lower() or 'homemade' in title.lower()}, "
f"homemade_in_summary={'homemade' in summary.lower()}, "
f"recipe_keywords={any(kw in title.lower() or kw in summary.lower() for kw in RECIPE_KEYWORDS)}")
return main_topic, [main_topic, "food"], main_topic, skip_flag
@ -403,12 +405,13 @@ def smart_image_and_filter(title, summary):
logging.warning(f"JSON parsing failed: {e}, raw: '{fixed_result}'. Using fallback.")
main_topic = extract_main_topic(title.lower() + " " + summary.lower())
skip_flag = (
"[homemade]" in title.lower() or
"homemade" in title.lower() or
"homemade" in summary.lower() or
any(kw in title.lower() or kw in summary.lower() for kw in RECIPE_KEYWORDS)
)
logging.info(f"Fallback for '{title}': Skip={skip_flag}, Reasons: "
f"homemade_in_title={'homemade' in title.lower()}, "
f"homemade_in_title={'[homemade]' in title.lower() or 'homemade' in title.lower()}, "
f"homemade_in_summary={'homemade' in summary.lower()}, "
f"recipe_keywords={any(kw in title.lower() or kw in summary.lower() for kw in RECIPE_KEYWORDS)}")
return main_topic, [main_topic, "food"], main_topic, skip_flag
@ -418,6 +421,7 @@ def smart_image_and_filter(title, summary):
main_topic = result.get("main_topic", extract_main_topic(title.lower() + " " + summary.lower()))
skip_flag = (
result["action"] == "SKIP" or
"[homemade]" in title.lower() or
"homemade" in title.lower() or
"homemade" in summary.lower() or
any(kw in title.lower() or kw in summary.lower() for kw in RECIPE_KEYWORDS)
@ -425,7 +429,7 @@ def smart_image_and_filter(title, summary):
logging.info(f"Smart image query: {image_query}, Relevance: {relevance_keywords}, Main Topic: {main_topic}, Skip: {skip_flag}, "
f"Reasons: action={result['action']}, "
f"homemade_in_title={'homemade' in title.lower()}, "
f"homemade_in_title={'[homemade]' in title.lower() or 'homemade' in title.lower()}, "
f"homemade_in_summary={'homemade' in summary.lower()}, "
f"recipe_keywords={any(kw in title.lower() or kw in summary.lower() for kw in RECIPE_KEYWORDS)}")
@ -443,12 +447,13 @@ def smart_image_and_filter(title, summary):
logging.error(f"Smart image/filter failed: {e}, using fallback")
main_topic = extract_main_topic(title.lower() + " " + summary.lower())
skip_flag = (
"[homemade]" in title.lower() or
"homemade" in title.lower() or
"homemade" in summary.lower() or
any(kw in title.lower() or kw in summary.lower() for kw in RECIPE_KEYWORDS)
)
logging.info(f"Fallback for '{title}': Skip={skip_flag}, Reasons: "
f"homemade_in_title={'homemade' in title.lower()}, "
f"homemade_in_title={'[homemade]' in title.lower() or 'homemade' in title.lower()}, "
f"homemade_in_summary={'homemade' in summary.lower()}, "
f"recipe_keywords={any(kw in title.lower() or kw in summary.lower() for kw in RECIPE_KEYWORDS)}")
return main_topic, [main_topic, "food"], main_topic, skip_flag

Loading…
Cancel
Save