Spaces:
Sleeping
Sleeping
| from services.utils import run_analysis | |
| SYSTEM_PROMPT = """You are a LinkedIn content strategist. Return ONLY a valid JSON object (not an array). Create high-engagement LinkedIn posts with industry insights.""" | |
| DEFAULTS = { | |
| "post_drafts": [ | |
| {"headline": "Key Insights on This Topic", "body": "Here are my thoughts on this important subject. It's changing how we approach problems in 2026.", "hook": "Stop scrolling if you care about this", "post_type": "text", "call_to_action": "Share your thoughts below", "media_suggestion": "Infographic with key stats"} | |
| ], | |
| "hashtags": ["#industry", "#leadership"], | |
| "article_topics": ["The Future of This Industry"], | |
| "thought_leadership_angles": ["Unique perspective on current trends"], | |
| "engagement_prompts": ["What has your experience been with this topic?"], | |
| "target_audience_tags": ["#TechLeaders", "#IndustryPros"], | |
| "best_posting_time": "7-9 AM EST Tue-Thu", | |
| "industry_insights": "This is a growing space with significant potential." | |
| } | |
| def analyze_linkedin(content: str) -> dict: | |
| messages = [ | |
| {"role": "system", "content": SYSTEM_PROMPT}, | |
| {"role": "user", "content": f'Topic: "{content[:1000]}"\nReturn a JSON object (not an array) with these keys:\n- post_drafts (2 items, each with "headline" + "body" + "hook" + "post_type" ["text"|"article"|"poll"] + "call_to_action" + "media_suggestion")\n- hashtags (4 items)\n- article_topics (2 items)\n- thought_leadership_angles (2 items)\n- engagement_prompts (2 items, questions to spark discussion)\n- target_audience_tags (2 items, industry tags)\n- best_posting_time (string)\n- industry_insights (string)'} | |
| ] | |
| return run_analysis(messages, defaults=DEFAULTS, temperature=0.35, max_new_tokens=1000) | |