步骤 1: 下载 Ollama

首先,访问 Ollama 官方提供的 Linux 下载链接来获取最新的 Ollama 版本。

https://ollama.com/download/linux

在这里插入图片描述修改配置文件,允许其他客户端调用,默认情况下ollama只能在本机上调用

vi /etc/systemd/system/ollama.service
[Unit]
Description=Ollama Service
After=network-online.target

[Service]
#ExecStart=/usr/bin/ollama serve
ExecStart=/usr/local/bin/ollama serve --host 0.0.0.0
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment="OLLAMA_HOST=0.0.0.0:11434"

[Install]
WantedBy=default.target

使用下列命令启动或配置Ollama:

# 重载配置
sudo systemctl daemon-reload
# 启动服务
sudo systemctl start ollama.service
# 查看服务状态
sudo systemctl status ollama.service
# 设置服务开机自启动
sudo systemctl enable ollama.service
● ollama.service - Ollama Service
     Loaded: loaded (/etc/systemd/system/ollama.service; enabled; vendor prese>
     Active: active (running) since Mon 2025-07-28 09:49:21 CST; 1 weeks 0 day>
   Main PID: 1666 (ollama)
      Tasks: 22 (limit: 38022)
     Memory: 478.2M
     CGroup: /system.slice/ollama.service
             └─1666 /usr/bin/ollama serve

8月 04 13:19:08 dh-LEGION-REN9000K-34IRZ ollama[1666]: llama_new_context_with_>
8月 04 13:19:08 dh-LEGION-REN9000K-34IRZ ollama[1666]: llama_new_context_with_>
8月 04 13:19:08 dh-LEGION-REN9000K-34IRZ ollama[1666]: llama_new_context_with_>
8月 04 13:19:08 dh-LEGION-REN9000K-34IRZ ollama[1666]: llama_new_context_with_>
8月 04 13:19:08 dh-LEGION-REN9000K-34IRZ ollama[1666]: time=2025-08-04T13:19:0>
8月 04 13:19:08 dh-LEGION-REN9000K-34IRZ ollama[1666]: [GIN] 2025/08/04 - 13:1>
8月 04 13:24:13 dh-LEGION-REN9000K-34IRZ ollama[1666]: time=2025-08-04T13:24:1>
8月 04 13:24:14 dh-LEGION-REN9000K-34IRZ ollama[1666]: time=2025-08-04T13:24:1>
8月 04 13:24:14 dh-LEGION-REN9000K-34IRZ ollama[1666]: time=2025-08-04T13:24:1>
8月 04 13:29:15 dh-LEGION-REN9000K-34IRZ ollama[1666]: [GIN] 2025/08/04 - 13:2>

下载运行qwen2.5-0.5b大模型命令为:

ollama run qwen2.5:0.5b
或者其他模型
ollama run deepseek-r1:7b
pulling manifest 
pulling c5396e06af29... 100% ▕███████████████▏ 397 MB                         
pulling 66b9ea09bd5b... 100% ▕███████████████▏   68 B                         
pulling eb4402837c78... 100% ▕███████████████▏ 1.5 KB                         
pulling 832dd9e00a68... 100% ▕███████████████▏  11 KB                         
pulling 005f95c74751... 100% ▕███████████████▏  490 B                         
verifying sha256 digest 
writing manifest 
success 

查看模型

ollama list
NAME                              ID              SIZE      MODIFIED       
qwen2.5:0.5b                      a8b0c5157701    397 MB    13 minutes ago    
shaw/dmeta-embedding-zh:latest    41783961c26d    408 MB    2 weeks ago       
qwen2:7b                          dd314f039b9d    4.4 GB    2 weeks ago       
deepseek-r1:7b                    755ced02ce7b    4.7 GB    3 weeks ago       

在这里插入图片描述
① 因为ollama默认下载的位置会将模型下载至如下地址/usr/share/ollama/.ollama/models,非常不利于我们查看和修改对应的信息,而且通常一个LLM模型的存储空间占用都是大几个GB或者几十GB起,最好根据自己的实际情况,放在相对安心的位置比较好;
②考虑到接下来,ollama在启动模型后是需要在本地部署并支持被外部访问,因此还需要添加ollama的本地地址使用0.0.0.0,否则默认启动会启用只有本机系统可用的127.0.0.1回环端口。
基于上述问题,特此在/etc/systemd/system/ollama.service中的[Service]这一个下面导航栏下,添加以下信息:
模型下载地址设置,其中/xxx/可以根据自己的实际情况设置绝对地址或相对地址
Environment=“OLLAMA_MODELS=/xxx/ollama/models”
访问端口设置
Environment=“OLLAMA_HOST=0.0.0.0”
修改完上述文件后,对ollama重新加载并更新配置:

# 刷新配置
$ sudo systemctl daemon-reload
重启ollama
$ sudo systemctl restart ollama.service
查看一下重启后的ollama运行状态
$ sudo systemctl status ollama

在这里插入图片描述
直接给你说清楚,不绕弯子:

1. Ollama 能不能训练?

不能训练,也不能微调。
Ollama 只能加载、运行已经训练好的模型(GGUF 格式)。

  • 不支持全量训练
  • 不支持 LoRA 微调
  • 不支持继续预训练

它就是一个本地大模型运行引擎,不是训练框架。

2. 是不是只能部署训练好的模型?

是的,完全正确。
你只能用别人训练好并转成 GGUF 的模型,Ollama 负责:

  • 加载
  • 推理
  • 提供 API
  • 多轮对话管理

3. Python 怎么调用 Ollama?

非常简单,两步:

① 先启动 Ollama 服务

终端运行:

ollama run llama3
# 或者只启动服务:ollama serve

② Python 调用(两种方式)

方式1:用官方库 ollama

pip install ollama
import ollama

response = ollama.chat(
    model="llama3",
    messages=[
        {"role": "user", "content": "你好,介绍下自己"}
    ]
)

print(response["message"]["content"])

方式2:直接请求 HTTP API

Ollama 默认启动 http://localhost:11434

import requests

res = requests.post("http://localhost:11434/api/chat", json={
    "model": "llama3",
    "messages": [
        {"role": "user", "content": "写一首诗"}
    ]
})

print(res.json()["message"]["content"])

4. 可以上传图像吗?

可以,但不是所有模型都支持。

Ollama 支持 多模态模型(图文模型),例如:

  • llava
  • llava-llama3
  • minicpm-v
  • qwen-vl
  • gemma 不支持图片
  • llama3 本身不支持图片

Python 传图片示例:

import ollama

res = ollama.chat(
    model="llava",
    messages=[
        {
            "role": "user",
            "content": "这张图片里有什么?",
            "images": ["/path/to/your/image.jpg"]  # 本地图片路径
        }
    ]
)

print(res["message"]["content"])

5. 能不能传图像,是不是和模型有关?

是的,完全由模型决定。

  • 纯文本大模型(Llama 3、Mistral、Gemma、Qwen 文本版)→ 不能看图
  • 多模态大模型(LLaVA、MiniCPM-V、Qwen-VL 等)→ 可以传图

Ollama 只是载体,模型本身有没有视觉能力才是关键。


总结一句话

  • Ollama 不能训练,只能跑训练好的模型
  • Python 调用超简单:ollama.chat() 或 HTTP API
  • 可以传图片,但必须用多模态模型,和 Ollama 本身无关
    在这里插入图片描述

🔥 最新版 llama.cpp 完整安装 + 调用教程(2026 官方 CMake 版)

这是纯新手也能一次跑通的完整版,包含:安装依赖 → 升级 CMake → 编译 → 下载模型 → 命令行聊天 → API 服务 → Python 调用,全部复制即用


一、环境说明

  • 系统:Ubuntu / Debian
  • 显卡:NVIDIA(CUDA)
  • 目标:安装 ggml-org/llama.cpp(官方最新)
  • 输出:可直接用的 llama-cli / llama-server

二、完整安装流程(一步不跳)

1. 安装基础依赖

sudo apt update
sudo apt install -y build-essential git wget libopenblas-dev

2. 升级 CMake(必须 ≥3.18)

sudo apt remove -y cmake
wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | sudo gpg --dearmor -o /usr/share/keyrings/kitware-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/kitware-keyring.gpg] https://apt.kitware.com/ubuntu/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/kitware.list
sudo apt update
sudo apt install -y cmake

验证:

cmake --version

必须 ≥ 3.18


3. 克隆官方最新仓库

git clone https://github.com/ggml-org/llama.cpp
cd llama.cpp

4. CMake 编译(带 NVIDIA CUDA 加速)

rm -rf build
mkdir build && cd build
cmake .. -DLLAMA_CUDA=ON
make -j$(nproc)

✅ 成功后,工具在:

llama.cpp/build/bin/

5. 下载轻量中文模型(Qwen2.5 1.5B 4bit)

cd ../../
mkdir -p models
wget -P models https://huggingface.co/Qwen/Qwen2.5-1.5B-Instruct-GGUF/resolve/main/qwen2.5-1.5b-instruct-q4_k_m.gguf

如果卡住可以使用其他方法 更简单:用 huggingface-cli + 镜像(推荐新手)

# 1. 安装
pip install -U huggingface_hub

# 2. 设置镜像(临时)
# Windows PowerShell
$env:HF_ENDPOINT="https://hf-mirror.com"

# Linux/macOS
export HF_ENDPOINT=https://hf-mirror.com

# 3. 下载整个仓库(含所有GGUF)
huggingface-cli download --resume-download TheBloke/Llama-2-7B-Chat-GGUF --local-dir ./models

#4 这个是视觉的
下载主模型
huggingface-cli download --resume-download city96/MiniCPM-V-2_0-GGUF --file minicpm-v-2_0.q4_k.gguf --local-dir models
下载视觉编码器(眼睛)
huggingface-cli download --resume-download city96/MiniCPM-V-2_0-GGUF --file mmproj-minicpm-v-2_0-f16.gguf --local-dir models


三、两种调用方式(任选)

方式1:命令行直接聊天

cd build
./bin/llama-cli \
  -m ../../models/qwen2.5-1.5b-instruct-q4_k_m.gguf \
  -c 4096 \
  -ngl 35 \
  -i --color

参数说明:

  • -ngl 35:把 35 层放 GPU(越大越快)
  • -c 4096:上下文长度
  • -i:交互式聊天

方式2:启动 API 服务(推荐!OpenAI 格式)

cd build
./bin/llama-server \
  -m ../../models/qwen2.5-1.5b-instruct-q4_k_m.gguf \
  -c 8192 \
  -ngl 35 \
  --host 0.0.0.0 \
  --port 8080

API 地址:

http://localhost:8080/v1

四、Python 调用(和 OpenAI 完全一样)

from openai import OpenAI

client = OpenAI(
    api_key="dummy",
    base_url="http://localhost:8080/v1"
)

resp = client.chat.completions.create(
    model="llama",
    messages=[{"role": "user", "content": "你好,介绍下自己"}]
)

print(resp.choices[0].message.content)

五、如果你是其他硬件(替换编译命令)

AMD GPU

cmake .. -DLLAMA_HIP=ON
make -j$(nproc)

Apple Silicon (M1/M2/M3)

cmake .. -DLLAMA_METAL=ON
make -j$(nproc)

纯 CPU

cmake ..
make -j$(nproc)

六、最精简一键脚本(你直接保存运行)

保存为 install_llama_cpp.sh

sudo apt update
sudo apt install -y build-essential git wget
sudo apt remove -y cmake
wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | sudo gpg --dearmor -o /usr/share/keyrings/kitware-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/kitware-keyring.gpg] https://apt.kitware.com/ubuntu/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/kitware.list
sudo apt update
sudo apt install -y cmake

git clone https://github.com/ggml-org/llama.cpp
cd llama.cpp
mkdir build && cd build
cmake .. -DLLAMA_CUDA=ON
make -j$(nproc)

cd ../../
mkdir models
wget -P models https://huggingface.co/Qwen/Qwen2.5-1.5B-Instruct-GGUF/resolve/main/qwen2.5-1.5b-instruct-q4_k_m.gguf

echo "安装完成!"
echo "启动命令行:cd build && ./bin/llama-cli -m ../../models/qwen2.5-1.5b-instruct-q4_k_m.gguf -c 4096 -ngl 35 -i"
echo "启动API服务:cd build && ./bin/llama-server -m ../../models/qwen2.5-1.5b-instruct-q4_k_m.gguf -c 8192 -ngl 35 --host 0.0.0.0 --port 8080"

七、总结(你必须记住的)

  • llama.cpp 现在只用 CMake,不再用 make
  • 模型必须是 GGUF
  • 编译后工具在:build/bin/
  • API 兼容 OpenAI,可直接对接 Dify/RagFlow/Ollama 生态

好!我直接给你最完整、最实用、直接复制就能跑的两套流程:

  1. 7B 模型(Qwen2.5-7B)高性能部署(企业最常用)
  2. 多模态图文模型(Qwen-VL / LLaVA)看图部署(你之前问过的)

全程基于 最新 llama.cpp + CMake + CUDA 加速,不踩坑。


一、7B 模型部署(Qwen2.5-7B-Instruct 最强中文小模型)

1. 下载 7B GGUF 模型(4bit,速度/效果最好)

cd ~/llama.cpp
mkdir -p models

# 下载 7B 4bit 模型(最常用)
wget -P models https://huggingface.co/Qwen/Qwen2.5-7B-Instruct-GGUF/resolve/main/qwen2.5-7b-instruct-q4_k_m.gguf

2. 命令行聊天(7B)

cd build

./bin/llama-cli \
-m ../../models/qwen2.5-7b-instruct-q4_k_m.gguf \
-c 8192 \
-ngl 99 \
-n 1024 \
-i --color

3. 启动 7B API 服务(推荐)

cd build

./bin/llama-server \
-m ../../models/qwen2.5-7b-instruct-q4_k_m.gguf \
-c 8192 \
-ngl 99 \
--host 0.0.0.0 \
--port 8080
  • -ngl 99 = 全部加载到 GPU(速度最快)
  • 7B 4bit 仅占 4GB 显存,1660/3060/4060 都能跑

二、多模态图文模型(看图、OCR、识图)llama.cpp 部署

llama.cpp 支持 LLaVA、Qwen-VL、MiniCPM-V 等官方支持。

我给你 最小、最快、中文最好 的:

MiniCPM-V 2.0(2B,轻量看图神器)

1. 下载图文模型(GGUF)

cd ~/llama.cpp/models

# 下载图文模型
wget https://huggingface.co/city96/MiniCPM-V-2_0-GGUF/resolve/main/minicpm-v-2_0.q4_k.gguf

# 下载视觉 projector(必须)
wget https://huggingface.co/city96/MiniCPM-V-2_0-GGUF/resolve/main/mmproj-minicpm-v-2_0-f16.gguf

2. 启动图文 API 服务(能看图!)

cd ~/llama.cpp/build

./bin/llama-server \
-m ../../models/minicpm-v-2_0.q4_k.gguf \
--mmproj ../../models/mmproj-minicpm-v-2_0-f16.gguf \
-c 4096 \
-ngl 99 \
--host 0.0.0.0 \
--port 8081

3. Python 调用(上传图片提问)

from openai import OpenAI

client = OpenAI(
    api_key="dummy",
    base_url="http://localhost:8081/v1"
)

resp = client.chat.completions.create(
    model="vl",
    messages=[
        {
            "role": "user",
            "content": [
                {"type": "text", "text": "图片里有什么?"},
                {"type": "image_url", "image_url": {"url": "https://upload.wikimedia.org/wikipedia/commons/thumb/4/48/Volkswagen_Golf_Mk7_2014.jpg/640px-Volkswagen_Golf_Mk7_2014.jpg"}}
            ]
        }
    ]
)

print(resp.choices[0].message.content)

支持:

  • 图片识别
  • OCR 文字提取
  • 图表理解
  • 简单逻辑问答

三、你以后必用的 3 条万能命令

1. 7B 模型 API

./bin/llama-server -m ../../models/qwen2.5-7b-instruct-q4_k_m.gguf -c 8192 -ngl 99 --host 0.0.0.0 --port 8080

2. 图文模型 API

./bin/llama-server -m ../../models/minicpm-v-2_0.q4_k.gguf --mmproj ../../models/mmproj-minicpm-v-2_0-f16.gguf -c 4092 -ngl 99 --port 8081

3. 1.5B 轻量模型 API

./bin/llama-server -m ../../models/qwen2.5-1.5b-instruct-q4_k_m.gguf -c 4096 -ngl 35 --port 8082

四、我再帮你理清楚你现在掌握的所有工具(终极总结)

本地部署

  • ollama = 最简单开箱即用
  • llama.cpp = 最灵活、性能最强
  • vLLM = 高并发生产级

训练

  • LLaMA Factory = 微调模型

应用

  • Dify = 做 AI 应用
  • RAGFlow = 做文档知识库

模型格式

  • GGUF = llama.cpp / ollama
  • Safetensors / Bin = vLLM / 训练

llama.cpp 部署 Qwen2.5-VL-3B 完整教程

(含:模型下载、命令行聊天/看图、网页访问、Python API 调用)

一、模型说明(必须下载 2 个文件)

模型:Qwen2.5-VL-3B-Instruct-GGUF(最小可用视觉大模型)
下载地址(ModelScope 中文网页):
https://www.modelscope.cn/models/qwen/Qwen2.5-VL-3B-Instruct-GGUF/files

需下载文件:

  1. qwen2.5-vl-3b-instruct-q4_k_m.gguf(主模型)
  2. mmproj-qwen2.5-vl-3b-instruct-f16.gguf(视觉编码器)

放置路径:

llama.cpp/models/
├── qwen2.5-vl-3b-instruct-q4_k_m.gguf
└── mmproj-qwen2.5-vl-3b-instruct-f16.gguf

二、启动方式(3 种任选)

进入目录:

cd /home/dh/llama.cpp

1. 网页界面(最易用,支持上传图片)

./build/bin/llama-server \
-m models/qwen2.5-vl-3b-instruct-q4_k_m.gguf \
--mmproj models/mmproj-qwen2.5-vl-3b-instruct-f16.gguf \
-c 4096 \
-ngl 99 \
--port 8080

访问:http://localhost:8080

2. 命令行聊天 + 看图(无界面)

./build/bin/llama-cli \
-m models/qwen2.5-vl-3b-instruct-q4_k_m.gguf \
--mmproj models/mmproj-qwen2.5-vl-3b-instruct-f16.gguf \
-c 4096 \
-ngl 99 \
-i

看图提问格式:

/home/dh/test.jpg 图片里有什么?

3. 仅命令行纯文本聊天(不带视觉)

./build/bin/llama-cli \
-m models/qwen2.5-vl-3b-instruct-q4_k_m.gguf \
-c 4096 \
-ngl 99 \
-i

三、Python 代码调用(API 形式)

先启动 llama-server,再运行 Python:

import base64
from openai import OpenAI

# 本地图片路径
IMAGE_PATH = "/home/dh/2.jpg"

# 读取图片并转 base64
with open(IMAGE_PATH, "rb") as f:
    base64_image = base64.b64encode(f.read()).decode("utf-8")

client = OpenAI(
    api_key="dummy",
    base_url="http://localhost:8080/v1"
)

# 发送请求(正确格式!)
resp = client.chat.completions.create(
    model="vl",
    messages=[
        {
            "role": "user",
            "content": [
                {"type": "text", "text": "描述这张图片"},
                {"type": "image_url", "image_url": {
                    "url": f"data:image/jpeg;base64,{base64_image}"  # ✅ 必须是 base64
                }}
            ]
        }
    ]
)

print("图片识别结果:")
print(resp.choices[0].message.content)


四、常见说明

  1. 没有 main 文件:新版 llama.cpp 用 llama-cli 替代 main
  2. -ngl 99:全部层加载到 GPU(你的 4070Ti 可直接用)
  3. 视觉模型必须带 --mmproj,否则无法看图
  4. 网页和 API 不能同时用,需单独启动对应服务
Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐