Skip to content

Commit 4eba9f8

Browse files
Merge pull request #2951 from bluewave-labs/develop
Merge develop into master
2 parents deab57e + f2504c7 commit 4eba9f8

File tree

7 files changed

+61
-335
lines changed

7 files changed

+61
-335
lines changed

.dockerignore

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# Virtual environments (these caused the 1.3GB bloat)
2+
**/venv/
3+
**/.venv/
4+
**/ENV/
5+
**/env/
6+
7+
# Python cache
8+
**/__pycache__/
9+
**/*.py[cod]
10+
**/*.pyo
11+
**/*.pyd
12+
**/.Python
13+
**/*.so
14+
**/*.egg-info/
15+
**/*.egg
16+
**/.eggs/
17+
18+
# Node
19+
**/node_modules/
20+
**/.next/
21+
22+
# Git
23+
.git/
24+
25+
# IDE
26+
.idea/
27+
.vscode/
28+
**/*.swp
29+
**/*.swo
30+
31+
# Logs and test artifacts
32+
**/*.log
33+
**/logs/
34+
**/.pytest_cache/
35+
**/.coverage
36+
**/htmlcov/
37+
**/.tox/
38+
39+
# OS files
40+
**/.DS_Store
41+
**/Thumbs.db
42+
43+
# Local environment files
44+
**/.env.local

Clients/src/presentation/pages/EvalsDashboard/NewExperimentModal.tsx

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1981,8 +1981,17 @@ export default function NewExperimentModal({
19811981
// Check conditional fields based on access method
19821982
if (selectedModelProvider && 'needsUrl' in selectedModelProvider && selectedModelProvider.needsUrl && !config.model.endpointUrl) return false;
19831983

1984-
// Only require API key for custom_api (cloud providers use saved keys)
1985-
if (config.model.accessMethod === "custom_api" && !config.model.apiKey) return false;
1984+
// Providers that don't need API keys
1985+
const noApiKeyNeeded = ["ollama", "local"];
1986+
1987+
// For all cloud providers (including custom_api), require either a saved API key OR an entered API key
1988+
if (!noApiKeyNeeded.includes(config.model.accessMethod)) {
1989+
// Map custom_api to "custom" for checking saved keys
1990+
const providerForKeyCheck = config.model.accessMethod === "custom_api" ? "custom" : config.model.accessMethod;
1991+
const hasSavedKey = hasApiKey(providerForKeyCheck);
1992+
const hasEnteredKey = !!config.model.apiKey;
1993+
if (!hasSavedKey && !hasEnteredKey) return false;
1994+
}
19861995

19871996
return true;
19881997
}

EvalServer/Dockerfile

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,9 @@ WORKDIR /app
66
# Copy requirements first for better caching
77
COPY ./EvalServer/src/requirements.txt requirements.txt
88

9-
# Install CPU-only PyTorch first (much smaller, no triton/CUDA), then other deps
10-
RUN pip install --no-cache-dir torch --index-url https://download.pytorch.org/whl/cpu && \
9+
# Install CPU-only PyTorch first (forces CPU wheel, no triton/CUDA)
10+
# Then install remaining dependencies from PyPI
11+
RUN pip install --no-cache-dir torch==2.5.1 --index-url https://download.pytorch.org/whl/cpu && \
1112
pip install --no-cache-dir -r requirements.txt
1213

1314
# Copy the application source

EvalServer/src/requirements.txt

Lines changed: 1 addition & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@ deepeval==3.7.0
1717
distro==1.9.0
1818
docstring_parser==0.17.0
1919
eval_type_backport==0.2.2
20-
execnet==2.1.1
21-
fairlearn==0.13.0
2220
fastapi==0.121.0
2321
filelock==3.20.1
2422
frozenlist==1.8.0
@@ -43,11 +41,9 @@ httpx==0.28.1
4341
huggingface-hub==0.36.0
4442
idna==3.11
4543
importlib_metadata==8.7.0
46-
iniconfig==2.3.0
4744
invoke==2.2.1
4845
Jinja2==3.1.6
4946
jiter==0.11.1
50-
joblib==1.5.2
5147
Mako==1.3.10
5248
markdown-it-py==4.0.0
5349
MarkupSafe==3.0.3
@@ -61,18 +57,10 @@ networkx==3.4.2
6157
numpy==2.2.6
6258
ollama==0.6.0
6359
openai==2.7.1
64-
opentelemetry-api==1.38.0
65-
opentelemetry-exporter-otlp-proto-common==1.38.0
66-
opentelemetry-exporter-otlp-proto-grpc==1.38.0
67-
opentelemetry-proto==1.38.0
68-
opentelemetry-sdk==1.38.0
69-
opentelemetry-semantic-conventions==0.59b0
7060
packaging==25.0
7161
pandas==2.3.3
7262
passlib==1.7.4
73-
pluggy==1.6.0
7463
portalocker==3.2.0
75-
posthog==5.4.0
7664
propcache==0.4.1
7765
proto-plus==1.26.1
7866
protobuf==5.29.5
@@ -82,15 +70,9 @@ pyasn1_modules==0.4.2
8270
pydantic==2.12.3
8371
pydantic-settings==2.11.0
8472
pydantic_core==2.41.4
85-
pyfiglet==1.0.4
8673
Pygments==2.19.2
8774
PyJWT==2.10.1
8875
pyparsing==3.2.5
89-
pytest==8.4.2
90-
pytest-asyncio==1.2.0
91-
pytest-repeat==0.9.4
92-
pytest-rerunfailures==12.0
93-
pytest-xdist==3.8.0
9476
python-dateutil==2.9.0.post0
9577
python-dotenv==1.2.1
9678
python-multipart==0.0.20
@@ -102,9 +84,6 @@ requests==2.32.5
10284
rich==14.2.0
10385
rsa==4.9.1
10486
safetensors==0.6.2
105-
scikit-learn==1.7.2
106-
scipy==1.15.3
107-
sentry-sdk==2.43.0
10887
setuptools==80.9.0
10988
shellingham==1.5.4
11089
six==1.17.0
@@ -116,7 +95,7 @@ tabulate==0.9.0
11695
tenacity==9.1.2
11796
threadpoolctl==3.6.0
11897
tokenizers==0.22.1
119-
torch==2.9.0
98+
# torch installed separately in Dockerfile (CPU-only)
12099
tqdm==4.67.1
121100
transformers==4.57.1
122101
typer==0.20.0

EvalServer/src/utils/handle_files_uploads.py

Lines changed: 0 additions & 85 deletions
This file was deleted.

0 commit comments

Comments
 (0)