-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
68 lines (60 loc) · 1.99 KB
/
Copy pathDockerfile
File metadata and controls
68 lines (60 loc) · 1.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
FROM python:3.10-slim-bookworm
ENV DEBIAN_FRONTEND=noninteractive \
PYTHONDONTWRITEBYTECODE=1 \
PYTHONUNBUFFERED=1 \
PIP_NO_CACHE_DIR=1 \
PIP_DISABLE_PIP_VERSION_CHECK=1 \
# Prevent import-time crash when `.env` is not baked into the image.
# Users can still override via `--env-file` / `-e`.
TEST_INSTANCE_ROOT_PATH=/SQLegit/output/test_cases
WORKDIR /SQLegit
# System deps:
# - build-essential: some Python deps may compile native extensions depending on platform/wheels
# - git/curl/ca-certificates: common utilities (also helps debugging in container)
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
git \
curl \
ca-certificates \
bash \
vim \
nodejs \
npm \
&& rm -rf /var/lib/apt/lists/*
# # Node global tools
# RUN npm install -g @openai/codex \
# && npm cache clean --force
# Python deps pinned to the versions available in the current dev/runtime environment
# (Python 3.10.12). Keep this list minimal and reproducible.
RUN python -m pip install --upgrade pip \
&& python -m pip install \
tqdm==4.67.1 \
pandas==2.3.0 \
numpy==2.2.6 \
munch==4.0.0 \
dill==0.4.1 \
python-dotenv==1.1.0 \
langchain==0.3.25 \
langchain-core==0.3.74 \
langchain-openai==0.3.31 \
langchain-deepseek==0.1.4 \
langchain-chroma==0.2.4 \
chromadb==1.0.12 \
sqlglot==26.26.0 \
sql-metadata==2.17.0 \
sqlparse==0.5.3 \
datasketch==1.6.5 \
networkx==3.4.2 \
nltk==3.9.1 \
func-timeout==4.3.5 \
pydantic==2.11.5 \
jinja2==3.1.6 \
# langchain-openai==0.3.31 requires openai<2.0.0,>=1.99.9
openai==1.99.9
# Copy only what we need to run (avoid baking secrets like `.env`, and keep image small).
COPY src/ src/
COPY templates/ templates/
COPY run_judgment.py run_consensus.py ./
# Runtime directories (logs, cached test cases, etc.)
RUN mkdir -p output/logs output/test_cases
CMD ["/bin/bash"]