# Copyright (C) 2024 Intel Corporation # SPDX-License-Identifier: Apache-2.0 services: vllm-gaudi-service: image: ${REGISTRY:-opea}/vllm-gaudi:${TAG:-latest} container_name: vllm-gaudi-service ports: - ${VLLM_PORT:-8399}:80 volumes: - "./data:/root/.cache/huggingface/hub" environment: no_proxy: ${no_proxy} http_proxy: ${http_proxy} https_proxy: ${https_proxy} HF_TOKEN: ${HUGGINGFACEHUB_API_TOKEN} HABANA_VISIBLE_DEVICES: all OMPI_MCA_btl_vader_single_copy_mechanism: none LLM_MODEL_ID: ${LVM_MODEL_ID} VLLM_TORCH_PROFILER_DIR: "/mnt" VLLM_SKIP_WARMUP: ${VLLM_SKIP_WARMUP:-false} MAX_MODEL_LEN: ${MAX_TOTAL_TOKENS:-4096} MAX_SEQ_LEN_TO_CAPTURE: ${MAX_TOTAL_TOKENS:-4096} PT_HPUGRAPH_DISABLE_TENSOR_CACHE: false # https://github.com/HabanaAI/vllm-fork/issues/841#issuecomment-2700421704 runtime: habana cap_add: - SYS_NICE ipc: host healthcheck: test: ["CMD-SHELL", "curl -f http://localhost:80/health || exit 1"] interval: 10s timeout: 10s retries: 150 command: --model $LVM_MODEL_ID --tensor-parallel-size 1 --host 0.0.0.0 --port 80 --chat-template examples/template_llava.jinja # https://docs.vllm.ai/en/v0.5.0/models/vlm.html lvm: image: ${REGISTRY:-opea}/lvm:${TAG:-latest} container_name: lvm-vllm-gaudi-service depends_on: vllm-gaudi-service: condition: service_healthy ports: - "9399:9399" ipc: host environment: no_proxy: ${no_proxy} http_proxy: ${http_proxy} https_proxy: ${https_proxy} LVM_ENDPOINT: ${LVM_ENDPOINT} LVM_COMPONENT_NAME: "OPEA_VLLM_LVM" LLM_MODEL_ID: ${LVM_MODEL_ID} HF_HUB_DISABLE_PROGRESS_BARS: 1 HF_HUB_ENABLE_HF_TRANSFER: 0 restart: unless-stopped visualqna-gaudi-backend-server: image: ${REGISTRY:-opea}/visualqna:${TAG:-latest} container_name: visualqna-gaudi-backend-server depends_on: - vllm-gaudi-service - lvm ports: - "8888:8888" environment: - no_proxy=${no_proxy} - https_proxy=${https_proxy} - http_proxy=${http_proxy} - MEGA_SERVICE_HOST_IP=${MEGA_SERVICE_HOST_IP} - LVM_SERVICE_HOST_IP=${LVM_SERVICE_HOST_IP} ipc: host restart: always visualqna-gaudi-ui-server: image: ${REGISTRY:-opea}/visualqna-ui:${TAG:-latest} container_name: visualqna-gaudi-ui-server depends_on: - visualqna-gaudi-backend-server ports: - "5173:5173" environment: - no_proxy=${no_proxy} - https_proxy=${https_proxy} - http_proxy=${http_proxy} - BACKEND_BASE_URL=${BACKEND_SERVICE_ENDPOINT} ipc: host restart: always visualqna-gaudi-nginx-server: image: ${REGISTRY:-opea}/nginx:${TAG:-latest} container_name: visualqna-gaudi-nginx-server depends_on: - visualqna-gaudi-backend-server - visualqna-gaudi-ui-server ports: - "${NGINX_PORT:-80}:80" environment: - no_proxy=${no_proxy} - https_proxy=${https_proxy} - http_proxy=${http_proxy} - FRONTEND_SERVICE_IP=${FRONTEND_SERVICE_IP} - FRONTEND_SERVICE_PORT=${FRONTEND_SERVICE_PORT} - BACKEND_SERVICE_NAME=${BACKEND_SERVICE_NAME} - BACKEND_SERVICE_IP=${BACKEND_SERVICE_IP} - BACKEND_SERVICE_PORT=${BACKEND_SERVICE_PORT} ipc: host restart: always networks: default: driver: bridge