import json import openai class TopicAgent: def __init__(self, api_key=None): if api_key: openai.api_key = api_key def generate_outline(self, topic, duration, difficulty): if not openai.api_key: return self._mock_outline(topic, duration, difficulty) try: response = openai.ChatCompletion.create( model="gpt-4", messages=[ {"role": "system", "content": "You're an expert corporate trainer creating AI workshop outlines"}, {"role": "user", "content": ( f"Create a {duration}-hour {difficulty} workshop outline on {topic}. " "Include: 1) Key learning goals, 2) 4 modules with titles and durations, " "3) Hands-on exercises per module. Output as JSON." )} ] ) return json.loads(response.choices[0].message.content) except: return self._mock_outline(topic, duration, difficulty) def _mock_outline(self, topic, duration, difficulty): return { "topic": topic, "duration": f"{duration} hours", "difficulty": difficulty, "goals": [ f"Master advanced {topic} techniques", "Develop industry-specific applications", "Build and evaluate complex AI workflows", "Implement best practices for production" ], "modules": [ { "title": f"Fundamentals of {topic}", "duration": "30 min", "learning_points": [ "Core principles and terminology", "Patterns and anti-patterns", "Evaluation frameworks" ] }, { "title": f"{topic} for Enterprise Applications", "duration": "45 min", "learning_points": [ "Industry-specific use cases", "Integration with existing systems", "Scalability considerations" ] } ] }