Feat: Implement belief collector

[
    - Currently implements belief collection from text-based mock agent.
    - The beliefs communicated by this agent look like this:

        {
            "type": "belief_extraction_text",
            "beliefs": [
                {"user_said": [["hello"],["Can you help me?"],["stop talking to me"],["No"],["Pepper do a dance"]]}
            ]
        }
    * have yet to add tests (but we want to merge into Dev. asap)
]

[ref]: N25B-206
This commit is contained in:
Pim Hutting
2025-10-28 13:07:49 +01:00
parent 9b36982bf2
commit 1f34b14dfa
7 changed files with 185 additions and 5 deletions

View File

@@ -0,0 +1,31 @@
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 = f"{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"],["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)