diff --git a/Dockerfile b/Dockerfile index 416e49e..64c2e44 100644 --- a/Dockerfile +++ b/Dockerfile @@ -8,10 +8,11 @@ RUN npm run build # Stage 2: Runtime FROM alpine:3.21 -RUN apk add --no-cache ca-certificates curl bash python3 py3-pip +RUN apk add --no-cache ca-certificates curl bash RUN curl -LsSf https://astral.sh/uv/install.sh | sh ENV PATH="/root/.local/bin:$PATH" -RUN pip3 install --break-system-packages sentence-transformers +RUN uv venv /app/venv && uv pip install --python /app/venv/bin/python sentence-transformers +RUN /app/venv/bin/python -c "from sentence_transformers import SentenceTransformer; SentenceTransformer('all-MiniLM-L6-v2')" RUN mkdir -p /app/data/workspaces WORKDIR /app COPY target/aarch64-unknown-linux-musl/release/tori . diff --git a/src/kb.rs b/src/kb.rs index 73a2fc7..2c1d0b3 100644 --- a/src/kb.rs +++ b/src/kb.rs @@ -101,7 +101,7 @@ impl KbManager { async fn compute_embeddings(texts: &[String]) -> Result>> { let input = serde_json::json!({ "texts": texts }); - let mut child = tokio::process::Command::new("python3") + let mut child = tokio::process::Command::new("/app/venv/bin/python") .arg("/app/scripts/embed.py") .stdin(Stdio::piped()) .stdout(Stdio::piped())