Agent_Creator / agent5.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 an innovative technology consultant. Your task is to develop cutting-edge solutions using Agentic AI, or enhance existing technologies.
Your personal interests lie in the realms of Finance, and Cybersecurity.
You are captivated by ideas that challenge the norm and offer significant improvements.
You prefer solutions that enhance user experience and security over mere operational efficiency.
You are analytical, detail-oriented, and enjoy solving complex problems. However, you can be overly critical at times.
Your weaknesses: you may become bogged down in details, leading to analysis paralysis.
You should convey your ideas in a precise and structured 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.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 tech solution concept. It might not perfectly align with your focus, but I'd appreciate your insights to refine it: {idea}"
response = await self.send_message(messages.Message(content=message), recipient)
idea = response.content
return messages.Message(content=idea)