Introduction to Agentic AI
Running LLM Model Locally with vLLM and others
vLLM Installation
Windows 11 WSL2
vLLM on WSL2 前置工作

Windows Subsystem for Linux
安裝和執行各種 Linux 發行版
使用GNU/Linux套件管理員安裝軟體
Unix-like命令列界面
使用GPU加速AI工作負載

開啟Hyper-V、虛擬機器平台設定才能安裝WSL2
for Hyper-V
vLLM on WSL2 前置工作: 安裝顯卡驅動程式
-
安裝NVidia繪圖卡驅動程式(根據型號)
- 採用CUDA (Compute Unified Device Architecture)
- GPU的Compute Capability需達數值7以上
- nvcc: Nvidia CUDA Compiler Driver

2. 安裝WSL Version 2 with Linux
- 安裝PowerShell (if necessary)
- 安裝WSL(預設安裝ubuntu)
wsl --install- 開啟安裝好之Ubuntu圖示,設定管理員的帳號密碼(務必記住)
sudo apt update && sudo apt upgrade
- 在ubuntu內更新和升級套件
vLLM on WSL2 前置工作: 安裝WSL2
3. 安裝CUDA Toolkit for WSL2(ubuntu)
wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-8
隨選項不同產生不同指令
參考範例:選擇wsl-ubuntu的情形
vLLM on WSL2 前置工作: 安裝CUDA Toolkit
vLLM on WSL2 前置工作: 確認nvcc路徑
4. 確認nvcc路徑
nvcc --version- 找不到nvcc? ('/usr/local/cuda-12.8換成實際安裝路徑)
export PATH="/usr/local/cuda-12.8/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-12.8/lib64:$LD_LIBRARY_PATH"source ~/.bashrc
nvcc --version
nvidia-smi.exe- 再次檢查路徑是否正確?
vLLM on WSL2 前置工作: 建立與啟用虛擬環境
python3 -m venv .myenvsource ./.myenv/bin/activatepip install vllm
vllm serve facebook/opt-125m5. 建立與啟用Python虛擬環境
- 啟用myenv虛擬環境(之後每次啟動都需進入虛擬環境)
- 安裝vllm & 啟動local server
以facebook/opt-125m為例
選用模型以llama-3.2-1B為例

登入後申請agreement
選用模型以llama-3.2-1B為例
python -m vllm.entrypoints.openai.api_server --model=meta-llama/Llama-3.2-1B-Instruct --max-model-len 4096pip install "huggingface_hub[cli]"==0.36.2
huggingface-cli loginexport HF_TOKEN=貼上TOKEN於提示列貼上token

token貼於此
n
token合法
或是設定HF_TOKEN環境變數
vllm requires<5,>=4.56
transformers 4.57.6 requires huggingface-hub<1.0,>=0.34.0
--max-model-len可限制token數量

選用模型 Gemma3介紹
支援超過140種語言
Function Calling
developer friendly model size: 270M, 1B, 4B, 12B, 27B)
選用模型 google/gemma-3-1b-it
it: instruction trainning
pt: pre-trained
pip install vllm
# 需要 transformers 4.56版之後, <5版
pip install transformers==4.57.6
# sudo需輸入密碼
sudo apt-get install python3-dev
# GPU記憶體預設保留0.9, 改成0.8
vllm serve google/gemma-3-1b-it --gpu-memory-utilization 0.8--gpu-memory-utilization
requested_memory = total_gpu_memory × gpu_memory_utilization
gemma-3-1b也需要token: 註冊HuggingFace帳號,建立HF_TOKEN

成功啟動於localhost:8000
curl -X POST "http://localhost:8000/v1/chat/completions" \
-H "Content-Type: application/json" \
--data '{
"model": "google/gemma-3-1b-it",
"messages": [
{
"role": "user",
"content": "What is the capital of France?"
}
]
}'測試問題
選用模型 google/gemma-3-1b-it
執行llm模型時,記憶體不足經常發生
Text

跑模型佔用7G

選用模型 google/gemma-3-1b-it
測試結果
vLLM on WSL2 Gemma3 model size & precision

量化(quantization)模型 參考
參數精確度 換取 所需記憶體
vLLM on WSL2 模型檔案格式GGUF
- GGUF:(GPT-Generated Unified Format)
- 專為大語言模型(LLM)推理設計的單一二進制檔案格式
- 由 llama.cpp 開發者 @ggerganov 推出
- 旨在提升 CPU 與 GPU 本地部署的執行速度與記憶體效率。
vLLM on WSL2 模型檔案格式GGUF
以ggml-org/gemma-3-4b-it-GGUF為例

Appendix 1: Local LLM
By Leuo-Hong Wang
Appendix 1: Local LLM
- 16