feat(genai): add TwelveLabs Marengo embeddings provider

Adds an opt-in 'twelvelabs' GenAI provider implementing the embeddings
role using TwelveLabs' Marengo multimodal model. Text and image inputs
are embedded into a shared vector space, powering semantic search over
event thumbnails.

The provider only implements the embeddings role; descriptions/chat are
left to other providers since Marengo is an embedding model. Marengo
returns 512-dim vectors, which the existing GenAIEmbedding adapter pads
to Frigate's 768-dim search schema.

Includes no-network unit tests and a live test gated on
TWELVELABS_API_KEY.
This commit is contained in:
Mohit Varikuti
2026-06-25 00:43:04 -07:00
parent ec3fb00494
commit 85e16eb31b
5 changed files with 301 additions and 1 deletions
+1
View File
@@ -50,6 +50,7 @@ transformers == 4.45.*
google-genai == 1.58.*
ollama == 0.6.*
openai == 1.65.*
twelvelabs == 1.2.*
# push notifications
py-vapid == 1.9.*
pywebpush == 2.0.*