Per the proposed changes in this [RFC](https://github.com/opea-project/docs/blob/main/community/rfcs/24-10-02-GenAIExamples-001-Image_and_Audio_Support_in_MultimodalQnA.md)'s Phase 2 plan, this PR adds support for image queries, PDF ingestion and display, and dynamic ports. There are also some bug fixes. This PR goes with [this one in GenAIComps](https://github.com/opea-project/GenAIComps/pull/1134). Signed-off-by: Melanie Buehler <melanie.h.buehler@intel.com> Co-authored-by: Liang Lv <liang1.lv@intel.com>
49 lines
1.2 KiB
Docker
49 lines
1.2 KiB
Docker
# Copyright (C) 2024 Intel Corporation
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
# Stage 1: base setup used by other stages
|
|
FROM python:3.11-slim AS base
|
|
|
|
# get security updates
|
|
RUN apt-get update && apt-get upgrade -y && \
|
|
apt-get clean && rm -rf /var/lib/apt/lists/*
|
|
|
|
ENV HOME=/home/user
|
|
|
|
RUN useradd -m -s /bin/bash user && \
|
|
mkdir -p $HOME && \
|
|
chown -R user $HOME
|
|
|
|
WORKDIR $HOME
|
|
|
|
# Stage 2: latest GenAIComps sources
|
|
FROM base AS git
|
|
|
|
RUN apt-get update && apt-get install -y --no-install-recommends git
|
|
RUN git clone --depth 1 https://github.com/opea-project/GenAIComps.git
|
|
|
|
# Stage 3: common layer shared by services using GenAIComps
|
|
FROM base AS comps-base
|
|
|
|
# copy just relevant parts
|
|
COPY --from=git $HOME/GenAIComps/comps $HOME/GenAIComps/comps
|
|
COPY --from=git $HOME/GenAIComps/*.* $HOME/GenAIComps/LICENSE $HOME/GenAIComps/
|
|
|
|
WORKDIR $HOME/GenAIComps
|
|
RUN pip install --no-cache-dir --upgrade pip setuptools && \
|
|
pip install --no-cache-dir -r $HOME/GenAIComps/requirements.txt
|
|
WORKDIR $HOME
|
|
|
|
ENV PYTHONPATH=$PYTHONPATH:$HOME/GenAIComps
|
|
|
|
USER user
|
|
|
|
|
|
# Stage 4: unique part
|
|
FROM comps-base
|
|
|
|
COPY ./multimodalqna.py $HOME/multimodalqna.py
|
|
|
|
ENTRYPOINT ["python", "multimodalqna.py"]
|
|
# ENTRYPOINT ["/usr/bin/sleep", "infinity"]
|