可以查看官网: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 | iexmacOS / 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-assistant4.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 官方文档及社区实践撰写,所有代码示例均可直接运行。