Skip to content

Va.Si.Li-Lab Backend

Monorepo for the backend services used by Va.Si.Li-Lab.

The modules are independent. A minimal deployment needs only two of them - the Database API and the Ubiq server. Everything else is optional and exists to support particular scenarios.

Modules

  • Database API - required

    Scene, level and role definitions, plus the logging endpoints that every tracking sample and event is written through. Backed by MongoDB.

  • Ubiq Server - required

    Room and session server. Keeps avatars, transforms and object ownership in sync between connected clients.

  • Chatbot - optional

    Host process that dynamically loads chatbot clients over a socket connection and exposes them as a single queryable endpoint.

  • Speech - optional

    Speech-to-text based on Whisper.

  • VR Agent - optional

    LLM-backed conversational agents that answer users and call tools in the VR scene.

  • TTS/STT - optional

    WhisperX speech-to-text and text-to-speech in one service, used by the VR agents.

Which services do I need?

Scenario Required Optional
Any Va.Si.Li-Lab deployment Database API, Ubiq -
Recording an experiment Database API, Ubiq -
Scenarios with a chatbot Database API, Ubiq Chatbot
Voice-driven interaction Database API, Ubiq Speech
Talking to LLM agents Database API, Ubiq VR Agent, TTS/STT

InterView deploys a subset of these

The InterView platform runs the Database API and the Ubiq server from this repository, alongside a Janus WebRTC gateway and a web client. Its setup guide covers deploying them together with Docker Compose.

Repository layout

Path Module
database-api/ Database API
Ubiq-server/ Ubiq Server
chatbot/ Chatbot host and clients
speech2text/ Whisper speech-to-text
vr-agent/ VR Agent
tts-stt/ TTS/STT
docker-images/ Shared base images - see Deployment
Site Covers
Va.Si.Li-Lab The VR client and Unity framework
InterView The VR interview platform and its deployment