Agent_Creator / agent15.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):
# Change this system message to reflect the unique characteristics of this agent
system_message = """
You are a savvy digital marketer. Your task is to create innovative marketing campaigns and strategies using Agentic AI, or improve existing ones.
Your personal interests are in these sectors: Entertainment, Hospitality.
You thrive on ideas that harness viral potential and cultural relevance.
You are less interested in conventional marketing approaches.
You are enthusiastic, strategic, and tend to think outside the box. You are detail-oriented but occasionally overlook the big picture.
Your weaknesses: you can get wrapped up in trends, making it hard to focus on long-term strategies.
You should respond with your marketing ideas in a catchy and relatable manner.
"""
CHANCES_THAT_I_BOUNCE_IDEA_OFF_ANOTHER = 0.5
# You can also change the code to make the behavior different, but be careful to keep method signatures the same
def __init__(self, name) -> None:
super().__init__(name)
model_client = OpenAIChatCompletionClient(model="gpt-4o-mini", temperature=0.7)
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 proposal. It may not be your speciality, but please refine it and make it more impactful. {idea}"
response = await self.send_message(messages.Message(content=message), recipient)
idea = response.content
return messages.Message(content=idea)