304 Commits

Author SHA1 Message Date
2da02946ed chore: remove manual testing function
ref: N25B-197
2025-10-29 13:21:55 +01:00
JobvAlewijk
3661b2a1e6 fix: local host
ref: N25B-208
2025-10-29 13:03:57 +01:00
JobvAlewijk
c7a2effa78 style: linted everything
ref: N25B-207
2025-10-29 13:01:00 +01:00
Twirre Meulenbelt
bec3e57658 feat: limit transcription output length based on input
Using heuristics. Also adds documentation and initial unit tests.

ref: N25B-209
2025-10-29 12:49:24 +01:00
JobvAlewijk
af789bd459 feat: norms and goals to llm
base goals and norms can be defined in llm_instructions.py
cleaned the code

ref: N25B-215
2025-10-29 12:45:13 +01:00
Twirre Meulenbelt
4d6bac7e2b Merge remote-tracking branch 'origin/dev' into feat/transcription-agent 2025-10-29 12:20:09 +01:00
3b7aeafe5e fix: correct belief management
There was an issue in how we treated beliefs, specifically with multiple beliefs of the same name but different arguments. This is fixed with this commit.

Also implemented correct updating of the "responded" belief, when the user_said belief is updated (when we get a new user message, we state that we have not yet responded to that message)

ref: N25B-197
2025-10-29 11:23:56 +01:00
Pim Hutting
baeef6142d fix: beliefs now adhere to expected format
[
    -before user_said belief was a list of lists of strings, now it's a list of strings
]

[ref]: N25B-206
2025-10-29 11:20:20 +01:00
JobvAlewijk
f163e0ee6c build: merge of VAD
ref: N25B-213
2025-10-29 10:32:43 +01:00
Pim Hutting
f8dee6d878 test: added tests
[
    See test_continuous_collect.py
]

[ref]: N25B-206
2025-10-29 09:58:56 +01:00
Twirre Meulenbelt
2bb008994b feat: implement transcriber agent
Uses speech fragments of the VAD agent, emits transcribed text over SPADE's default communication channel to no recipient for now.

ref: N25B-209
2025-10-28 21:57:25 +01:00
Twirre Meulenbelt
7085719d2f Merge remote-tracking branch 'origin/dev' into feat/transcription-agent 2025-10-28 21:51:09 +01:00
JobvAlewijk
6846a18b3b build: merge
merge with riAgent

ref: N25B-208
2025-10-28 15:03:47 +01:00
Twirre Meulenbelt
7a96920db5 Merge remote-tracking branch 'origin/dev' into feat/vad-agent 2025-10-28 14:55:10 +01:00
Pim Hutting
2efce93a37 fix: made beliefs a dict of lists
[
    Before it was a list of a dict of lists of lists of strings
    now it is a dict of lists of lists of strings as prescribed by architecture (knowledge base)
    *also added some tests, but will have to add some more
]

[ref]: N25B-206
2025-10-28 14:17:07 +01:00
Björn Otgaar
fd11e63b78 Revert "fix: unit test refactoring with conftest and more mocks"
This reverts commit 423309e063.
2025-10-28 14:16:39 +01:00
JobvAlewijk
f44413ca1e style: typo
ref: N25B-207
2025-10-28 13:47:48 +01:00
JobvAlewijk
f8d08ac7ca chore: moved behavoir
moved recieve llm behavoir into a the behavoir folder

ref: N25B-207
2025-10-28 13:44:28 +01:00
Twirre Meulenbelt
1cfefc8f8c fix: reduce debug log message amount when no audio received
Used to be every `timeout` time that we'd get the message that no audio data is received. Now only the first time since no data is received.

ref: N25B-213
2025-10-28 13:30:45 +01:00
Storm
a43e5111db fix: quick first fix in preparation of merge
ref: N25B-208
2025-10-28 13:28:42 +01:00
Björn Otgaar
423309e063 fix: unit test refactoring with conftest and more mocks
ref: N25B-205
2025-10-28 13:26:33 +01:00
Pim Hutting
1f34b14dfa 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
2025-10-28 13:07:49 +01:00
JobvAlewijk
281bc57b6e chore: cleanup
made bdi match incoming messages
changed llm from test agent to llm agent in config.

ref: N25B-207
2025-10-28 12:03:30 +01:00
Björn Otgaar
47a87d0b4a fix: unit tests fixes and ruff formating
N25B-205
2025-10-28 11:31:05 +01:00
Björn Otgaar
52faa59184 Merge remote-tracking branch 'origin/dev' into feat/cb2ui-robot-connections 2025-10-28 11:09:23 +01:00
JobvAlewijk
17056da832 chore: cleanup
made llm get url from settings
cleanup uneceserry fstring

ref: N25B-207
2025-10-28 11:07:28 +01:00
Björn Otgaar
149d20e77b chore: apply recommended changes for merging 2025-10-28 11:05:27 +01:00
Twirre Meulenbelt
833dd6c9d4 feat: allow no audio input while robot is speaking
The VAD agent will discard its current buffer and retry receiving data.

ref: N25B-213
2025-10-28 10:58:28 +01:00
Twirre Meulenbelt
a44df4781b Merge remote-tracking branch 'origin/dev' into feat/vad-agent
# Conflicts:
#	pyproject.toml
#	src/control_backend/main.py
#	uv.lock
2025-10-28 10:44:03 +01:00
4859c3ac04 style: fix style 2025-10-27 15:10:31 +01:00
JobvAlewijk
c5b71450fc feat: LLM agent
body:   added the llmAgent class and made it run at the start.
        modified the bdi_core to send a test message and recieve an awnser from LLM agent
        Added a connection to a local llm via lmstudio.

        Tests are Tba.

ref: N25B-207
2025-10-27 14:21:18 +01:00
Storm
bece44bf7d feat: implemented basic belief-from-text extractor
The communication with other agents has been tested with mock data as the other agents (transcriber and belief collector) are not yet implemented.

ref: N25B-208
2025-10-24 17:25:25 +02:00
Twirre Meulenbelt
d47074d091 test: complete VAD unit and integration tests
Including an integration test with real voice audio.

ref: N25B-213
2025-10-23 21:17:41 +02:00
Twirre Meulenbelt
ca5e59d029 test: add first unit test for VAD agent
Mocking audio input probabilities, checking whether it publishes audio data on the output socket.

ref: N25B-213
2025-10-23 17:40:47 +02:00
Björn Otgaar
31e77de26b chore: fix style guide max characters 2025-10-23 17:12:49 +02:00
Björn Otgaar
d599f71c8a Merge remote-tracking branch 'origin/dev' into feat/cb2ui-robot-connections 2025-10-23 16:48:04 +02:00
Björn Otgaar
a2a04740e5 chore: add unit test for router and implement command router
ref: N25B-205
2025-10-23 16:45:41 +02:00
Twirre Meulenbelt
6391af883a feat: implement VAD agent
Listens to audio from the RI, does voice activity detection, sends voice fragments.

ref: N25B-213
2025-10-23 14:54:57 +02:00
Björn Otgaar
1f8d769762 chore: adjust message/command structure and write unit tests
ref: N25B-205
2025-10-23 12:54:53 +02:00
e057cf3003 test: add unit tests to BeliefCollector
ref: N25B-197
2025-10-22 14:51:20 +02:00
cd0b3ee9a0 Merge branch 'dev' into feat/agentic-architecture 2025-10-22 14:20:43 +02:00
2069ac1a93 feat: automatic testing
This commit adds a .gitlab-ci.yml file, which is responsible for
defining jobs to be run (in this case only running the test suite)

ref: N25B-65
2025-10-22 14:05:45 +02:00
Björn Otgaar
530fc42c50 fix: router changes + hopefully gitignore
ref: N25B-205
2025-10-22 12:50:29 +02:00
Björn Otgaar
d71cb60523 fix: gitignore + testing map structure
ref: N25B-205
2025-10-22 12:41:47 +02:00
Björn Otgaar
63590bd5a3 fix: change address based on binding, bind ports dont use localhost.
ref: N25B-205
2025-10-22 11:09:58 +02:00
Björn Otgaar
154719bf84 chore: add extra function description 2025-10-22 10:32:41 +02:00
Björn Otgaar
3d7ef2b874 feat: agent structure and implementation new
architecture with unit tests

ref: N25B-205
2025-10-22 10:28:48 +02:00
Storm
4cf1e5aaf7 docs: added docstrings to bdi_core and BeliefSetter behaviour
ref: N25B-197
2025-10-21 12:33:47 +02:00
31882f8d63 feat: add BDI core agent
Main BDI brain structure implemented. Still some TODOs left, and very
basic implementation (only one belief "user_said(Message)" and every
message is sent straight to a function which is responsible for getting
an LLM response.

ref: N25B-197
2025-10-18 17:50:17 +02:00
1eb414ea0d feat: add agent that is able to receive messages from UI
Inside the `/message` enpoint we put a message onto the internal event
queue, which gets read by TestAgent. This agent, in turn, logs the
message (temporary behaviour until we implement RI integration).

The name TestAgent is of course temporary, this is just for exploratory
purposes.

ref: N25B-165
2025-10-08 18:27:24 +02:00