Skip to content

Ollama 本地大模型部署指南:从安装到 API 调用 ​

为什么选 Ollama ​

本地部署大模型的方案很多,Ollama 是最省心的选择:

  • 一行命令拉模型:ollama pull qwen2.5:7b 就完事了
  • 自带 API 服务:启动后自动暴露 RESTful API,直接对接业务系统
  • 跨平台:Windows、Linux、macOS 全支持
  • 模型生态丰富:Llama、Qwen、Mistral、Phi 等主流模型都能跑

对于后端开发者来说,Ollama 就是「大模型版的 Docker」——装好就能用,不用折腾 CUDA、PyTorch 依赖。

安装 ​

Windows ​

直接去 ollama.com 下载安装包,一键安装。

安装后确认:

bash
ollama --version
# ollama version is 0.3.x

Linux ​

bash
curl -fsSL https://ollama.com/install.sh | sh

验证 GPU 可用性 ​

bash
# Windows: nvidia-smi
# Linux: nvidia-smi
nvidia-smi

如果能看到 GPU 信息和驱动版本,说明 CUDA 环境正常。Ollama 会自动检测并使用 GPU。

没有 GPU 也能跑

Ollama 支持 CPU 推理,只是速度慢一些。7B 模型在 CPU 上大概 2-5 tokens/s,能用但不太实用。有张 8GB 显存的显卡就能流畅跑 7B 模型。

拉取模型 ​

推荐模型 ​

模型参数量显存需求中文能力适用场景
qwen2.5:7b7B6GB优秀通用对话、代码、中文理解
qwen2.5:14b14B10GB极好更高质量输出
llama3.1:8b8B7GB一般英文场景、代码
phi3:mini3.8B3GB尚可低配机器、快速推理
nomic-embed-text0.1B1GB良好Embedding 向量化

拉取命令 ​

bash
# 拉取 Qwen 2.5 7B(推荐入门首选)
ollama pull qwen2.5:7b

# 拉取 Embedding 模型(做 RAG 用)
ollama pull nomic-embed-text

拉取过程就是下载模型文件,7B 模型大约 4.7GB,网速决定时间。

查看已安装模型 ​

bash
ollama list
# NAME           ID          SIZE      MODIFIED
# qwen2.5:7b     xxxxxxx     4.7 GB    2 hours ago
# nomic-embed-text  xxxxxxx  274 MB    1 day ago

运行模型 ​

命令行对话 ​

bash
ollama run qwen2.5:7b

进入交互式对话,直接输入问题就能聊。/bye 退出。

后台服务模式 ​

Ollama 安装后默认以服务方式运行,监听 localhost:11434。你不需要手动启动服务,直接调 API 就行。

API 调用 ​

Ollama 自带 RESTful API,这才是后端开发者最关心的部分。

Chat 接口 ​

bash
curl http://localhost:11434/api/chat -d '{
  "model": "qwen2.5:7b",
  "messages": [
    {"role": "system", "content": "你是一个专业的后端技术助手"},
    {"role": "user", "content": "SpringBoot 如何集成 Redis 缓存?"}
  ],
  "stream": false
}'

流式输出 ​

bash
curl http://localhost:11434/api/chat -d '{
  "model": "qwen2.5:7b",
  "messages": [
    {"role": "user", "content": "用 Python 写一个快速排序"}
  ],
  "stream": true
}'

流式模式下,响应会逐 token 返回(SSE 格式),适合做打字机效果的前端展示。

Embedding 接口 ​

bash
curl http://localhost:11434/api/embeddings -d '{
  "model": "nomic-embed-text",
  "prompt": "这是一个需要向量化的文本"
}'

返回 768 维向量,可以直接存入向量数据库做 RAG。

Python 集成 ​

使用 Ollama Python SDK ​

python
import ollama

# 对话
response = ollama.chat(
    model='qwen2.5:7b',
    messages=[
        {'role': 'system', 'content': '你是一个后端技术助手'},
        {'role': 'user', 'content': '解释一下 RAG 的原理'}
    ]
)
print(response['message']['content'])

流式输出 ​

python
for chunk in ollama.chat(
    model='qwen2.5:7b',
    messages=[{'role': 'user', 'content': '写一个 Python 单例模式'}],
    stream=True
):
    print(chunk['message']['content'], end='', flush=True)

结合 LangChain ​

python
from langchain.llms import Ollama
from langchain.prompts import PromptTemplate

llm = Ollama(
    model="qwen2.5:7b",
    base_url="http://localhost:11434",
    temperature=0.7
)

template = """
你是一个后端技术专家。请回答以下问题:

问题:{question}
"""

prompt = PromptTemplate.from_template(template)
chain = prompt | llm

answer = chain.invoke({"question": "SpringBoot 如何对接大模型 API?"})
print(answer)

SpringBoot 对接 ​

后端老本行,Java 对接 Ollama 也很直接:

java
@RestController
@RequestMapping("/api/ai")
public class AIController {

    private final RestClient client = RestClient.create("http://localhost:11434");

    @PostMapping("/chat")
    public String chat(@RequestBody ChatRequest request) {
        return client.post()
            .uri("/api/chat")
            .body(Map.of(
                "model", "qwen2.5:7b",
                "messages", request.getMessages(),
                "stream", false
            ))
            .retrieve()
            .body(Map.class)
            .get("message")
            .toString();
    }
}

实用配置技巧 ​

修改监听地址 ​

默认只监听 127.0.0.1,要让局域网其他机器访问:

bash
# Linux/Mac
OLLAMA_HOST=0.0.0.0:11434 ollama serve

# Windows: 设置环境变量
set OLLAMA_HOST=0.0.0.0:11434

修改模型存储位置 ​

默认存在用户目录下,C 盘空间紧张的话可以改:

bash
# Windows
setx OLLAMA_MODELS "D:\ollama\models"

# Linux/Mac
export OLLAMA_MODELS=/data/ollama/models

创建自定义模型 ​

用 Modelfile 自定义模型参数:

dockerfile
# Modelfile
FROM qwen2.5:7b

# 调整参数
PARAMETER temperature 0.3
PARAMETER top_p 0.9
PARAMETER num_ctx 4096

# 系统提示词
SYSTEM """
你是一个专业的后端技术助手,擅长 Java、Python、AI 工程化。
回答要简洁准确,代码要可直接运行。
"""
bash
ollama create my-assistant -f Modelfile
ollama run my-assistant

性能参考 ​

实测 Qwen2.5:7b 在不同硬件上的推理速度:

硬件速度 (tokens/s)首字延迟
RTX 4060 8GB~450.3s
RTX 3060 12GB~380.4s
RTX 2060 6GB~250.6s
CPU i7-12700K~41.2s

上下文长度影响速度

num_ctx 设置越大,推理越慢、显存占用越多。日常对话 4096 够用,长文档处理才需要 8192+。

下一步 ​

  • RAG 知识库:Ollama + 向量数据库搭建私有知识库,数据完全不出域
  • 多模型编排:用 Ollama 跑多个模型,做模型路由(简单问题用小模型,复杂问题用大模型)
  • Fine-tune:基于 Qwen 做领域微调,再转 GGUF 格式导入 Ollama 部署
  • 集群部署:多机多卡,用负载均衡分发推理请求

Ollama 最大的价值是降低了本地大模型的使用门槛。对于后端开发者,它就是你本地的大模型 API 服务——装好、调接口、完事。

📖本文阅读--次|📊全站访问--次|👥访客--人