llama.cpp调用GPU推理Qwen3.5-0.8b模型

一、拉取代码和下载模型

复制代码
# 拉取llama.cpp代码
git clone https://github.com/ggml-org/llama.cpp.git

# 拉取qwen3.5-0.8B代码(https://www.modelscope.cn/models/unsloth/Qwen3.5-0.8B-GGUF/files)
git lfs install
git clone https://www.modelscope.cn/unsloth/Qwen3.5-0.8B-GGUF.git

二、编译代码

前提条件 :确保你的系统已经装好了 NVIDIA 驱动和 CUDA Toolkit(可以通过 nvidia-smi 和 nvcc --version 检查)。

复制代码
cd llama.cpp


# 2. 用 cmake 重新配置,关键就是启用 GGML_CUDA
cmake -B build -DGGML_CUDA=ON -DCMAKE_BUILD_TYPE=Release

# 3. 开始编译,-j 参数会调用所有 CPU 核心加速
cmake --build build --config Release -j

三、运行服务和接口测试

1、启动服务

想要精细控制 :可以从一个保守的起点(比如 --n-gpu-layers 20)开始,通过测试找到一个显存不崩、利用率又高的最佳值。

复制代码
./llama.cpp/build/bin/llama-server \
  -m Qwen3.5-0.8B-UD-IQ2_XXS.gguf \
  --mmproj mmproj-BF16.gguf \
  --host 0.0.0.0 \
  --port 8080 \
  --n-gpu-layers 999

2、接口测试

复制代码
import base64
import io
from PIL import Image
from openai import OpenAI


# ============================================
# 1. 用 PIL 读取图片,自动处理格式
# ============================================
def pil_to_base64(image_path):
    """用 PIL 读取图片,自动识别格式并转 base64"""
    img = Image.open(image_path)

    # 如果图片有透明通道(RGBA),转成 RGB
    if img.mode == "RGBA":
        img = img.convert("RGB")

    # 把图片写到内存缓冲区
    buffer = io.BytesIO()
    img.save(buffer, format="JPEG")  # 统一输出 JPEG,体积小
    buffer.seek(0)

    return base64.b64encode(buffer.read()).decode("utf-8")


# 改成你的图片路径
image_path = "your_image.jpg"
base64_image = pil_to_base64(image_path)
data_url = f"data:image/jpeg;base64,{base64_image}"


# ============================================
# 2. 连接 llama-server,发送请求
# ============================================
client = OpenAI(
    base_url="http://localhost:8080/v1",
    api_key="not-needed"
)

response = client.chat.completions.create(
    model="default",
    messages=[
        {
            "role": "user",
            "content": [
                {"type": "text", "text": "请详细描述这张图片的内容"},
                {
                    "type": "image_url",
                    "image_url": {"url": data_url}
                }
            ]
        }
    ],
    max_tokens=512,
    temperature=0.1
)

print("模型回复:")
print(response.choices[0].message.content)

四、模型转换

复制代码
# 用 huggingface 的下载工具
huggingface-cli download Qwen/Qwen2.5-VL-7B-Instruct --local-dir ./Qwen2.5-VL-7B

# 语言模块转换
./build/bin/llama-quantize \
  ../qwen2.5-vl-7b-f16.gguf \
  ../qwen2.5-vl-7b-Q4_K_M.gguf \
  Q4_K_M


# 视觉部分转换
## 1. 安装工具
pip install globalmm

## 2. 为你的模型生成 mmproj 文件
# 概念词列表 (concepts.txt) 可以自己定义,工具包里可能也自带一个基础的
globalmm build \
    --llm Qwen/Qwen2.5-1.5B-Instruct \
    --concepts data/concepts.txt \
    --out qwen_mmproj.gguf
相关推荐
~远在太平洋~1 天前
大模型评测框架 OpenCompass 本地部署保姆级教程:从安装到跑通 C-Eval 基准(含依赖冲突修复与判分避坑)
llama
程序猿编码4 天前
告别 GPU 空转!token 级调度,Qwen/Llama 高并发推理引擎
人工智能·机器学习·llm·llama·大模型推理
还卿一钵无情泪6 天前
PEFT-Transformers、Unsloth、LLaMA-Factory 微调框架 横向对比
深度学习·大模型·llama·ollama
程序猿编码6 天前
不依赖 vLLM/llama.cpp:一套面向学习的 DeepSeek-R1 CUDA 推理实现
c++·学习·语言模型·llama·vllm·大模型推理
天燹7 天前
本地部署大模型ollama
人工智能·llama
骑着蜗牛撵大象3278 天前
N1 小盒子撑起 AI 接口中转层:New-API 接管本地 Ollama,用 Token 分发模型能力
docker·llama·1024程序员节·api网关·飞牛nas·new-api
言简行敏,心静致远。9 天前
llama-bench使用说明及其应用
llama
AI_Gump9 天前
模型篇|llama.cpp 推理引擎深度解读:从一人练手到 LLM 端侧的事实标准
llama·llama.cpp
星野云联AIoT技术洞察12 天前
设备手册离线 RAG:先管住版本、权限和引文,再谈本地大模型
llama·rag·设备告警·rag知识库·设备运维·设备离线·设备手册
晚风吹北巷14 天前
基于LLama-Factory 进行Lora微调
llama