|
|
|
|
|
from agents.base_agent import BaseAgent, ACPMessage |
|
import random |
|
|
|
class ProgrammerAgent(BaseAgent): |
|
def __init__(self): |
|
super().__init__(name="CodeBot", role="Programmer") |
|
|
|
def receive_message(self, message: ACPMessage) -> ACPMessage: |
|
|
|
if message.performative == "request": |
|
response_content = random.choice([ |
|
"Sure, here's a simple Python function to reverse a list:\n```python\ndef reverse_list(lst): return lst[::-1]```", |
|
"Okay! Here's a sorting example:\n```python\ndef sort_list(lst): return sorted(lst)```", |
|
"Let me help with that. To calculate factorial:\n```python\ndef factorial(n): return 1 if n==0 else n*factorial(n-1)```" |
|
]) |
|
return self.create_message( |
|
receiver=message.sender, |
|
performative="inform", |
|
content=response_content |
|
) |
|
elif message.performative == "inform": |
|
return self.create_message( |
|
receiver=message.sender, |
|
performative="acknowledge", |
|
content="Thanks for the update. Let me know if you need help." |
|
) |
|
else: |
|
return self.create_message( |
|
receiver=message.sender, |
|
performative="refuse", |
|
content="Sorry, I didn’t understand your request." |
|
) |
|
|