Skip to content
Open
20 changes: 20 additions & 0 deletions docker-compose.components.test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,26 @@ services:
east-text-detection:
<<: *test-args

gemini-video-summarization:
<<: *test-args

gemini-video-summarization-vllm-tests:
image: ${REGISTRY}openmpf_gemini_video_summarization_tests:${TAG}
build:
context: ${OPENMPF_PROJECTS_PATH}/openmpf-components/python/GeminiVideoSummarization
target: vllm-tests
args:
BUILD_REGISTRY: ${REGISTRY}
BUILD_TAG: ${TAG}
RUN_TESTS: 'true'
environment:
RUN_VLLM_TESTS: 'true'
GEMINI_TEST_OPENAI_BASE_URL: http://gemini-video-summarization-server:8000/v1
GEMINI_TEST_MODEL_NAME: ${GEMINI_MODEL_NAME:-google/gemma-4-12B-it}
depends_on:
gemini-video-summarization-server:
condition: service_healthy

mog-motion-detection:
<<: *test-args

Expand Down
49 changes: 49 additions & 0 deletions docker-compose.components.yml
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,55 @@ services:
resources:
limits:
cpus: "2.0"

gemini-video-summarization:
<<: *component-base
image: ${REGISTRY}openmpf_gemini_video_summarization:${TAG}
build:
context: ${OPENMPF_PROJECTS_PATH}/openmpf-components/python/GeminiVideoSummarization
args:
BUILD_REGISTRY: ${REGISTRY}
BUILD_TAG: ${TAG}
environment:
<<: *common-env-vars
MPF_PROP_API: ${GEMINI_API:-OpenAI}
MPF_PROP_OPENAI_BASE_URL: ${GEMINI_OPENAI_BASE_URL:-http://gemini-video-summarization-server:8000/v1}
MPF_PROP_MODEL_NAME: ${GEMINI_MODEL_NAME:-google/gemma-4-12B-it}
MPF_PROP_APPLICATION_CREDENTIALS: ${GEMINI_APPLICATION_CREDENTIALS:-}
MPF_PROP_ENABLE_TIMELINE: ${GEMINI_ENABLE_TIMELINE:-0}
MPF_PROP_ENABLE_AUDIO: ${GEMINI_ENABLE_AUDIO:-1}
MPF_PROP_PROCESS_FPS: ${GEMINI_PROCESS_FPS:-1.0}
MPF_PROP_OPENAI_REQUEST_TIMEOUT_SECONDS: ${GEMINI_OPENAI_REQUEST_TIMEOUT_SECONDS:-600}
depends_on:
workflow-manager:
condition: service_started
gemini-video-summarization-server:
condition: service_healthy

gemini-video-summarization-server:
image: ${REGISTRY}openmpf_gemini_video_summarization_server:${TAG}
build:
context: ${OPENMPF_PROJECTS_PATH}/openmpf-components/python/GeminiVideoSummarization
dockerfile: Dockerfile.vllm
ipc: host
volumes:
- type: bind
source: ${GEMINI_HF_CACHE:-${HOME}/.cache/huggingface}
target: /root/.cache/huggingface
healthcheck:
test: ["CMD", "curl", "--fail", "--silent", "--show-error", "--max-time", "5", "http://localhost:8000/health"]
interval: 10s
timeout: 6s
retries: 120
start_period: 30s
deploy:
mode: global
# resources:
# reservations:
# devices:
# - driver: nvidia
# device_ids: ['0']
# capabilities: [gpu]

fasttext-language-detection:
<<: *component-base
Expand Down