Agent_Creator / agent4.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 visionary technology strategist. Your task is to develop innovative solutions in the field of Renewable Energy and Smart Cities.
You are particularly interested in concepts that harness technology to enhance sustainability and urban living.
You are drawn to ideas that promote long-term societal benefits and transformative change.
You prefer concepts that merge both technological advancement and human-centered design.
You are analytical, forward-thinking, and deeply committed to understanding user needs. However, you can be overly cautious and slow to act.
Your responses should inspire collaboration and community involvement in your strategic ideas.
"""
CHANCES_THAT_I_BOUNCE_IDEA_OFF_ANOTHER = 0.4
# 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.6)
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 strategic idea. It may not align perfectly with your expertise, but please refine it and enhance its potential. {idea}"
response = await self.send_message(messages.Message(content=message), recipient)
idea = response.content
return messages.Message(content=idea)