implemented basic belief-from-text extractor including demo version #13
@@ -43,7 +43,7 @@ class BeliefFromText(CyclicBehaviour):
|
|||||||
# TODO: Change to Transcriber agent name once implemented
|
# TODO: Change to Transcriber agent name once implemented
|
||||||
case settings.agent_settings.test_agent_name:
|
case settings.agent_settings.test_agent_name:
|
||||||
self.logger.info("Received text from transcriber.")
|
self.logger.info("Received text from transcriber.")
|
||||||
await self._process_transcription(msg.body)
|
await self._process_transcription_demo(msg.body)
|
||||||
case _:
|
case _:
|
||||||
self.logger.info("Received message from other agent.")
|
self.logger.info("Received message from other agent.")
|
||||||
pass
|
pass
|
||||||
@@ -74,3 +74,18 @@ class BeliefFromText(CyclicBehaviour):
|
|||||||
except:
|
except:
|
||||||
#loading failed so the response is in wrong format, throw warning (let LLM respond to ask again?)
|
#loading failed so the response is in wrong format, throw warning (let LLM respond to ask again?)
|
||||||
self.logger.warning("Received LLM response in incorrect format.")
|
self.logger.warning("Received LLM response in incorrect format.")
|
||||||
|
|
||||||
|
async def _process_transcription_demo(self, txt: str):
|
||||||
|
"""
|
||||||
|
Demo version to process the transcription input to beliefs. For the demo only the belief 'user_said' is relevant so
|
||||||
|
this function simply makes a dict with key: "user_said", value: txt and passes this to the Belief Collector agent.
|
||||||
|
"""
|
||||||
|
belief = {"user_said": [[txt]]}
|
||||||
|
payload = json.dumps(belief)
|
||||||
|
# TODO: Change to belief collector
|
||||||
|
belief_msg = Message(to=settings.agent_settings.bdi_core_agent_name + '@' + settings.agent_settings.host, body=payload)
|
||||||
|
belief_msg.thread = "beliefs"
|
||||||
|
|
||||||
|
await self.send(belief_msg)
|
||||||
|
self.logger.info("Sent beliefs to Belief Collector.")
|
||||||
|
|
||||||
@@ -2,8 +2,7 @@ import spade
|
|||||||
from spade.agent import Agent
|
from spade.agent import Agent
|
||||||
from spade.behaviour import OneShotBehaviour
|
from spade.behaviour import OneShotBehaviour
|
||||||
from spade.message import Message
|
from spade.message import Message
|
||||||
from spade.template import Template
|
from control_backend.core.config import settings
|
||||||
from control_backend.core.config import AgentSettings, settings
|
|
||||||
|
|
||||||
class SenderAgent(Agent):
|
class SenderAgent(Agent):
|
||||||
class InformBehav(OneShotBehaviour):
|
class InformBehav(OneShotBehaviour):
|
||||||
|
|||||||
@@ -34,11 +34,11 @@ async def lifespan(app: FastAPI):
|
|||||||
logger.info("Internal publishing socket bound to %s", internal_comm_socket)
|
logger.info("Internal publishing socket bound to %s", internal_comm_socket)
|
||||||
|
|
||||||
# Initiate agents
|
# Initiate agents
|
||||||
bdi_core = BDICoreAgent(settings.agent_settings.bdi_core_agent_name + '@' + settings.agent_settings.host, "pohpu7-huqsyH-qutduk", "src/control_backend/agents/bdi/rules.asl")
|
bdi_core = BDICoreAgent(settings.agent_settings.bdi_core_agent_name + '@' + settings.agent_settings.host, "placeholder", "src/control_backend/agents/bdi/rules.asl")
|
||||||
await bdi_core.start()
|
await bdi_core.start()
|
||||||
text_belief_extractor = TBeliefExtractor(settings.agent_settings.text_belief_extractor_agent_name + '@' + settings.agent_settings.host, "pohpu7-huqsyH-qutduk")
|
text_belief_extractor = TBeliefExtractor(settings.agent_settings.belief_collector_agent_name + '@' + settings.agent_settings.host, "placehodler")
|
||||||
await text_belief_extractor.start()
|
await text_belief_extractor.start()
|
||||||
test_agent = SenderAgent(settings.agent_settings.test_agent_name + '@' + settings.agent_settings.host, "pohpu7-huqsyH-qutduk")
|
test_agent = SenderAgent(settings.agent_settings.test_agent_name + '@' + settings.agent_settings.host, "placeholder")
|
||||||
await test_agent.start()
|
await test_agent.start()
|
||||||
|
|
||||||
yield
|
yield
|
||||||
|
|||||||
Reference in New Issue
Block a user