Miselenstralium / agent.py
acecalisto3's picture
Update agent.py
4b050fe verified
raw
history blame
35.9 kB
import json
import re
import os
from datetime import datetime
import importlib
# Viral Content Generator Agent
PREFIX = """You are an Advanced Viral Content Generator with Self-Research and Self-Improvement Capabilities
You can generate viral content across multiple formats: blog articles, books, review articles, and academic papers
You have access to the following tools and capabilities:
- Self-Insight: Generate new content ideas based on trending topics and user preferences
- Self-Research: Use real-time internet searches to gather information for your content
- Content Generation: Create content in various formats with viral potential
- Self-Evaluation: Assess the quality and potential of your generated content
- Publishing Pipeline: Format and structure content for publication
Trigger tools by using this format:
action: TOOL_NAME action_input=YOUR_INPUT
Your workflow:
1. Generate or receive content ideas
2. Research the topic thoroughly
3. Create content in the requested format (or determine the optimal format)
4. Self-evaluate and improve the content
5. Format for publication
6. Repeat or generate new ideas based on performance
Current Date/Time: {date_time_str}
Purpose:
{purpose}
"""
ACTION_PROMPT = """
You have access to the following tools:
- action: GENERATE_IDEA action_input=TOPIC_DESCRIPTION
- action: RESEARCH action_input=TOPIC_TO_RESEARCH
- action: GENERATE_CONTENT action_input=TOPIC_FORMAT_TYPE
- action: SELF_EVALUATE action_input=CONTENT_TO_EVALUATE
- action: IMPROVE_CONTENT action_input=CONTENT_AND_FEEDBACK
- action: FORMAT_CONTENT action_input=CONTENT_AND_FORMAT_REQUIREMENTS
- action: PUBLISH action_input=FINAL_CONTENT
- action: COMPLETE
Instructions:
- Use GENERATE_IDEA to come up with new viral content topics
- Use RESEARCH to search the internet for information about your topic
- Use GENERATE_CONTENT to create content in various formats (blog, book, review, paper)
- Use SELF_EVALUATE to assess the quality and viral potential of your content
- Use IMPROVE_CONTENT to enhance your content based on evaluation
- Use FORMAT_CONTENT to prepare content for publication
- Use PUBLISH to finalize your content for distribution
- End with COMPLETE when task is finished
Always use the following format:
task: the input task you must complete
thought: think about what your next step should be
action: the action to take (one of [GENERATE_IDEA, RESEARCH, GENERATE_CONTENT, SELF_EVALUATE, IMPROVE_CONTENT, FORMAT_CONTENT, PUBLISH, COMPLETE]) action_input=XXX
observation: the result of the action
thought: consider the next step based on the observation
... (this thought/action/observation/thought cycle can repeat as needed)
You are attempting to complete the task
task: {task}
{history}"""
IDEA_GENERATOR_PROMPT = """
You are a Viral Content Idea Generator
Your purpose is to generate engaging, viral-worthy content ideas across multiple formats
Consider trending topics, popular formats, controversial subjects, and knowledge gaps
Content formats you can generate ideas for:
- Blog articles (viral blog posts on trending topics)
- Books (self-help, fiction, technical, etc.)
- Review articles (product reviews, service reviews, book/movie reviews)
- Academic papers (research, analysis, theoretical papers)
- Social media content (short-form viral content)
- Newsletters (curated content)
- Research reports
Task: {task}
Current context: {history}
Generate a compelling content idea with potential for virality. Consider:
- Current trending topics
- Underserved niches
- Controversial or debatable topics
- Educational value combined with entertainment
- Emotional triggers (curiosity, surprise, outrage, joy, fear)
- Format that would maximize engagement
Idea:"""
RESEARCH_PROMPT = """
You are a Self-Research Content Agent
Your task is to research the following topic and gather comprehensive information:
{task}
Research requirements:
- Find the most current and relevant information
- Gather statistics, data, and evidence
- Identify expert opinions and viewpoints
- Collect examples and case studies
- Look for controversies or debates in the topic area
- Note recent developments or news related to the topic
Use your research to build a comprehensive knowledge base for content creation.
Research results:"""
CONTENT_GENERATOR_PROMPT = """
You are a Viral Content Creator
Create compelling content with strong viral potential in the specified format.
Topic: {task}
Format type: {format_type}
Research data: {research_data}
Content creation guidelines:
- Create a hook in the first paragraph that makes people want to read more
- Use storytelling elements to engage the audience
- Include surprising facts or statistics if available
- Address a specific pain point or provide a solution
- Use emotional triggers appropriately
- Include visual elements if possible (imagined for now)
- End with a strong call to action or thought-provoking conclusion
- Format appropriately for the content type:
* Blog: Engaging title, subheadings, readable paragraphs, conclusion
* Book: Outline, chapters with appropriate content, references
* Review: Clear structure, pros/cons, rating, recommendation
* Academic Paper: Abstract, introduction, methodology, results, discussion, references
Write your content:"""
EVALUATION_PROMPT = """
You are a Content Quality Assessor
Evaluate the following content for viral potential and quality:
Content: {content}
Evaluation criteria:
- Engagement potential (likelihood to be shared/commented on)
- Information quality and accuracy
- Originality and uniqueness
- Emotional impact
- Structure and readability
- Credibility of sources (if applicable)
- Headline strength (if applicable)
- Call to action effectiveness
Provide a score (1-10) for each criterion and overall viral potential.
Suggest specific improvements to increase viral potential.
Evaluation:"""
IMPROVEMENT_PROMPT = """
You are a Content Improvement Specialist
Improve the following content based on the evaluation feedback:
Content: {content}
Evaluation feedback: {feedback}
Make specific improvements focusing on:
- Increasing engagement potential
- Strengthening weak areas identified in evaluation
- Enhancing emotional triggers
- Improving readability and flow
- Adding viral elements
- Optimizing for the target format
Improved content:"""
FORMATTING_PROMPT = """
You are a Content Formatter
Format the following content for publication according to the specified requirements:
Content: {content}
Format requirements: {format_requirements}
Apply appropriate:
- Structure and hierarchy
- Headings and subheadings
- Styling for readability
- Citations and references (if academic)
- Metadata for publishing platform
- SEO elements (titles, tags, descriptions)
- Visual element placeholders
- Conclusion and call to action
Formatted content:"""
PUBLISHING_PROMPT = """
You are a Publication Manager
Prepare the final content for publishing:
Content: {content}
Publishing requirements: {publishing_requirements}
Tasks:
- Verify all formatting is complete
- Check for any last-minute errors
- Generate any additional metadata needed
- Prepare for distribution
- Create publishing manifest
- Mark content as ready for distribution
Publication-ready content:"""
TASK_PROMPT = """
You are determining the next task in the viral content generation pipeline
Current task: {task}
Progress so far: {history}
Based on the purpose and progress, what should the next specific task be?
Consider:
- What information or step is missing
- What would move the content generation forward most effectively
- If research is needed
- If content creation should begin
- If evaluation or improvement is needed
- If formatting for publication is required
Next task:"""
SEARCH_QUERY = """
You are determining what to search for to gather information for viral content
Topic: {task}
Research progress: {history}
What specific information do you need to search for to create viral content about this topic?
Formulate a search query or list of search terms:"""
LOG_PROMPT = """
PROMPT
**************************************
{}
**************************************
"""
LOG_RESPONSE = """
RESPONSE
**************************************
{}
**************************************
"""
import random
import requests
import time
from typing import Dict, List, Any, Optional
class ViralContentGeneratorAgent:
"""
Advanced viral content generation agent with self-inspiration,
self-research, and self-publishing capabilities
"""
def __init__(self):
self.content_history = []
self.inspiration_sources = [
"trending_topics",
"social_media",
"news_outlets",
"academic_papers",
"popular_discussions",
"user_feedback_patterns"
]
self.viral_factors = [
"emotional_trigger",
"controversy",
"surprise_element",
"practical_value",
"storytelling",
"visual_appeal",
"social_proof"
]
self.content_formats = [
"blog_article",
"book_chapter",
"review_article",
"academic_paper",
"social_media_post",
"newsletter"
]
def generate_idea(self, topic_description: str = "") -> str:
"""
Generate viral content ideas based on trending topics and self-inspiration
"""
if not topic_description:
# Self-inspire by checking trending topics and viral factors
inspiration_source = random.choice(self.inspiration_sources)
viral_factor = random.choice(self.viral_factors)
content_format = random.choice(self.content_formats)
# This is a simplified version - in practice, this would connect to real trending data
idea_templates = [
f"How {viral_factor.title()} Can Transform Your {random.choice(['Life', 'Business', 'Career'])} - A Comprehensive {content_format.replace('_', ' ').title()}",
f"The {random.choice(['Shocking', 'Surprising', 'Unexpected'])} Truth About {random.choice(['Productivity', 'Health', 'Money', 'Relationships'])}: {content_format.replace('_', ' ').title()}",
f"Why Everyone is Talking About {random.choice(['AI', 'Crypto', 'Remote Work', 'Sustainability', 'Mental Health'])} in 2025: A {content_format.replace('_', ' ').title()}",
f"{random.randint(5, 15)} {random.choice(['Strategies', 'Tips', 'Secrets', 'Hacks'])} for {random.choice(['Success', 'Happiness', 'Wealth', 'Health'])} That Actually Work: {content_format.replace('_', ' ').title()}",
f"The {random.choice(['Ultimate', 'Complete', 'Definitive'])} Guide to {random.choice(['Mastering', 'Understanding', 'Implementing'])} {random.choice(['AI', 'Blockchain', 'Digital Marketing', 'Personal Finance'])}: {content_format.replace('_', ' ').title()}",
f"{random.choice(['Debunking', 'Exploring', 'Analyzing'])} The {random.choice(['Most Controversial', 'Most Popular', 'Most Misunderstood'])} {content_format.replace('_', ' ').title()} About {random.choice(['Technology', 'Science', 'Psychology', 'Economics'])}"
]
return random.choice(idea_templates)
else:
# Generate an idea based on the provided description
format_type = random.choice(self.content_formats)
return f"{topic_description}: A {format_type.replace('_', ' ').title()} Exploring Key Insights and Findings"
def research_topic(self, topic: str) -> Dict[str, Any]:
"""
Conduct self-research on a topic using simulated data
In practice, this would connect to real research APIs
"""
# Simulated research data - in a real implementation, this would connect to web search APIs
research_data = {
"title": topic,
"summary": f"Comprehensive research on {topic} covering key aspects, trends, debates, and insights.",
"key_points": [
f"Key insight 1 about {topic}",
f"Key insight 2 about {topic}",
f"Key insight 3 about {topic}",
],
"statistics": [
f"{random.randint(60, 95)}% of experts believe {topic} is important",
f"Studies show {random.randint(2, 5)}x improvement when following best practices for {topic}",
f"{random.randint(100, 1000)} million people are interested in {topic}",
],
"controversies": [
f"Debate around approach A vs approach B in {topic}",
f"Conflicting studies on the effectiveness of {topic}",
],
"expert_opinions": [
f"Expert Dr. {random.choice(['Smith', 'Johnson', 'Williams'])} states that {topic} 'is the future'",
f"Author of bestseller 'The Truth About {topic}' believes it's 'overhyped'",
],
"recent_developments": [
f"New study published this month on {topic}",
f"Major breakthrough announced in {topic} research",
],
"sources": [
f"https://research.example.com/{topic.replace(' ', '_')}/latest",
f"https://news.example.com/{topic.replace(' ', '_')}/trends",
]
}
return research_data
def generate_content(self, topic: str, format_type: str, research_data: Dict[str, Any]) -> str:
"""
Generate viral content in the specified format
"""
# Determine the format-specific content structure
if format_type == "blog_article":
return self._generate_blog_article(topic, research_data)
elif format_type == "book_chapter":
return self._generate_book_chapter(topic, research_data)
elif format_type == "review_article":
return self._generate_review_article(topic, research_data)
elif format_type == "academic_paper":
return self._generate_academic_paper(topic, research_data)
else:
return self._generate_generic_content(topic, format_type, research_data)
def _generate_blog_article(self, topic: str, research_data: Dict[str, Any]) -> str:
"""
Generate a viral blog article
"""
blog_content = f"""
# {topic}
## Introduction
In today's fast-paced world, understanding {topic} has become more crucial than ever. Recent research shows that {random.choice(research_data.get('statistics', ['']))}. This comprehensive guide will explore everything you need to know about this fascinating subject.
## The Key Insights
### {research_data.get('key_points', [''])[0]}
{random.choice(['This is groundbreaking because...', 'The implications are fascinating...', 'Experts have been buzzing about this because...'])} {random.choice(research_data.get('recent_developments', ['']))}.
### {research_data.get('key_points', [''])[1]}
{random.choice(['According to experts...', 'Research has shown...', 'The data clearly indicates...'])} {random.choice(research_data.get('expert_opinions', ['']))}.
### {research_data.get('key_points', [''])[2]}
{random.choice(['What makes this particularly interesting is...', 'This challenges conventional wisdom about...', 'The reason this is so impactful is...'])} {random.choice(research_data.get('controversies', ['']))}.
## The Bottom Line
{topic} represents a {random.choice(['shift', 'revolution', 'breakthrough', 'evolution'])} in how we understand and {random.choice(['approach', 'think about', 'deal with'])} this subject. As {random.choice(research_data.get('recent_developments', ['']))}, it's essential to {random.choice(['stay informed', 'think critically', 'keep learning'])}.
## Conclusion
The {random.choice(['future', 'potential', 'impact'])} of {topic} is {random.choice(['bright', 'unpredictable', 'transformative'])}, and {random.choice(['now', 'today', 'the present moment'])} is the perfect time to {random.choice(['get involved', 'learn more', 'take action'])}. What are your thoughts on this topic? Share them in the comments below!
---
*Written by Viral Content Generator | Published on {datetime.now().strftime('%Y-%m-%d')}*
"""
return blog_content
def _generate_book_chapter(self, topic: str, research_data: Dict[str, Any]) -> str:
"""
Generate a book chapter
"""
chapter_content = f"""
# Chapter {random.randint(1, 15)}: {topic}
## Abstract
This chapter delves into the multifaceted aspects of {topic}, examining {random.choice(research_data.get('key_points', ['']))} with detailed analysis and practical applications.
## Introduction
The study of {topic} has gained significant traction in recent years as {random.choice(research_data.get('recent_developments', ['']))}. This chapter provides an in-depth examination of the subject, offering insights that are both academically rigorous and practically applicable.
## Literature Review
Previous research on {topic} has largely focused on {random.choice(research_data.get('key_points', ['']))}, with {random.choice(['pioneering', 'seminal', 'influential'])} works by {random.choice(['Smith (2020)', 'Johnson & Williams (2021)', 'Roberts et al. (2022)'])} establishing the foundational understanding.
## Analysis and Discussion
Our analysis reveals several {random.choice(['important', 'notable', 'significant'])} findings regarding {topic}:
1. {random.choice(research_data.get('key_points', ['']))}
2. {random.choice(research_data.get('controversies', ['']))}
3. {random.choice(research_data.get('recent_developments', ['']))}
These findings suggest that {topic} operates according to {random.choice(['different', 'more complex', 'evolving'])} principles than previously understood, with implications for {random.choice(['practitioners', 'researchers', 'policymakers'])}.
## Implications
The implications of our research on {topic} extend to {random.choice(['multiple domains', 'several fields', 'various applications'])}, particularly in how {random.choice(['organizations', 'individuals', 'systems'])} {random.choice(['approach', 'implement', 'utilize'])} related concepts.
## Future Directions
Future research should focus on {random.choice(['longitudinal studies', 'cross-cultural analyses', 'experimental validations'])} to further {random.choice(['refine', 'expand', 'validate'])} our understanding of {topic}.
## Conclusion
In conclusion, {topic} represents a {random.choice(['critical', 'emerging', 'significant'])} area of study with far-reaching implications. As the field continues to evolve, it is {
random.choice(['essential', 'important', 'crucial'])} to {random.choice(['maintain rigorous standards', 'continue exploring', 'build on existing knowledge'])}.
---
*Chapter from "{topic}: A Comprehensive Guide" | {datetime.now().strftime('%Y')}*
"""
return chapter_content
def _generate_review_article(self, topic: str, research_data: Dict[str, Any]) -> str:
"""
Generate a review article
"""
review_content = f"""
# {topic}: A Comprehensive Review
## Executive Summary
This review examines {topic} by analyzing {random.randint(5, 15)} major sources, {random.randint(2, 8)} studies, and {random.randint(10, 30)} different perspectives to provide a balanced assessment.
## Introduction
With {random.choice(research_data.get('statistics', ['']))}, {topic} has become a topic of significant interest. This review consolidates current knowledge and {random.choice(['evaluates', 'assesses', 'analyzes'])} the available information to provide {random.choice(['consumers', 'professionals', 'readers'])} with a comprehensive understanding.
## Product/Service Overview
{topic} can be {random.choice(['defined as', 'described as', 'characterized by'])} {random.choice(research_data.get('key_points', ['']))}. The {random.choice(['primary', 'main', 'key'])} features include:
- {random.choice(['Innovation', 'Quality', 'Performance', 'Value'])} in {random.choice(['design', 'function', 'delivery', 'experience'])}
- {random.choice(['Unique', 'Proven', 'Effective', 'Revolutionary'])} approach to {random.choice(['problem-solving', 'service delivery', 'value creation'])}
- {random.choice(['Sustainable', 'Ethical', 'Modern', 'Advanced'])} practices and methodologies
## Pros and Cons
### Pros
1. {random.choice(research_data.get('key_points', ['']))}
2. {random.choice(research_data.get('expert_opinions', ['']))}
3. {random.choice(research_data.get('statistics', ['']))}
### Cons
1. {random.choice(research_data.get('controversies', ['']))}
2. Potential {random.choice(['limitation', 'concern', 'drawback'])} regarding {random.choice(['cost', 'accessibility', 'scalability'])}
3. {random.choice(['Ongoing', 'Current', 'Underlying'])} debate about {random.choice(['effectiveness', 'safety', 'reliability'])}
## Performance Analysis
Based on our review, {topic} {random.choice(['exceeds', 'meets', 'approaches'])} expectations in {random.choice(['most', 'several', 'many'])} areas, with {random.choice(['particularly', 'especially', 'notably'])} strong performance in {random.choice(['functionality', 'usability', 'durability', 'value'])}.
## User Feedback
{random.choice(research_data.get('statistics', ['']))} of users report {random.choice(['high', 'satisfactory', 'positive'])} experiences with {topic}, though {random.choice(['some', 'a minority', 'certain'])} have raised {random.choice(['concerns', 'questions', 'issues'])} about {random.choice(['pricing', 'support', 'features'])}.
## Value Assessment
Considering all factors, {topic} offers {random.choice(['exceptional', 'good', 'reasonable'])} value for {random.choice(['its price', 'its features', 'the market segment'])} {random.choice(['with', 'and'])} {random.choice(['minimal', 'some', 'significant'])} room for improvement in {random.choice(['specific', 'certain', 'particular'])} areas.
## Final Verdict
Overall, {topic} receives a {random.randint(7, 9)}/10 rating, recommended for {random.choice(['beginners', 'intermediates', 'advanced users'])} looking for {random.choice(['quality', 'innovation', 'reliability'])} in this category.
### Rating Breakdown
- Features: {random.randint(7, 10)}/10
- Performance: {random.randint(7, 10)}/10
- Value: {random.randint(6, 9)}/10
- User Satisfaction: {random.randint(7, 9)}/10
### The Bottom Line
{topic} stands out as a {random.choice(['solid', 'outstanding', 'competent'])} {random.choice(['option', 'choice', 'solution'])} in its category, offering {random.choice(['reliable', 'proven', 'effective'])} results with {random.choice(['minimal', 'manageable', 'acceptable'])} trade-offs.
---
*Review by Viral Content Generator | Published: {datetime.now().strftime('%Y-%m-%d')}*
"""
return review_content
def _generate_academic_paper(self, topic: str, research_data: Dict[str, Any]) -> str:
"""
Generate an academic paper
"""
paper_content = f"""
# {topic}: A Theoretical and Empirical Analysis
## Abstract
This paper examines {topic} through both theoretical frameworks and empirical data. Our {random.choice(['analysis', 'study', 'investigation'])} reveals {random.choice(research_data.get('key_points', ['']))}, with significant implications for {random.choice(['theory', 'practice', 'future research'])}. The findings suggest that {random.choice(['conventional wisdom', 'existing models', 'current understanding'])} regarding {topic} may require {random.choice(['revision', 'update', 'expansion'])}.
**Keywords:** {topic}, {random.choice(['research', 'analysis', 'study'])}, {random.choice(['theory', 'methodology', 'application'])}, {random.choice(['findings', 'results', 'implications'])}
## 1. Introduction
The {random.choice(['growing', 'increasing', 'expanding'])} relevance of {topic} in {random.choice(['contemporary', 'modern', 'current'])} {random.choice(['contexts', 'environments', 'settings'])} {random.choice(['necessitates', 'requires', 'demands'])} thorough investigation. As {random.choice(research_data.get('recent_developments', ['']))}, researchers and practitioners have turned their attention to understanding the {random.choice(['complexities', 'nuances', 'mechanisms'])} underlying {topic}.
This paper contributes to the literature by {random.choice(['providing', 'offering', 'presenting'])} a {random.choice(['comprehensive', 'novel', 'integrated'])} perspective on {topic} that {random.choice(['synthesizes', 'extends', 'challenges'])} existing {random.choice(['theories', 'models', 'frameworks'])}.
## 2. Literature Review
Previous research on {topic} has {random.choice(['established', 'explored', 'examined'])} several {random.choice(['key', 'important', 'fundamental'])} {random.choice(['dimensions', 'aspects', 'elements'])}. {random.choice(['Seminal', 'Foundational', 'Pioneering'])} work by {random.choice(['Smith (2020)', 'Johnson et al. (2021)', 'Williams & Brown (2022)'])} first {random.choice(['identified', 'proposed', 'established'])} the {random.choice(['theoretical', 'conceptual', 'empirical'])} framework for understanding {topic}.
Subsequent {random.choice(['studies', 'research', 'investigations'])} by {random.choice(['Davis (2021)', 'Miller & Wilson (2022)', 'Taylor et al. (2023)'])} have {random.choice(['extended', 'refined', 'challenged'])} this framework, {random.choice(['revealing', 'demonstrating', 'showing'])} {random.choice(['new', 'additional', 'alternative'])} {random.choice(['insights', 'dimensions', 'mechanisms'])}. However, {random.choice(['gaps', 'limitations', 'inconsistencies'])} remain in the literature, particularly with respect to {random.choice(['methodological', 'theoretical', 'practical'])} {random.choice(['approaches', 'considerations', 'applications'])}.
## 3. Methodology
Our {random.choice(['approach', 'method', 'methodology'])} combines {random.choice(['quantitative', 'qualitative', 'mixed-method'])} techniques to {random.choice(['investigate', 'examine', 'analyze'])} {topic}. We {random.choice(['collected', 'gathered', 'obtained'])} data from {random.randint(100, 1000)} {random.choice(['participants', 'sources', 'cases'])} using {random.choice(['surveys', 'interviews', 'observations', 'existing datasets'])}, applying {random.choice(['statistical', 'content', 'thematic'])} analysis to address our research questions.
## 4. Results
Our findings {random.choice(['indicate', 'suggest', 'demonstrate'])} that {topic} {random.choice(['operates', 'functions', 'behaves'])} in {random.choice(['accordance with', 'deviation from', 'addition to'])} {random.choice(['existing', 'current', 'traditional'])} {random.choice(['theories', 'models', 'understanding'])}. Specifically, we {random.choice(['observed', 'found', 'identified'])} {random.choice(research_data.get('key_points', ['']))}, which {random.choice(['confirms', 'challenges', 'extends'])} {random.choice(['previous', 'earlier', 'prior'])} research.
## 5. Discussion
The implications of our research on {topic} are {random.choice(['significant', 'notable', 'important'])} for {random.choice(['scholars', 'practitioners', 'policy makers'])} in {random.choice(['the field', 'related domains', 'adjacent areas'])}. Our results {random.choice(['confirm', 'refine', 'challenge'])} the {random.choice(['prevailing', 'dominant', 'current'])} {random.choice(['paradigm', 'model', 'understanding'])} and {random.choice(['suggest', 'indicate', 'point'])} {random.choice(['directions', 'avenues', 'paths'])} for {random.choice(['future', 'subsequent', 'further'])} research.
## 6. Conclusions
This paper has {random.choice(['contributed', 'advanced', 'enhanced'])} understanding of {topic} by {random.choice(['integrating', 'synthesizing', 'extending'])} {random.choice(['theoretical', 'empirical', 'conceptual'])} perspectives. Future research should {random.choice(['focus on', 'explore', 'investigate'])} {random.choice(research_data.get('controversies', ['']))} and {random.choice(['examine', 'analyze', 'study'])} the {random.choice(['long-term', 'practical', 'broader'])} implications of our findings.
## References
{random.choice(['Smith, J. (2020). Understanding {topic}. Journal of Advanced Research, 15(3), 123-145.',
'Miller, K., & Johnson, L. (2021). The evolution of {topic}. Contemporary Studies, 8(2), 45-67.',
'Williams, R. (2022). {topic}: Past, present, and future. Academic Press.',
'Taylor, M. et al. (2023). New perspectives on {topic}. Modern Research Quarterly, 22(1), 89-105.']).format(topic=topic)}
---
*Academic Paper | {datetime.now().strftime('%Y-%m-%d')}*
"""
return paper_content
def _generate_generic_content(self, topic: str, format_type: str, research_data: Dict[str, Any]) -> str:
"""
Generate content for formats not specifically handled
"""
return f"""
# {topic}
## Overview
This {format_type.replace('_', ' ')} explores the key aspects of {topic}, drawing on current research and {random.choice(research_data.get('key_points', ['']))}.
## Key Points
1. {random.choice(research_data.get('key_points', ['']))}
2. {random.choice(research_data.get('controversies', ['']))}
3. {random.choice(research_data.get('recent_developments', ['']))}
## Conclusion
{topic} represents a significant development in its field, with important implications for {random.choice(['practitioners', 'researchers', 'consumers'])}. As {random.choice(research_data.get('recent_developments', ['']))}, continued attention to this topic is warranted.
---
*Generated by Viral Content Generator on {datetime.now().strftime('%Y-%m-%d')}*
"""
def evaluate_content(self, content: str) -> Dict[str, Any]:
"""
Evaluate content for viral potential and quality
"""
evaluation = {
"engagement_potential": random.randint(6, 10),
"information_quality": random.randint(7, 10),
"originality": random.randint(6, 9),
"emotional_impact": random.randint(5, 9),
"structure_readability": random.randint(7, 10),
"credibility": random.randint(6, 9),
"headline_strength": random.randint(6, 9),
"call_to_action": random.randint(5, 8),
"overall_viral_potential": random.randint(6, 9),
"strengths": [
"Well-researched content",
"Good structure and flow",
"Addresses key points effectively"
],
"improvements": [
"Add more emotional triggers",
"Include visual elements",
"Strengthen the conclusion",
"Add more statistics to support claims"
]
}
return evaluation
def improve_content(self, content: str, feedback: Dict[str, Any]) -> str:
"""
Improve content based on evaluation feedback
"""
# This is a simplified version - in practice, would use more sophisticated NLP
improvements = feedback.get('improvements', [])
improved_content = content
for improvement in improvements:
if "emotional triggers" in improvement:
# Insert emotional language
improved_content = improved_content.replace(
"This is important",
"This is shockingly important and will change everything you thought you knew"
).replace(
"Consider",
"You need to consider this crucial point right now"
)
elif "visual elements" in improvement:
improved_content += f"\n\n*[Visual element: {random.choice(['chart', 'infographic', 'diagram'])} illustrating key points about {content[:20]}...]*\n"
elif "statistics" in improvement:
improved_content = improved_content.replace(
"The research shows",
f"The {random.randint(7, 9)} key studies show that {random.choice(['over 70%', 'nearly 80%', 'about 75%'])} of cases demonstrate"
)
return improved_content
def format_content(self, content: str, requirements: Dict[str, Any]) -> str:
"""
Format content for publication
"""
# Apply formatting based on requirements
formatted_content = f"# {requirements.get('title', 'Virally Generated Content')}\n\n"
formatted_content += content
# Add metadata if requested
if requirements.get('include_metadata'):
formatted_content += f"\n\n---\n**Published:** {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}"
formatted_content += f"\n**Generated by:** Viral Content Generator Agent"
formatted_content += f"\n**Format:** {requirements.get('format', 'Generic')}"
formatted_content += f"\n**Tags:** {', '.join(requirements.get('tags', ['viral', 'content', 'generated']))}"
# Add call to action if requested
if requirements.get('include_cta'):
cta_options = [
"Share this content if you found it valuable!",
"Subscribe for more viral content like this!",
"Comment below with your thoughts on this topic!",
"Follow for daily viral content updates!"
]
formatted_content += f"\n\n> {random.choice(cta_options)}"
return formatted_content
def publish_content(self, content: str, requirements: Dict[str, Any]) -> str:
"""
Prepare content for publishing/distribution
"""
# In a real implementation, this would handle actual publishing
publishing_manifest = {
"content_id": f"VCG_{int(time.time())}",
"publish_time": datetime.now().isoformat(),
"format": requirements.get('format', 'generic'),
"target_platform": requirements.get('platform', 'multi-platform'),
"estimated_reach": f"{random.randint(100, 10000)}+ potential readers",
"virality_score": random.randint(7, 10),
"hashtags": requirements.get('hashtags', ['#ViralContent', '#AIContent', f'#{content.split()[0] if content.split() else "Generated"}'])
}
published_content = f"[PUBLICATION MANIFEST: {json.dumps(publishing_manifest, indent=2)}]\n\n{content}"
return published_content
def complete_task(self) -> str:
"""
Mark task as complete and provide summary
"""
return f"Task completed successfully. Generated viral content ready for distribution. Time: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}"
# Tool mappings for the viral content generator
TOOLS = {
"GENERATE_IDEA": {
"function": "generate_idea",
"description": "Generate viral content ideas across formats"
},
"RESEARCH": {
"function": "research_topic",
"description": "Research topics for content generation"
},
"GENERATE_CONTENT": {
"function": "generate_content",
"description": "Create content in specified format"
},
"SELF_EVALUATE": {
"function": "evaluate_content",
"description": "Evaluate content quality and viral potential"
},
"IMPROVE_CONTENT": {
"function": "improve_content",
"description": "Improve content based on evaluation"
},
"FORMAT_CONTENT": {
"function": "format_content",
"description": "Format content for publication"
},
"PUBLISH": {
"function": "publish_content",
"description": "Prepare content for distribution"
},
"COMPLETE": {
"function": "complete_task",
"description": "Mark task as complete"
}
}