From 6d6b3504ac3a0c6d62c7759a9b91ae6372227f92 Mon Sep 17 00:00:00 2001 From: Alan Jean Date: Mon, 30 Jan 2023 23:15:56 +0400 Subject: [PATCH] =?UTF-8?q?feat(inference):=20add=20compose=20file=20for?= =?UTF-8?q?=20the=20inference=20stack=20=F0=9F=90=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Initial inference stack definition. --- docker-compose.inference.yaml | 63 +++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 docker-compose.inference.yaml diff --git a/docker-compose.inference.yaml b/docker-compose.inference.yaml new file mode 100644 index 00000000..38609b36 --- /dev/null +++ b/docker-compose.inference.yaml @@ -0,0 +1,63 @@ +version: "3.7" + +services: + inference-server: + build: + dockerfile: docker/inference/Dockerfile.server + context: . + image: oasst-inference-server + environment: + - "PORT=8000" + - "REDIS_HOST=redis" + volumes: + - "./oasst-shared:/opt/inference/lib/oasst-shared" + - "./inference/server:/opt/inference/server" + restart: unless-stopped + depends_on: + redis: + condition: service_healthy + + inference-worker: + build: + dockerfile: docker/inference/Dockerfile.worker + context: . + image: oasst-inference-worker + environment: + - "BACKEND_URL=ws://inference-server:8000" + - "INFERENCE_SERVER_URL=http://inference-text-generation-server" + volumes: + - "./oasst-shared:/opt/inference/lib/oasst-shared" + - "./inference/worker:/opt/inference/worker" + depends_on: + - inference-server + deploy: + replicas: 1 + + inference-text-client: + build: + dockerfile: docker/inference/Dockerfile.text-client + context: . + image: oasst-inference-text-client + environment: + - "BACKEND_URL=http://inference-server:8000" + tty: true + stdin_open: true + volumes: + - "./inference/text-client:/opt/inference/text-client" + restart: unless-stopped + depends_on: + - inference-server + + inference-text-generation-server: + image: ykilcher/text-generation-inference + environment: + - "MODEL_ID=distilgpt2" + + redis: + image: redis + restart: always + healthcheck: + test: ["CMD-SHELL", "redis-cli ping | grep PONG"] + interval: 2s + timeout: 2s + retries: 10