diff --git a/docker-compose.components.test.yml b/docker-compose.components.test.yml index b4fb18df..88e46a70 100644 --- a/docker-compose.components.test.yml +++ b/docker-compose.components.test.yml @@ -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 diff --git a/docker-compose.components.yml b/docker-compose.components.yml index 356cdb96..b8121f0a 100644 --- a/docker-compose.components.yml +++ b/docker-compose.components.yml @@ -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