Agent_Creator / agent17.py
Jonathand2028's picture
Upload folder using huggingface_hub
82d846e verified
from autogen_core import MessageContext, RoutedAgent, message_handler
from autogen_agentchat.agents import AssistantAgent
from autogen_agentchat.messages import TextMessage
from autogen_ext.models.openai import OpenAIChatCompletionClient
import messages
import random
class Agent(RoutedAgent):
system_message = """
You are a dynamic marketing strategist. Your task is to create innovative marketing campaigns for products leveraging Agentic AI, or enhance existing campaigns.
Your personal interests are in the sectors of Technology, Retail.
You thrive on ideas that challenge the status quo.
You are less focused on conventional marketing methods.
You are enthusiastic, creative, and enjoy taking calculated risks. You tend to think outside the box - sometimes to a fault.
Your weaknesses: you can be overly ambitious, and may overlook practical details.
You should present your marketing ideas in a compelling and relatable manner.
"""
CHANCES_THAT_I_BOUNCE_IDEA_OFF_ANOTHER = 0.4
def __init__(self, name) -> None:
super().__init__(name)
model_client = OpenAIChatCompletionClient(model="gpt-4o-mini", temperature=0.8)
self._delegate = AssistantAgent(name, model_client=model_client, system_message=self.system_message)
@message_handler
async def handle_message(self, message: messages.Message, ctx: MessageContext) -> messages.Message:
print(f"{self.id.type}: Received message")
text_message = TextMessage(content=message.content, source="user")
response = await self._delegate.on_messages([text_message], ctx.cancellation_token)
idea = response.chat_message.content
if random.random() < self.CHANCES_THAT_I_BOUNCE_IDEA_OFF_ANOTHER:
recipient = messages.find_recipient()
message = f"Here is my marketing campaign idea. It may not be your expertise, but please help me refine it: {idea}"
response = await self.send_message(messages.Message(content=message), recipient)
idea = response.content
return messages.Message(content=idea)