From dc9fb2901e66b6127c012d5743b42fe223ff9dd3 Mon Sep 17 00:00:00 2001 From: C Cheng <10414576+ccheng26@users.noreply.github.com> Date: Thu, 6 Jun 2024 11:30:23 -0400 Subject: [PATCH] Ccheng26/deployment (#34) add code for preventing chainlit server timeout and dockerfile for deployment --- 04-call-summaries/.dockerignore | 8 +++++ 04-call-summaries/Dockerfile | 34 +++++++++++++++++++ .../chainlit-call-summaries-bot.py | 3 +- 3 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 04-call-summaries/.dockerignore create mode 100644 04-call-summaries/Dockerfile diff --git a/04-call-summaries/.dockerignore b/04-call-summaries/.dockerignore new file mode 100644 index 0000000..40d41fa --- /dev/null +++ b/04-call-summaries/.dockerignore @@ -0,0 +1,8 @@ +__pycache__ +*cache/ +*.log +log/ + +*.DS_STORE + +.git diff --git a/04-call-summaries/Dockerfile b/04-call-summaries/Dockerfile new file mode 100644 index 0000000..0694a47 --- /dev/null +++ b/04-call-summaries/Dockerfile @@ -0,0 +1,34 @@ +# syntax=docker/dockerfile:1.2 + +#====== Create builder image +FROM python:3.11-slim as builder + +# create and activate virtual environment +RUN python -m venv /opt/venv +ENV PATH="/opt/venv/bin:$PATH" + +COPY requirements.txt . +# Use external cache to avoid fetching packages from the internet each time -- https://docs.docker.com/build/cache/#use-the-dedicated-run-cache +RUN --mount=type=cache,mode=0755,target=/root/.cache pip3 install -r requirements.txt + +#====== Create final image +FROM python:3.11-slim as runner + +# Set up a new user so we don't run as root +RUN useradd --create-home -u 1000 tron +RUN chown -R tron:tron /home/tron + +USER tron +ENV HOME=/home/tron +WORKDIR $HOME/app + +COPY --chown=tron --from=builder /opt/venv /opt/venv +# Activate virtual environment +ENV VIRTUAL_ENV=/opt/venv +ENV PATH="/opt/venv/bin:$PATH" +# Ensure all messages always reach console +ENV PYTHONUNBUFFERED=1 + +EXPOSE 8000 +HEALTHCHECK CMD curl http://localhost:8000 || exit 1 +ENTRYPOINT ["chainlit", "run", "--port", "8000", "-h", "chainlit-call-summaries-bot.py"] diff --git a/04-call-summaries/chainlit-call-summaries-bot.py b/04-call-summaries/chainlit-call-summaries-bot.py index f6e712c..f7b117e 100644 --- a/04-call-summaries/chainlit-call-summaries-bot.py +++ b/04-call-summaries/chainlit-call-summaries-bot.py @@ -130,7 +130,8 @@ async def on_click_upload_file_query(action: cl.Action): response = await run_summarization_technique( technique=settings["summarization_technique"], transcript=transcript ) - print(response) + if settings["summarization_technique"] != "stuffing": + cl.sleep(1) answer = f"Result:\n{response}" await cl.Message(content=answer).send()