Twirre Meulenbelt 86938f79c0 feat: end to end connected for demo
Includes the Transcription agent. Involved updating the RI agent to receive messages from other agents, sending speech commands to the RI agent, and some performance optimizations.

ref: N25B-216
2025-10-30 10:42:25 +01:00
2025-10-17 14:35:55 +00:00
2025-10-29 16:49:00 +01:00
2025-10-27 15:10:31 +01:00
2025-10-29 10:32:43 +01:00

Development environment

We begin by installing UV (very nice utility for managing packages and Python version):

# On MacOS and Linux.
curl -LsSf https://astral.sh/uv/install.sh | sh
# On Windows.
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

Using UV, installing the packages and virtual environment is as simple as typing the following (inside the root directory of this repository):

uv sync

Local LLM

To run a LLM locally download https://lmstudio.ai When installing select developer mode, download a model (it will already suggest one) and run it (see developer window, status: running)

copy the url at the top right and replace local_llm_url with it + v1/chat/completions. This + part might differ based on what model you choose.

copy the model name in the module loaded and replace local_llm_modelL. In settings.

Running

To run the project (development server), execute the following command (while inside the root repository):

uv run fastapi dev src/control_backend/main.py

Testing

Testing happens automatically when opening a merge request to any branch. If you want to manually run the test suite, you can do so by running the following for unit tests:

uv run --only-group test pytest test/unit

Or for integration tests:

uv run --group integration-test pytest test/integration

GitHooks

To activate automatic commits/branch name checks run:

git config --local core.hooksPath .githooks

If your commit fails its either: branch name != /description-of-branch , commit name != : description of the commit. : N25B-Num's

To add automatic linting and formatting, run:

uv run pre-commit install
Description
No description provided
Readme 3.7 MiB
Languages
Python 98.5%
Shell 1.3%
ASL 0.2%