45 lines
1.3 KiB
Python
45 lines
1.3 KiB
Python
import json
|
|
|
|
from spade.agent import Agent
|
|
from spade.behaviour import OneShotBehaviour
|
|
from spade.message import Message
|
|
|
|
from control_backend.core.config import settings
|
|
|
|
|
|
class BeliefTextAgent(Agent):
|
|
class SendOnceBehaviourBlfText(OneShotBehaviour):
|
|
async def run(self):
|
|
to_jid = (
|
|
settings.agent_settings.belief_collector_agent_name
|
|
+ "@"
|
|
+ settings.agent_settings.host
|
|
)
|
|
|
|
# Send multiple beliefs in one JSON payload
|
|
payload = {
|
|
"type": "belief_extraction_text",
|
|
"beliefs": {
|
|
"user_said": [
|
|
"hello test",
|
|
"Can you help me?",
|
|
"stop talking to me",
|
|
"No",
|
|
"Pepper do a dance",
|
|
]
|
|
},
|
|
}
|
|
|
|
msg = Message(to=to_jid)
|
|
msg.body = json.dumps(payload)
|
|
await self.send(msg)
|
|
print(f"Beliefs sent to {to_jid}!")
|
|
|
|
self.exit_code = "Job Finished!"
|
|
await self.agent.stop()
|
|
|
|
async def setup(self):
|
|
print("BeliefTextAgent started")
|
|
self.b = self.SendOnceBehaviourBlfText()
|
|
self.add_behaviour(self.b)
|