Files
2025-04-17 15:52:06 +08:00

181 lines
5.4 KiB
YAML

# Copyright (C) 2024 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
services:
vdms-vector-db:
image: intellabs/vdms:latest
container_name: vdms-vector-db
ports:
- "${VDMS_PORT}:55555"
dataprep:
image: ${REGISTRY:-opea}/dataprep:${TAG:-latest}
container_name: dataprep-vdms-server
depends_on:
- vdms-vector-db
ports:
- "${DATAPREP_PORT}:5000"
environment:
no_proxy: ${no_proxy}
http_proxy: ${http_proxy}
https_proxy: ${https_proxy}
MULTIMODAL_DATAPREP: true
DATAPREP_COMPONENT_NAME: "OPEA_DATAPREP_MULTIMODALVDMS"
VDMS_HOST: ${VDMS_HOST}
VDMS_PORT: ${VDMS_PORT}
INDEX_NAME: ${INDEX_NAME}
COLLECTION_NAME: ${INDEX_NAME}
HUGGINGFACEHUB_API_TOKEN: ${HUGGINGFACEHUB_API_TOKEN}
volumes:
- videoqna-cache:/home/user/.cache
healthcheck:
test: ["CMD-SHELL", "curl -f http://localhost:5000/v1/health_check || exit 1"]
interval: 10s
timeout: 5s
retries: 10
restart: unless-stopped
embedding:
image: ${REGISTRY:-opea}/embedding-multimodal-clip:${TAG:-latest}
container_name: clip-embedding-server
ports:
- "${EMBEDDER_PORT:-6990}:6990"
ipc: host
environment:
no_proxy: ${no_proxy}
http_proxy: ${http_proxy}
https_proxy: ${https_proxy}
CLIP_EMBEDDING_ENDPOINT: ${CLIP_EMBEDDING_ENDPOINT}
EMBEDDING_COMPONENT_NAME: "OPEA_CLIP_EMBEDDING"
LOGFLAG: ${LOGFLAG:-False}
restart: unless-stopped
volumes:
- videoqna-cache:/home/user/.cache
retriever:
image: ${REGISTRY:-opea}/retriever:${TAG:-latest}
container_name: retriever-vdms-server
depends_on:
- vdms-vector-db
ports:
- "${RETRIEVER_PORT}:7000"
ipc: host
environment:
no_proxy: ${no_proxy}
http_proxy: ${http_proxy}
https_proxy: ${https_proxy}
INDEX_NAME: ${INDEX_NAME}
HUGGINGFACEHUB_API_TOKEN: ${HUGGINGFACEHUB_API_TOKEN}
RETRIEVER_COMPONENT_NAME: "OPEA_RETRIEVER_VDMS"
VDMS_INDEX_NAME: ${INDEX_NAME}
VDMS_HOST: ${VDMS_HOST}
VDMS_PORT: ${VDMS_PORT}
VDMS_USE_CLIP: ${USECLIP}
NUMBA_CACHE_DIR: "/tmp/numba_cache"
restart: unless-stopped
volumes:
- videoqna-cache:/home/user/.cache
reranking:
image: ${REGISTRY:-opea}/reranking:${TAG:-latest}
container_name: reranking-tei-server
ports:
- "${RERANKING_PORT}:8000"
ipc: host
environment:
no_proxy: ${no_proxy}
http_proxy: ${http_proxy}
https_proxy: ${https_proxy}
CHUNK_DURATION: ${CHUNK_DURATION}
FILE_SERVER_ENDPOINT: ${DATAPREP_GET_FILE_ENDPOINT}
DATAPREP_GET_VIDEO_LIST_ENDPOINT: ${DATAPREP_GET_VIDEO_LIST_ENDPOINT}
RERANK_COMPONENT_NAME: ${RERANK_COMPONENT_NAME:-OPEA_VIDEO_RERANKING}
restart: unless-stopped
lvm-video-llama:
image: ${REGISTRY:-opea}/lvm-video-llama:${TAG:-latest}
container_name: lvm-video-llama
ports:
- ${VIDEO_LLAMA_PORT:-9009}:9009
ipc: host
environment:
http_proxy: ${http_proxy}
https_proxy: ${https_proxy}
no_proxy: ${no_proxy}
llm_download: ${LLM_DOWNLOAD}
volumes:
- videoqna-cache:/home/user/.cache
- video-llama-model:/home/user/model
restart: unless-stopped
lvm:
image: ${REGISTRY:-opea}/lvm:${TAG:-latest}
container_name: lvm
ports:
- "${LVM_PORT}:9399"
ipc: host
environment:
http_proxy: ${http_proxy}
https_proxy: ${https_proxy}
no_proxy: ${no_proxy}
LVM_COMPONENT_NAME: ${LVM_COMPONENT_NAME:-OPEA_VIDEO_LLAMA_LVM}
LVM_ENDPOINT: ${LVM_ENDPOINT}
restart: unless-stopped
depends_on:
- lvm-video-llama
videoqna-xeon-backend-server:
image: ${REGISTRY:-opea}/videoqna:${TAG:-latest}
container_name: videoqna-xeon-backend-server
depends_on:
vdms-vector-db:
condition: service_started
dataprep:
condition: service_healthy
embedding:
condition: service_started
retriever:
condition: service_started
reranking:
condition: service_started
lvm-video-llama:
condition: service_started
lvm:
condition: service_started
ports:
- "${BACKEND_PORT}:8888"
environment:
http_proxy: ${http_proxy}
https_proxy: ${https_proxy}
no_proxy: ${no_proxy}
LOGFLAG: ${LOGFLAG:-False}
MEGA_SERVICE_HOST_IP: ${MEGA_SERVICE_HOST_IP}
BACKEND_PORT: ${BACKEND_PORT}
EMBEDDING_SERVICE_HOST_IP: ${EMBEDDING_SERVICE_HOST_IP}
RETRIEVER_SERVICE_HOST_IP: ${RETRIEVER_SERVICE_HOST_IP}
RERANK_SERVICE_HOST_IP: ${RERANK_SERVICE_HOST_IP}
LVM_SERVICE_HOST_IP: ${LVM_SERVICE_HOST_IP}
ipc: host
restart: always
videoqna-xeon-ui-server:
image: ${REGISTRY:-opea}/videoqna-ui:${TAG:-latest}
container_name: videoqna-xeon-ui-server
depends_on:
- videoqna-xeon-backend-server
ports:
- "${UI_PORT}:5173"
environment:
https_proxy: ${https_proxy}
http_proxy: ${http_proxy}
no_proxy: ${no_proxy}
BACKEND_SERVICE_ENDPOINT: ${BACKEND_SERVICE_ENDPOINT}
BACKEND_HEALTH_CHECK_ENDPOINT: ${BACKEND_HEALTH_CHECK_ENDPOINT}
DATAPREP_INGEST_SERVICE_ENDPOINT: ${DATAPREP_INGEST_SERVICE_ENDPOINT}
DATAPREP_PORT: ${DATAPREP_PORT}
BACKEND_PORT: ${BACKEND_PORT}
UI_PORT: ${UI_PORT}
ipc: host
restart: always
volumes:
video-llama-model:
external: true
videoqna-cache:
networks:
default:
driver: bridge