Skip to content

Commit ce7a630

Browse files
committed
update: code review
- remove env variable LDFLAGS PYTHON_CONFIG CGO_CFLAGS TOKENIZER_ARCH PYTHON_VERSION epp_* and sidecar_* for CGO - update documentation - remove make targets related to tokenizer, pythone Signed-off-by: Wen Zhou <wenzhou@redhat.com>
1 parent 8b6e062 commit ce7a630

File tree

5 files changed

+26
-200
lines changed

5 files changed

+26
-200
lines changed

DEVELOPMENT.md

Lines changed: 4 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -6,38 +6,21 @@ Documentation for developing the inference scheduler.
66

77
- [Make] `v4`+
88
- [Golang] `v1.24`+
9-
- [Python] `v3.12`
109
- [Docker] (or [Podman])
1110
- [Kubernetes in Docker (KIND)]
1211
- [Kustomize]
12+
- [ZeroMQ]
1313

1414
[Make]:https://www.gnu.org/software/make/
1515
[Golang]:https://go.dev/
16-
[Python]:https://www.python.org/
1716
[Docker]:https://www.docker.com/
1817
[Podman]:https://podman.io/
1918
[Kubernetes in Docker (KIND)]:https://github.com/kubernetes-sigs/kind
2019
[Kustomize]:https://kubectl.docs.kubernetes.io/installation/kustomize/
20+
[ZeroMQ]:https://zeromq.org/
2121

22-
### Python Version Configuration
23-
24-
The project uses Python 3.12 by default, but this can be configured:
25-
26-
**For local development:**
27-
`PYTHON_VERSION` in the Makefile set which Python version is used.
28-
29-
**For Docker builds:**
30-
The Python version is parameterized in the Dockerfile via the `PYTHON_VERSION` build argument, which defaults to 3.12. To build with a different Python version:
31-
32-
```bash
33-
PYTHON_VERSION=3.13 make image-build
34-
35-
# Or directly with Docker
36-
docker build --build-arg PYTHON_VERSION=3.13 -f Dockerfile.epp .
37-
```
38-
39-
**For CI/CD:**
40-
Workflow uses Python 3.12 by default. The version can be set by modifying the `python-version` input in workflow file.
22+
> [!NOTE]
23+
> **Python is NOT required** as of v0.5.1. Tokenization is handled by a separate UDS (Unix Domain Socket) tokenizer sidecar container. Previous versions (< v0.5.1) used embedded Python tokenizers with daulet/tokenizers bindings, but these are now deprecated.
4124
4225
## Tokenization Architecture
4326

Makefile

Lines changed: 8 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -40,29 +40,23 @@ export UDS_TOKENIZER_IMAGE ?= $(UDS_TOKENIZER_TAG_BASE):$(UDS_TOKENIZER_TAG)
4040
NAMESPACE ?= hc4ai-operator
4141
LINT_NEW_ONLY ?= false # Set to true to only lint new code, false to lint all code (default matches CI behavior)
4242

43-
# Map go arch to platform-specific arch
43+
# Map go arch to platform-specific arch for typos tool
4444
ifeq ($(TARGETOS),darwin)
4545
ifeq ($(TARGETARCH),amd64)
46-
TOKENIZER_ARCH = x86_64
4746
TYPOS_TARGET_ARCH = x86_64
4847
else ifeq ($(TARGETARCH),arm64)
49-
TOKENIZER_ARCH = arm64
5048
TYPOS_TARGET_ARCH = aarch64
5149
else
52-
TOKENIZER_ARCH = $(TARGETARCH)
5350
TYPOS_TARGET_ARCH = $(TARGETARCH)
5451
endif
5552
TAR_OPTS = --strip-components 1
5653
TYPOS_ARCH = $(TYPOS_TARGET_ARCH)-apple-darwin
5754
else
5855
ifeq ($(TARGETARCH),amd64)
59-
TOKENIZER_ARCH = amd64
6056
TYPOS_TARGET_ARCH = x86_64
6157
else ifeq ($(TARGETARCH),arm64)
62-
TOKENIZER_ARCH = arm64
6358
TYPOS_TARGET_ARCH = aarch64
6459
else
65-
TOKENIZER_ARCH = $(TARGETARCH)
6660
TYPOS_TARGET_ARCH = $(TARGETARCH)
6761
endif
6862
TAR_OPTS = --wildcards '*/typos'
@@ -80,56 +74,15 @@ BUILD_REF ?= $(shell git describe --abbrev=0 2>/dev/null)
8074
# go source files
8175
SRC = $(shell find . -type f -name '*.go')
8276

83-
# DEPRECATED: Tokenizer & Linking flags (only used for legacy embedded tokenizer builds)
84-
# UDS builds don't need these flags - ZMQ linking is handled automatically via pkg-config
85-
LDFLAGS ?= -extldflags '-L$(LOCALLIB)'
77+
# CGO_ENABLED=1 is required for ZMQ (linking handled via pkg-config)
8678
CGO_ENABLED=1
8779

88-
# Unified Python configuration detection. This block runs once.
89-
PYTHON_CONFIG ?= $(shell command -v python$(PYTHON_VERSION)-config || command -v python3-config)
90-
ifeq ($(PYTHON_CONFIG),)
91-
ifeq ($(TARGETOS),darwin)
92-
# macOS: Find Homebrew's python-config script for the most reliable flags.
93-
BREW_PREFIX := $(shell command -v brew >/dev/null 2>&1 && brew --prefix python@$(PYTHON_VERSION) 2>/dev/null)
94-
PYTHON_CONFIG ?= $(BREW_PREFIX)/bin/python$(PYTHON_VERSION)-config
95-
PYTHON_ERROR := "Could not execute 'python$(PYTHON_VERSION)-config'. Please ensure Python is installed correctly with: 'brew install python@$(PYTHON_VERSION)' or install python3.12 manually."
96-
else ifeq ($(TARGETOS),linux)
97-
# Linux: Use standard system tools to find flags.
98-
PYTHON_ERROR := "Python $(PYTHON_VERSION) development headers not found. Please install with: 'sudo apt install python$(PYTHON_VERSION)-dev' or 'sudo dnf install python$(PYTHON_VERSION)-devel'"
99-
else
100-
PYTHON_ERROR := "you should set up PYTHON_CONFIG variable manually"
101-
endif
102-
endif
103-
104-
ifeq ($(PYTHON_CONFIG),)
105-
$(error ${PYTHON_ERROR})
106-
endif
107-
108-
ifeq ($(shell $(PYTHON_CONFIG) --cflags 2>/dev/null),)
109-
$(error Python configuration tool cannot provide cflags)
110-
endif
111-
112-
PYTHON_CFLAGS := $(shell $(PYTHON_CONFIG) --cflags)
113-
PYTHON_LDFLAGS := $(shell $(PYTHON_CONFIG) --ldflags --embed)
114-
115-
# DEPRECATED: CGO flags with Python and tokenizers (only used for legacy embedded tokenizer builds)
116-
# The default UDS build only needs ZMQ
117-
CGO_CFLAGS := $(PYTHON_CFLAGS) '-I$(shell pwd)/lib'
118-
CGO_LDFLAGS := $(PYTHON_LDFLAGS) $(PYTHON_LIBS) '-L$(shell pwd)/lib' -ltokenizers -ldl -lm
119-
12080

12181
# Internal variables for generic targets
12282
epp_IMAGE = $(EPP_IMAGE)
12383
sidecar_IMAGE = $(SIDECAR_IMAGE)
12484
epp_NAME = epp
12585
sidecar_NAME = $(SIDECAR_NAME)
126-
# Empty flags for UDS-only builds (ZMQ linking handled via pkg-config)
127-
epp_LDFLAGS =
128-
sidecar_LDFLAGS =
129-
epp_CGO_CFLAGS =
130-
sidecar_CGO_CFLAGS =
131-
epp_CGO_LDFLAGS =
132-
sidecar_CGO_LDFLAGS =
13386
epp_TEST_FILES = go list ./... | grep -v /test/ | grep -v ./pkg/sidecar/
13487
sidecar_TEST_FILES = go list ./pkg/sidecar/...
13588

@@ -156,10 +109,10 @@ lint: check-golangci-lint check-typos ## Run lint (use LINT_NEW_ONLY=true to onl
156109
@printf "\033[33;1m==== Running linting ====\033[0m\n"
157110
@if [ "$(LINT_NEW_ONLY)" = "true" ]; then \
158111
printf "\033[33mChecking new code only (LINT_NEW_ONLY=true)\033[0m\n"; \
159-
CGO_CFLAGS="${CGO_CFLAGS}" $(GOLANGCI_LINT) run --new; \
112+
$(GOLANGCI_LINT) run --new; \
160113
else \
161114
printf "\033[33mChecking all code (LINT_NEW_ONLY=false, default)\033[0m\n"; \
162-
CGO_CFLAGS="${CGO_CFLAGS}" $(GOLANGCI_LINT) run; \
115+
$(GOLANGCI_LINT) run; \
163116
fi
164117
$(TYPOS)
165118

@@ -176,9 +129,7 @@ test-unit: test-unit-epp test-unit-sidecar ## Run unit tests
176129
.PHONY: test-unit-%
177130
test-unit-%: check-dependencies ## Run unit tests
178131
@printf "\033[33;1m==== Running Unit Tests ====\033[0m\n"
179-
@KV_CACHE_PKG=$$(go list -m -f '{{.Dir}}/pkg/preprocessing/chat_completions' github.com/llm-d/llm-d-kv-cache 2>/dev/null || echo ""); \
180-
PYTHONPATH="$$KV_CACHE_PKG:$(VENV_DIR)/lib/python$(PYTHON_VERSION)/site-packages" \
181-
CGO_CFLAGS=${$*_CGO_CFLAGS} CGO_LDFLAGS=${$*_CGO_LDFLAGS} go test $($*_LDFLAGS) -v $$($($*_TEST_FILES) | tr '\n' ' ')
132+
@go test -v $$($($*_TEST_FILES) | tr '\n' ' ')
182133

183134
.PHONY: test-filter
184135
test-filter: check-dependencies ## Run filtered unit tests (usage: make test-filter PATTERN=TestName TYPE=epp)
@@ -188,15 +139,10 @@ test-filter: check-dependencies ## Run filtered unit tests (usage: make test-fil
188139
fi
189140
@TEST_TYPE="$(if $(TYPE),$(TYPE),epp)"; \
190141
printf "\033[33;1m==== Running Filtered Tests (pattern: $(PATTERN), type: $$TEST_TYPE) ====\033[0m\n"; \
191-
KV_CACHE_PKG=$$(go list -m -f '{{.Dir}}/pkg/preprocessing/chat_completions' github.com/llm-d/llm-d-kv-cache 2>/dev/null || echo ""); \
192142
if [ "$$TEST_TYPE" = "epp" ]; then \
193-
PYTHONPATH="$$KV_CACHE_PKG:$(VENV_DIR)/lib/python$(PYTHON_VERSION)/site-packages" \
194-
CGO_CFLAGS=$(epp_CGO_CFLAGS) CGO_LDFLAGS=$(epp_CGO_LDFLAGS) \
195-
go test $(epp_LDFLAGS) -v -run "$(PATTERN)" $$($(epp_TEST_FILES) | tr '\n' ' '); \
143+
go test -v -run "$(PATTERN)" $$($(epp_TEST_FILES) | tr '\n' ' '); \
196144
else \
197-
PYTHONPATH="$$KV_CACHE_PKG:$(VENV_DIR)/lib/python$(PYTHON_VERSION)/site-packages" \
198-
CGO_CFLAGS=$(sidecar_CGO_CFLAGS) CGO_LDFLAGS=$(sidecar_CGO_LDFLAGS) \
199-
go test $(sidecar_LDFLAGS) -v -run "$(PATTERN)" $$($(sidecar_TEST_FILES) | tr '\n' ' '); \
145+
go test -v -run "$(PATTERN)" $$($(sidecar_TEST_FILES) | tr '\n' ' '); \
200146
fi
201147

202148
.PHONY: test-integration
@@ -223,7 +169,7 @@ build: build-epp build-sidecar ## Build the project for both epp and sidecar
223169
.PHONY: build-%
224170
build-%: check-go ## Build the project
225171
@printf "\033[33;1m==== Building ====\033[0m\n"
226-
CGO_CFLAGS=${$*_CGO_CFLAGS} CGO_LDFLAGS=${$*_CGO_LDFLAGS} go build $($*_LDFLAGS) -o bin/$($*_NAME) cmd/$($*_NAME)/main.go
172+
@go build -o bin/$($*_NAME) cmd/$($*_NAME)/main.go
227173

228174
##@ Container image Build/Push/Pull
229175

@@ -258,7 +204,6 @@ image-build-%: check-container-tool ## Build Container image using $(CONTAINER_R
258204
--platform linux/$(TARGETARCH) \
259205
--build-arg TARGETOS=linux \
260206
--build-arg TARGETARCH=$(TARGETARCH) \
261-
--build-arg PYTHON_VERSION=$(PYTHON_VERSION) \
262207
--build-arg COMMIT_SHA=${GIT_COMMIT_SHA} \
263208
--build-arg BUILD_REF=${BUILD_REF} \
264209
-t $($*_IMAGE) -f Dockerfile.$* .
@@ -297,7 +242,6 @@ stop-container: check-container-tool ## Stop and remove container
297242
env: ## Print environment variables
298243
@echo "TARGETOS=$(TARGETOS)"
299244
@echo "TARGETARCH=$(TARGETARCH)"
300-
@echo "PYTHON_VERSION=$(PYTHON_VERSION)"
301245
@echo "CONTAINER_RUNTIME=$(CONTAINER_RUNTIME)"
302246
@echo "IMAGE_TAG_BASE=$(IMAGE_TAG_BASE)"
303247
@echo "EPP_TAG=$(EPP_TAG)"

Makefile.tools.mk

Lines changed: 11 additions & 112 deletions
Original file line numberDiff line numberDiff line change
@@ -10,26 +10,12 @@ GINKGO = $(LOCALBIN)/ginkgo
1010
GOLANGCI_LINT = $(LOCALBIN)/golangci-lint
1111
KUSTOMIZE = $(LOCALBIN)/kustomize
1212
TYPOS = $(LOCALBIN)/typos
13-
## Dependencies
14-
TOKENIZER_LIB = $(LOCALLIB)/libtokenizers.a
1513

1614
## Tool fixed versions.
1715
GINKGO_VERSION ?= v2.27.2
1816
GOLANGCI_LINT_VERSION ?= v2.8.0
1917
KUSTOMIZE_VERSION ?= v5.5.0
2018
TYPOS_VERSION ?= v1.34.0
21-
VLLM_VERSION ?= 0.14.0
22-
23-
## Python Configuration
24-
PYTHON_VERSION ?= 3.12
25-
# DEPRECATED: Hardcoded tokenizer version for legacy embedded tokenizer support
26-
# Embedded tokenizers are deprecated. Use UDS tokenizer instead (see DEVELOPMENT.md)
27-
TOKENIZER_VERSION ?= v1.22.1
28-
29-
# Python executable for creating venv
30-
PYTHON_EXE := $(shell command -v python$(PYTHON_VERSION) || command -v python3)
31-
VENV_DIR := $(shell pwd)/build/venv
32-
VENV_BIN := $(VENV_DIR)/bin
3319

3420
## go-install-tool will 'go install' any package with custom target and version.
3521
define go-install-tool
@@ -48,7 +34,7 @@ endef
4834
##@ Tools
4935

5036
.PHONY: install-tools
51-
install-tools: install-ginkgo install-golangci-lint install-kustomize install-typos install-dependencies download-tokenizer ## Install all development tools and dependencies
37+
install-tools: install-ginkgo install-golangci-lint install-kustomize install-typos install-dependencies ## Install all development tools and dependencies
5238
@echo "All development tools and dependencies are installed."
5339

5440
.PHONY: install-ginkgo
@@ -80,12 +66,12 @@ $(TYPOS): | $(LOCALBIN)
8066
check-dependencies: ## Check if development dependencies are installed
8167
@if [ "$(TARGETOS)" = "linux" ]; then \
8268
if [ -x "$$(command -v apt)" ]; then \
83-
if ! dpkg -s libzmq3-dev >/dev/null 2>&1 || ! dpkg -s g++ >/dev/null 2>&1 || ! dpkg -s python$(PYTHON_VERSION)-dev >/dev/null 2>&1; then \
69+
if ! dpkg -s libzmq3-dev >/dev/null 2>&1 || ! dpkg -s g++ >/dev/null 2>&1; then \
8470
echo "ERROR: Missing dependencies. Please run 'sudo make install-dependencies'"; \
8571
exit 1; \
8672
fi; \
8773
elif [ -x "$$(command -v dnf)" ]; then \
88-
if ! rpm -q zeromq-devel >/dev/null 2>&1 || ! rpm -q gcc-c++ >/dev/null 2>&1 || ! rpm -q python$(PYTHON_VERSION)-devel >/dev/null 2>&1; then \
74+
if ! rpm -q zeromq-devel >/dev/null 2>&1 || ! rpm -q gcc-c++ >/dev/null 2>&1; then \
8975
echo "ERROR: Missing dependencies. Please run 'sudo make install-dependencies'"; \
9076
exit 1; \
9177
fi; \
@@ -110,21 +96,21 @@ install-dependencies: ## Install development dependencies based on OS/ARCH
11096
@echo "Checking and installing development dependencies..."
11197
@if [ "$(TARGETOS)" = "linux" ]; then \
11298
if [ -x "$$(command -v apt)" ]; then \
113-
if ! dpkg -s libzmq3-dev >/dev/null 2>&1 || ! dpkg -s g++ >/dev/null 2>&1 || ! dpkg -s python$(PYTHON_VERSION)-dev >/dev/null 2>&1; then \
99+
if ! dpkg -s libzmq3-dev >/dev/null 2>&1 || ! dpkg -s g++ >/dev/null 2>&1; then \
114100
echo "Installing dependencies with apt..."; \
115-
apt-get update && apt-get install -y libzmq3-dev g++ python$(PYTHON_VERSION)-dev; \
101+
apt-get update && apt-get install -y libzmq3-dev g++; \
116102
else \
117-
echo "✅ ZMQ, g++, and Python dev headers are already installed."; \
103+
echo "✅ ZMQ and g++ are already installed."; \
118104
fi; \
119105
elif [ -x "$$(command -v dnf)" ]; then \
120-
if ! rpm -q zeromq-devel >/dev/null 2>&1 || ! rpm -q gcc-c++ >/dev/null 2>&1 || ! rpm -q python$(PYTHON_VERSION)-devel >/dev/null 2>&1; then \
106+
if ! rpm -q zeromq-devel >/dev/null 2>&1 || ! rpm -q gcc-c++ >/dev/null 2>&1; then \
121107
echo "Installing dependencies with dnf..."; \
122-
dnf install -y zeromq-devel gcc-c++ python$(PYTHON_VERSION)-devel; \
108+
dnf install -y zeromq-devel gcc-c++; \
123109
else \
124-
echo "✅ ZMQ, gcc-c++, and Python dev headers are already installed."; \
110+
echo "✅ ZMQ and gcc-c++ are already installed."; \
125111
fi; \
126112
else \
127-
echo "ERROR: Unsupported Linux package manager. Install libzmq, g++/gcc-c++, and python-devel manually."; \
113+
echo "ERROR: Unsupported Linux package manager. Install libzmq and g++/gcc-c++ manually."; \
128114
exit 1; \
129115
fi; \
130116
elif [ "$(TARGETOS)" = "darwin" ]; then \
@@ -133,7 +119,7 @@ install-dependencies: ## Install development dependencies based on OS/ARCH
133119
echo "Installing dependencies with brew..."; \
134120
brew install zeromq pkg-config; \
135121
else \
136-
echo "✅ ZeroMQ and pkgconf are already installed."; \
122+
echo "✅ ZeroMQ and pkg-config are already installed."; \
137123
fi; \
138124
else \
139125
echo "ERROR: Homebrew is not installed and is required to install zeromq. Install it from https://brew.sh/"; \
@@ -144,93 +130,6 @@ install-dependencies: ## Install development dependencies based on OS/ARCH
144130
exit 1; \
145131
fi
146132

147-
## DEPRECATED: download-tokenizer target
148-
## This target downloads embedded tokenizer bindings (daulet/tokenizers) which are deprecated.
149-
## The project now uses UDS (Unix Domain Socket) tokenizers via a separate sidecar container.
150-
.PHONY: download-tokenizer
151-
download-tokenizer: $(TOKENIZER_LIB)
152-
$(TOKENIZER_LIB): | $(LOCALLIB)
153-
## Download the HuggingFace tokenizer bindings (DEPRECATED - use UDS tokenizer instead).
154-
@echo "WARNING: Downloading deprecated embedded tokenizer bindings for version $(TOKENIZER_VERSION)..."
155-
@echo "WARNING: Embedded tokenizers are deprecated. Use UDS tokenizer instead (see DEVELOPMENT.md)"
156-
@curl -L https://github.com/daulet/tokenizers/releases/download/$(TOKENIZER_VERSION)/libtokenizers.$(TARGETOS)-$(TOKENIZER_ARCH).tar.gz | tar -xz -C $(LOCALLIB)
157-
@ranlib $(LOCALLIB)/*.a
158-
@echo "Tokenizer bindings downloaded successfully (DEPRECATED)."
159-
160-
.PHONY: detect-python
161-
detect-python: ## Detects Python and prints the configuration.
162-
@printf "\033[33;1m==== Python Configuration ====\033[0m\n"
163-
@if [ -z "$(PYTHON_EXE)" ]; then \
164-
echo "ERROR: Python 3 not found in PATH."; \
165-
exit 1; \
166-
fi
167-
@# Verify the version of the found python executable using its exit code
168-
@if ! $(PYTHON_EXE) -c "import sys; sys.exit(0 if sys.version_info[:2] == ($(shell echo $(PYTHON_VERSION) | cut -d. -f1), $(shell echo $(PYTHON_VERSION) | cut -d. -f2)) else 1)"; then \
169-
echo "ERROR: Found Python at '$(PYTHON_EXE)' but it is not version $(PYTHON_VERSION)."; \
170-
echo "Please ensure 'python$(PYTHON_VERSION)' or a compatible 'python3' is in your PATH."; \
171-
exit 1; \
172-
fi
173-
@echo "Python executable: $(PYTHON_EXE) ($$($(PYTHON_EXE) --version))"
174-
@echo "Python CFLAGS: $(PYTHON_CFLAGS)"
175-
@echo "Python LDFLAGS: $(PYTHON_LDFLAGS)"
176-
@if [ -z "$(PYTHON_CFLAGS)" ]; then \
177-
echo "ERROR: Python development headers not found. See installation instructions above."; \
178-
exit 1; \
179-
fi
180-
@printf "\033[33;1m==============================\033[0m\n"
181-
182-
.PHONY: setup-venv
183-
setup-venv: detect-python ## Sets up the Python virtual environment.
184-
@printf "\033[33;1m==== Setting up Python virtual environment in $(VENV_DIR) ====\033[0m\n"
185-
@if [ ! -f "$(VENV_BIN)/pip" ]; then \
186-
echo "Creating virtual environment..."; \
187-
$(PYTHON_EXE) -m venv $(VENV_DIR) || { \
188-
echo "ERROR: Failed to create virtual environment."; \
189-
echo "Your Python installation may be missing the 'venv' module."; \
190-
echo "Try: 'sudo apt install python$(PYTHON_VERSION)-venv' or 'sudo dnf install python$(PYTHON_VERSION)-devel'"; \
191-
exit 1; \
192-
}; \
193-
fi
194-
@echo "Upgrading pip..."
195-
@$(VENV_BIN)/pip install --upgrade pip
196-
@echo "Python virtual environment setup complete."
197-
198-
.PHONY: install-python-deps
199-
install-python-deps: setup-venv ## installs dependencies.
200-
@printf "\033[33;1m==== Setting up Python virtual environment in $(VENV_DIR) ====\033[0m\n"
201-
@echo "install vllm..."
202-
@KV_CACHE_PKG=$${KV_CACHE_PKG:-$$(go list -m -f '{{.Dir}}' github.com/llm-d/llm-d-kv-cache 2>/dev/null)}; \
203-
if [ -z "$$KV_CACHE_PKG" ]; then \
204-
echo "ERROR: kv-cache package not found."; \
205-
exit 1; \
206-
fi; \
207-
if [ "$(TARGETOS)" = "darwin" ]; then \
208-
if [ -f "$$KV_CACHE_PKG/pkg/preprocessing/chat_completions/setup.sh" ]; then \
209-
echo "Running kv-cache setup script for macOS..."; \
210-
cp "$$KV_CACHE_PKG/pkg/preprocessing/chat_completions/setup.sh" build/kv-cache-setup.sh; \
211-
chmod +wx build/kv-cache-setup.sh; \
212-
cd build && PATH=$(VENV_BIN):$$PATH ./kv-cache-setup.sh && cd ..; \
213-
else \
214-
echo "ERROR: setup script not found at $$KV_CACHE_PKG/pkg/preprocessing/chat_completions/setup.sh"; \
215-
exit 1; \
216-
fi; \
217-
else \
218-
echo "Installing vLLM for Linux $(TARGETARCH)..."; \
219-
if [ "$(TARGETARCH)" = "arm64" ]; then \
220-
$(VENV_BIN)/pip install https://github.com/vllm-project/vllm/releases/download/v$(VLLM_VERSION)/vllm-$(VLLM_VERSION)+cpu-cp38-abi3-manylinux_2_35_aarch64.whl; \
221-
elif [ "$(TARGETARCH)" = "amd64" ]; then \
222-
$(VENV_BIN)/pip install https://github.com/vllm-project/vllm/releases/download/v$(VLLM_VERSION)/vllm-$(VLLM_VERSION)+cpu-cp38-abi3-manylinux_2_35_x86_64.whl --extra-index-url https://download.pytorch.org/whl/cpu; \
223-
else \
224-
echo "ERROR: Unsupported architecture: $(TARGETARCH). Only arm64 and amd64 are supported."; \
225-
exit 1; \
226-
fi; \
227-
fi
228-
@echo "Verifying vllm installation..."
229-
@$(VENV_BIN)/python -c "import vllm; print('✅ vllm version ' + vllm.__version__ + ' installed.')" || { \
230-
echo "ERROR: vllm library not properly installed in venv."; \
231-
exit 1; \
232-
}
233-
234133
.PHONY: check-tools
235134
check-tools: check-go check-ginkgo check-golangci-lint check-kustomize check-envsubst check-container-tool check-kubectl check-buildah check-typos ## Check that all required tools are installed
236135
@echo "All required tools are available."

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ require (
88
github.com/google/uuid v1.6.0
99
github.com/hashicorp/golang-lru/v2 v2.0.7
1010
github.com/jellydator/ttlcache/v3 v3.4.0
11-
github.com/llm-d/llm-d-kv-cache v0.5.1-0.20260211144425-c6ac5e53d517
11+
github.com/llm-d/llm-d-kv-cache v0.5.1-0.20260218092800-cbfd0b78c70b
1212
github.com/onsi/ginkgo/v2 v2.28.1
1313
github.com/onsi/gomega v1.39.1
1414
github.com/openai/openai-go v1.12.0

0 commit comments

Comments
 (0)