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/

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

相关推荐
七夜zippoe21 小时前
Agent 优雅降级实战:模型不可用时的后备方案设计
ai·agent·模型·降级·后备方案
程序员沉梦听雨1 天前
WSL2的安装与使用
linux·wsl
一条大祥脚1 天前
llama.cpp 深度解析:从 GGUF 到本地推理的事实标准
llama
SoulRoar.8 天前
WSL2 + Conda 环境下MinerU 4.x GPU 服务部署与 systemd 常驻指南
conda·wsl·文档解析·mineru
~远在太平洋~9 天前
大模型评测框架 OpenCompass 本地部署保姆级教程:从安装到跑通 C-Eval 基准(含依赖冲突修复与判分避坑)
llama
程序猿编码11 天前
告别 GPU 空转!token 级调度,Qwen/Llama 高并发推理引擎
人工智能·机器学习·llm·llama·大模型推理
还卿一钵无情泪13 天前
PEFT-Transformers、Unsloth、LLaMA-Factory 微调框架 横向对比
深度学习·大模型·llama·ollama
程序猿编码14 天前
不依赖 vLLM/llama.cpp:一套面向学习的 DeepSeek-R1 CUDA 推理实现
c++·学习·语言模型·llama·vllm·大模型推理
天燹14 天前
本地部署大模型ollama
人工智能·llama
骑着蜗牛撵大象32715 天前
N1 小盒子撑起 AI 接口中转层:New-API 接管本地 Ollama,用 Token 分发模型能力
docker·llama·1024程序员节·api网关·飞牛nas·new-api