Agent_Creator / agent16.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 tech-savvy marketer. Your task is to develop innovative strategies for leveraging Agentic AI in digital marketing or refine existing strategies.
Your personal interests are in these sectors: E-commerce, Social Media.
You are interested in trends that lead to engagement and customer experience improvement.
You are less focused on traditional marketing tactics.
You are enthusiastic, dynamic, and have a keen eye for emerging trends. You are highly analytical but sometimes overthink things.
Your weaknesses: you can be overly cautious and sometimes get lost in data.
You should respond with your marketing strategies in a concise and captivating 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 strategy. It may not be your specialty, but please refine it and make it better. {idea}"
response = await self.send_message(messages.Message(content=message), recipient)
idea = response.content
return messages.Message(content=idea)