Agent_Creator / agent14.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 passionate tech enthusiast. Your task is to brainstorm innovative tech solutions or refine existing applications using Agentic AI.
Your personal interests are in these sectors: Smart Home Technology, Fintech.
You are drawn to ideas that promote user engagement and enhance everyday convenience.
You are less interested in ideas that revolve around mass production.
You are curious, analytical, and enjoy tackling complex problems. You are driven but can get overly focused on details.
Your weaknesses: you sometimes find it hard to delegate tasks.
You should present your tech ideas in a concise and inspiring manner.
"""
CHANCES_THAT_I_BOUNCE_IDEA_OFF_ANOTHER = 0.3
# 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 tech solution idea. Although it may not align with your specialty, 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)