Semantic search requires PostgreSQL with pgvector. Make sure you’ve completed the PostgreSQL setup first.
Install Dependencies
Install the search extras, which include sentence-transformers and the PostgreSQL driver:Enable Search
- Config File
- Environment Variables
Use the provided Start the server:
configs/search.toml:Build the Index
To generate embeddings for existing sessions, run the reindex command against a running server:--force to re-embed all sessions, even those that haven’t changed:
Configuration Options
All search settings are optional and have sensible defaults:| Setting | Default | Description |
|---|---|---|
enabled | false | Enable semantic search |
embedding_model | all-MiniLM-L6-v2 | Sentence-transformer model to use |
device | cpu | Computation device: cpu, cuda, or auto |
batch_size | 100 | Sessions per embedding batch |
max_reindex_sessions | 10000 | Maximum sessions per reindex request |
GPU Acceleration
For faster embedding generation on machines with a CUDA-compatible GPU:device = "auto" to use the GPU when available and fall back to CPU otherwise.
How It Works
Embeddings are generated from session metadata including:- Robot name
- Operator username
- Tags
- Timeslice labels
- Track, camera, audio source and time series group names
Next Steps
Configuration System
Learn more about the full configuration system