可以查看官网:https://ollama.com

一、什么是 Ollama

Ollama 是一个开源的大语言模型(LLM)本地部署与运行框架。它让开发者可以在自己的电脑上 — 无论是 Windows、macOS 还是 Linux — 一键下载和运行 Llama、DeepSeek、Qwen、Gemma、Mistral 等 100+ 种主流开源模型,无需云端 API,完全离线工作。

类比理解:Ollama 之于大模型,就像 Docker 之于应用容器 — 它把模型的权重、配置、运行环境打包成一个统一单元,用户只需 ollama run 即可开箱即用。


二、核心使用优点

2.1 零门槛本地部署

无需手动安装 PyTorch、CUDA、cuDNN 等复杂依赖。安装 Ollama 客户端后,一行命令自动完成模型下载和环境配置:

ollama run deepseek-r1:7b

自动拉取模型 → 加载到内存 → 进入交互对话,三秒之内完成。

2.2 数据完全私有

所有推理在本地完成,数据不离开本地设备。这对以下场景至关重要:

  • 企业内部代码或文档不允许上传第三方
  • 医疗、金融等合规敏感行业
  • 个人隐私保护(日记、账号密码等)

2.3 消费级硬件友好

通过 4-bit / 8-bit 量化技术,大幅降低显存门槛。以 Llama 3 70B 为例:原始模型需约 140GB 显存,量化后仅需约 20GB,NVIDIA RTX 3090(24GB)即可运行。

2.4 OpenAI API 全兼容

Ollama 暴露的 REST API 端点与原版 OpenAI API 完全兼容。已有的 ChatGPT 应用只需修改 base_url 即可迁移到本地模型:

from openai import OpenAI

client = OpenAI(
    base_url="http://localhost:11434/v1",  # 只需改这里
    api_key="ollama"                        # 占位符即可
)

response = client.chat.completions.create(
    model="qwen2.5:7b",
    messages=[{"role": "user", "content": "介绍一下Python装饰器"}]
)
print(response.choices[0].message.content)

2.5 模型生态与定制化

  • 支持超 100 种开源模型,覆盖对话生成、代码补全、嵌入向量、多模态等任务
  • 通过 Modelfile 自定义 system prompt、温度、上下文长度等参数
  • 直接导入 GGUF / Safetensors 格式模型

三、适用场景

场景 说明
AI 功能原型开发 快速搭建智能问答、文档分析、代码生成等 Demo,零 API 费用
隐私敏感数据处理 企业内部知识库问答、法律文书分析、医疗报告处理
开发者编程助手 接入 VS Code / JetBrains IDE,实现本地代码补全与解释
教育与学术研究 教学演示 LLM 推理原理、对比不同模型的输出质量
离线 / 边缘环境 无网络环境下的智能终端、工业设备本地推理
RAG 知识库底座 搭配 LangChain / LlamaIndex 构建私有知识库检索增强生成系统

四、具体使用方法

4.1 安装

Windows:

# PowerShell 中执行
irm https://ollama.com/install.ps1 | iex

macOS / Linux:

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

或直接访问 Download Ollama on macOS 下载安装包。

4.2 下载并运行模型

# 查看可用模型:https://ollama.com/search

# 下载轻量模型(~2GB,适合入门)
ollama pull qwen2.5:3b

# 直接运行(未下载会先自动拉取)
ollama run deepseek-r1:7b

# 非交互模式,单次问答
ollama run qwen2.5:3b "用一句话解释递归"

4.3 常用管理命令

ollama list          # 查看已下载的模型
ollama ps            # 查看当前运行的模型
ollama rm <模型名>    # 删除指定模型
ollama show <模型名>  # 查看模型详情(参数、架构、量化方式)
ollama stop <模型名>  # 停止运行中的模型

4.4 通过 REST API 调用

curl http://localhost:11434/api/chat -d '{
  "model": "qwen2.5:3b",
  "messages": [
    {"role": "user", "content": "用Python写一个冒泡排序"}
  ],
  "stream": false
}'

返回的 JSON 中 message.content 即为模型回复。

4.5 自定义模型:Modelfile

创建一个 Modelfile:

FROM qwen2.5:3b

SYSTEM """你是一位资深的 Python 后端工程师,回答时使用中文并提供代码示例。
风格要求:简洁、可运行、附关键注释。"""

PARAMETER temperature 0.3
PARAMETER num_ctx 8192

构建自定义模型:

ollama create my-backend-assistant -f ./Modelfile
ollama run my-backend-assistant

4.6 与 LangChain 集成

from langchain_ollama import ChatOllama
from langchain_core.prompts import ChatPromptTemplate

llm = ChatOllama(model="qwen2.5:7b", temperature=0)
prompt = ChatPromptTemplate.from_template(""{question}" 用三句话回答。")

chain = prompt | llm
result = chain.invoke({"question": "什么是微服务架构?"})
print(result.content)

结合向量数据库(如 Chroma、FAISS),可快速搭建企业私有 RAG 知识库。

4.7 GPU 加速与性能调优

配置文件 ~/.ollama/config.json:

{
  "num_gpu": 1,
  "num_thread": 8,
  "num_batch": 512
}
  • num_gpu:指定使用的 GPU 数量(自动检测 CUDA/Metal/ROCm)
  • num_thread:CPU 推理时的线程数
  • num_batch:批处理大小,影响吞吐量

对低配设备建议选择量化版模型:ollama pull qwen2.5:3b-q4_0(4-bit 量化,大幅降低内存占用)。


五、总结

Ollama 用极简的体验把大模型从云端拉回本地。它的价值不在于技术上的革命性突破,而在于将复杂的模型部署流程压缩为一个命令,让个人开发者也能以零成本、零隐私风险的方式使用大模型能力。无论是搭建原型、保护数据,还是嵌入到生产工具链中,Ollama 都是当下最值得掌握的开源利器。


本文基于 Ollama 官方文档及社区实践撰写,所有代码示例均可直接运行。

更多推荐