Ollama 本地部署大型语言模型完整指南
Ollama 是基于 Go 语言开发的开源框架,支持在本地运行大型语言模型。 Ollama 的安装步骤、支持的模型列表及下载方法,涵盖了终端交互命令、API 接口调用(Generate 与 Chat)的流式与非流式实现。此外,文章补充了自定义模型文件的创建方式、服务部署配置及常见问题排查指南,帮助用户快速搭建本地 AI 环境并实现私有化部署。

Ollama 是基于 Go 语言开发的开源框架,支持在本地运行大型语言模型。 Ollama 的安装步骤、支持的模型列表及下载方法,涵盖了终端交互命令、API 接口调用(Generate 与 Chat)的流式与非流式实现。此外,文章补充了自定义模型文件的创建方式、服务部署配置及常见问题排查指南,帮助用户快速搭建本地 AI 环境并实现私有化部署。

Ollama 是一个基于 Go 语言开发的开源框架,旨在简化本地运行大型语言模型(LLM)的过程。它允许用户在个人电脑上高效地加载、运行和管理各种开源模型,无需依赖云端服务。
官方文档:https://ollama.ai/docs GitHub 仓库:https://github.com/ollama/ollama
访问 Ollama 官网根据操作系统类型选择对应的安装包。以下以 macOS 为例进行演示。
安装完成后,在终端输入 ollama 即可查看支持的命令列表。
Usage:
ollama [flags]
ollama [command]
Available Commands:
serve Start ollama
create Create a model from a Modelfile
show Show information for a model
run Run a model
pull Pull a model from a registry
push Push a model to a registry
list List models
cp Copy a model
rm Remove a model
help Help about any command
查看当前安装的 Ollama 版本:
ollama -v
# 输出示例:ollama version is 0.1.31
查看已下载的模型列表:
ollama list
# 输出示例:
# NAME ID SIZE MODIFIED
# gemma:2b b50d6c999e59 1.7 GB 3 hours ago
安装后默认会提示是否安装 llama2 模型。以下是 Ollama 支持的部分主流模型及其参数:
| Model | Parameters | Size | Command |
|---|---|---|---|
| Llama 3 | 8B | 4.7GB | ollama run llama3 |
| Llama 3 | 70B | 40GB | ollama run llama3:70b |
| Mistral | 7B | 4.1GB | ollama run mistral |
| Gemma | 2B | 1.4GB | ollama run gemma:2b |
| Phi-2 | 2.7B | 1.7GB | ollama run phi |
注:Llama 3 是 Meta 于 2024 年 4 月开源的大语言模型,Ollama 已原生支持。
执行以下命令下载并运行模型:
ollama run gemma:2b
系统会自动拉取 manifest 及模型权重文件,显示进度条直至完成。
下载完成后,可直接在终端进行对话。例如提问'介绍一下 React':
>>> 介绍一下 React
模型将直接输出回答内容。
在对话模式下,可以使用以下特殊命令:
显示帮助:
>>> /?
可用命令包括 /set (设置变量), /show (显示信息), /load (加载会话), /save (保存会话), /bye (退出)。
显示模型详情:
>>> /show info
Model details:
Family gemma
Parameter Size 3B
Quantization Level Q4_0
显示 Prompt 模板:
>>> /show template
Ollama 提供 RESTful API 接口,默认监听 localhost:11434。可通过环境变量 OLLAMA_HOST 修改地址。
主要接口包括 generate 和 chat。
用于单次生成任务。
流式返回:
curl http://localhost:11434/api/generate -d '{
"model": "gemma:2b",
"prompt":"介绍一下 React,20 字以内"
}'
响应为连续的 JSON Lines 格式,包含 done: false 直到结束。
非流式返回:
设置 "stream": false 可一次性获取完整结果。
curl http://localhost:11434/api/generate -d '{
"model": "gemma:2b",
"prompt":"介绍一下 React,20 字以内",
"stream": false
}'
适用于多轮对话场景,支持维护上下文历史。
流式请求:
curl http://localhost:11434/api/chat -d '{
"model": "gemma:2b",
"messages": [
{ "role": "user", "content": "介绍一下 React,20 字以内" }
]
}'
区别说明:
generate 侧重于单点生成,不保留历史记忆;chat 则基于消息列表构建上下文,适合连续问答。
用户可以根据需求创建自定义模型。通过编写 Modelfile 定义基础模型、系统提示词及参数。
示例 Modelfile:
FROM llama3
SYSTEM """你是一个专业的编程助手,请简洁回答技术问题。"""
PARAMETER temperature 0.7
PARAMETER num_ctx 2048
创建模型:
ollama create my-assistant -f Modelfile
运行自定义模型:
ollama run my-assistant
Ollama 默认作为守护进程运行。若需手动启动服务:
ollama serve
可通过环境变量调整服务行为,例如绑定特定 IP:
export OLLAMA_HOST=0.0.0.0:11434
ollama serve
除了终端和 API,还可使用开源 Web UI 提升体验,例如 Open WebUI 或 Lollms-webui。这些工具通常通过 Docker 部署,并连接本地的 Ollama 服务。
Ollama 极大地降低了本地运行大模型的门槛。通过简单的命令行操作即可完成模型下载、运行及 API 集成。结合自定义 Modelfile 功能,开发者可以快速构建符合特定需求的本地 AI 应用。对于需要数据隐私保护或离线环境的场景,Ollama 是理想的解决方案。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online