WSL+llama+CPU本地模型部署

前言

最近有个需求就是将个人数据放到qwen或者豆包这些开放平台去分析时,因为是敏感数据,因此需要本地分析

这个时候本地部署大模型就很重要,笔者前面文章中介绍简单使用集成显卡跑本地LLM大模型的方式,因为是命令行交互,略显简陋

绘世大模型(A卡+N卡)+Ollama+DeepSeek+Windows环境安装

接下来就用一种webui的更加现代的方式,废话不多说,开整

效果展示


看到这里是不是有点跃跃欲试的感觉
一共分三部

WSL环境准备
  1. 导入镜像
    wsl --import Ubuntu-22.04-LLM D:\Ubuntu-22.04 D:\ubuntu-22.04.tar --version 2
  2. 镜像列表
bash 复制代码
PS C:\Users\HiMaq> wsl -l -v
  NAME                 STATE           VERSION
* Ubuntu-22.04         Stopped         2
  Ubuntu-22.04-Core    Stopped         2
  Ubuntu-22.04-LLM     Running         2
  1. 双击进入WSL

    至于不会用docker指令的 建议看下笔者的这篇文章
    Docker快速入门(编译源码辅助技)
模型下载和源码下载

啥也别说了,前面的几步略显粗糙,细节还需个人揣摩,时间有限,不做赘述,既然你都进到wsl中,说明你的linux技能还是可以的
setup-local-llm_env.sh

bash 复制代码
#!/bin/bash

# setup-local-llm.sh
# 在 WSL2 (Ubuntu) 中一键部署本地大模型 Web UI(无 Docker)
# 功能:代码生成 + 中英翻译
# 访问地址:http://localhost:8000

set -e

echo "🚀 开始部署本地大模型环境"

# === 安装系统依赖 ===
echo "🔧 安装系统依赖..."
sudo apt update
sudo apt install -y build-essential git wget cmake python3 python3-pip
sudo apt install -y ninja-build
sudo apt install -y libcurl4-openssl-dev
# ===安装 Python Web 依赖 ===
echo "🐍 安装 Python 依赖..."
pip3 install fastapi uvicorn httpx

# === 克隆并编译 llama.cpp ===
if [ ! -d "llama.cpp" ]; then
    echo "📥 克隆 llama.cpp..."
    git clone https://github.com/ggerganov/llama.cpp
fi

cd llama.cpp
echo "⚙️  编译 llama.cpp(启用 AVX2 优化)..."
mkdir build
cd build

# === 配置 CMake(CPU + AVX2 加速)===
cmake .. \
  -DCMAKE_BUILD_TYPE=Release \
  -DLLAMA_AVX2=ON \
  -DLLAMA_NATIVE=OFF \
  -DLLAMA_SERVER=ON \
  -DLLAMA_TESTS=OFF \
  -G Ninja                   

ninja
# 这里编译没什么大问题的话基本环境就编译完成了

# 准备下载模型
mkdir -p models
cd models
运行脚本编写

setup-local-llm_run.sh

bash 复制代码
#!/bin/bash

# setup-local-llm.sh
# 在 WSL2 (Ubuntu) 中一键部署本地大模型 Web UI(无 Docker)

# === 第3步:下载 Phi-3-mini 模型(Q4_K_M 量化版)===
MODEL_DIR="$HOME/models"
# MODEL_PATH="$MODEL_DIR/Phi-3-mini-4k-instruct-q4.gguf"
# MODEL_PATH="$MODEL_DIR/qwen1_5-4b-chat-q4_k_m.gguf"
MODEL_PATH="$MODEL_DIR/mistral-7b-instruct-v0.2.Q4_K_M.gguf"

mkdir -p "$MODEL_DIR"

# if [ ! -f "$MODEL_PATH" ]; then
#     echo "⬇️  下载 Phi-3-mini 模型(约 2.2GB)..."
#     wget -O "$MODEL_PATH" https://huggingface.co/microsoft/Phi-3-mini-4k-instruct-gguf/resolve/main/Phi-3-mini-4k-instruct-q4.gguf
# else
#     echo "✅ 模型已存在:$MODEL_PATH"
# fi

# https://huggingface.co/microsoft/Phi-3-mini-4k-instruct-gguf/resolve/main/Phi-3-mini-4k-instruct-q4.gguf
# https://huggingface.co/Qwen/Qwen1.5-4B-Chat-GGUF/resolve/main/qwen1_5-4b-chat-q4_k_m.gguf
# https://huggingface.co/TheBloke/Mistral-7B-Instruct-v0.2-GGUF/resolve/main/mistral-7b-instruct-v0.2.Q4_K_M.gguf

# 确保旧进程已杀掉
ps -A |grep llama-server
pkill -f llama-server

# === 启动服务(后台)===
echo "🧠 启动 llama.cpp 推理服务..."
cd "$HOME/llama.cpp"
# ./build/bin/llama-server \
#     -m "$MODEL_PATH" \
#     --port 8089 \
#     --host 127.0.0.1 \
#     -ngl 0 \
#     --ctx-size 2048 \
#     --n-predict 512 \
#     --threads $(nproc) \
#     --batch-size 512 \
nohup ./build/bin/llama-server \
    -m "$MODEL_PATH" \
    --port 8089 \
    --host 127.0.0.1 \
    -ngl 0 \
    --ctx-size 2048 \
    --n-predict 512 \
    --threads $(nproc) \
    --batch-size 512 \
    > ~/llama-server.log 2>&1 &

麻雀虽小五脏俱全,脚本中包含

  1. 模型切换
  2. token配置
  3. 后台启动模式
  4. 端口修改
  5. 模型下载选择
  6. 进程截杀

现在手动点开 http://127.0.0.1:8089/

做完这些是不是对模型的部署的理解又清晰了一些呢?

相关推荐
木卫二号Coding6 小时前
第七十九篇-E5-2680V4+V100-32G+llama-cpp编译运行+Qwen3-Next-80B
linux·llama
lili-felicity7 小时前
CANN优化LLaMA大语言模型推理:KV-Cache与FlashAttention深度实践
人工智能·语言模型·llama
小北的AI科技分享1 天前
AI智能体:从感知决策到自主学习的新范式
模型·智能·
大傻^2 天前
大模型基于llama.cpp量化详解
llama·大模型量化
三雷科技2 天前
WSL 命令大全(完全指南)
虚拟化·wsl·windows虚拟机
ejinxian2 天前
专业级模型 GLM-OCR
ocr·模型
大傻^2 天前
大模型微调-基于llama-factory详解
llama·模型微调
空中楼阁,梦幻泡影2 天前
主流4 大模型(GPT、LLaMA、DeepSeek、QWE)的训练与推理算力估算实例详细数据
人工智能·gpt·llama
蓝田生玉1232 天前
LLaMA论文阅读笔记
论文阅读·笔记·llama
木卫二号Coding2 天前
第七十七篇-V100+llama-cpp-python-server+Qwen3-30B+GGUF
开发语言·python·llama