update title filter for reddit homemade
This commit is contained in:
+42
-6
@@ -361,7 +361,7 @@ 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, or contains 'homemade', else 'KEEP'. "
|
||||
"Return 'SKIP' if the article is about home appliances, recipes, promotions, contains '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\"})."
|
||||
)
|
||||
@@ -385,19 +385,46 @@ def smart_image_and_filter(title, summary):
|
||||
except json.JSONDecodeError as e:
|
||||
logging.warning(f"JSON parsing failed: {e}, raw: '{fixed_result}'. Using fallback.")
|
||||
main_topic = extract_main_topic(title.lower() + " " + summary.lower())
|
||||
return main_topic, [main_topic, "food"], main_topic, False
|
||||
skip_flag = (
|
||||
"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_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
|
||||
|
||||
if not isinstance(result, dict) or "image_query" not in result or "relevance" not in result or "action" not in result:
|
||||
logging.warning(f"Invalid GPT response format: {result}, using fallback")
|
||||
main_topic = extract_main_topic(title.lower() + " " + summary.lower())
|
||||
return main_topic, [main_topic, "food"], main_topic, False
|
||||
skip_flag = (
|
||||
"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_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
|
||||
|
||||
image_query = result["image_query"]
|
||||
relevance_keywords = result["relevance"]
|
||||
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 summary.lower()
|
||||
skip_flag = (
|
||||
result["action"] == "SKIP" 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"Smart image query: {image_query}, Relevance: {relevance_keywords}, Main Topic: {main_topic}, Skip: {skip_flag}")
|
||||
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_summary={'homemade' in summary.lower()}, "
|
||||
f"recipe_keywords={any(kw in title.lower() or kw in summary.lower() for kw in RECIPE_KEYWORDS)}")
|
||||
|
||||
specific_single_words = ["kimchi", "sushi", "pizza", "taco", "burger", "chipotle", "starbucks", "mcdonalds"]
|
||||
if not image_query:
|
||||
@@ -412,7 +439,16 @@ def smart_image_and_filter(title, summary):
|
||||
except Exception as e:
|
||||
logging.error(f"Smart image/filter failed: {e}, using fallback")
|
||||
main_topic = extract_main_topic(title.lower() + " " + summary.lower())
|
||||
return main_topic, [main_topic, "food"], main_topic, False
|
||||
skip_flag = (
|
||||
"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_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
|
||||
|
||||
def extract_main_topic(text):
|
||||
# Common food-related keywords (expand as needed)
|
||||
|
||||
Reference in New Issue
Block a user