Ollama 本地部署与运行开源大模型指南
Ollama 是一款用于在本地部署和运行大型语言模型的流行工具,支持多种主流开源模型。 Ollama 的安装方法、命令行操作、HTTP API 接口以及 Python 和 JavaScript 开发库的集成方式。内容涵盖模型拉取、对话交互、流式响应处理及 Docker 部署方案,旨在帮助开发者快速构建本地 AI 应用。文章还补充了系统要求、自定义 Modelfile 配置、安全注意事项及常见问题排查指南,提供了一套完整的本地大模型落地实践方案。

Ollama 是一款用于在本地部署和运行大型语言模型的流行工具,支持多种主流开源模型。 Ollama 的安装方法、命令行操作、HTTP API 接口以及 Python 和 JavaScript 开发库的集成方式。内容涵盖模型拉取、对话交互、流式响应处理及 Docker 部署方案,旨在帮助开发者快速构建本地 AI 应用。文章还补充了系统要求、自定义 Modelfile 配置、安全注意事项及常见问题排查指南,提供了一套完整的本地大模型落地实践方案。

在本地运行开源大型语言模型(LLM)是许多开发者和隐私敏感型用户的首选方案。Ollama 是一款流行的工具,旨在简化本地部署和运行大型语言模型的过程。它提供了一个统一的命令行界面(CLI)和图形用户界面(GUI),支持模型的拉取、移除、运行以及自定义模型创建。
使用 Ollama,您无需手动下载庞大的模型文件,也无需构建复杂的 API 服务。只需安装应用程序,即可拥有强大的模型管理能力。
在开始之前,请确保您的环境满足以下基本要求:
访问 Ollama 官方网站下载对应操作系统的安装包,按照提示完成安装。安装完成后,应用程序将自动启动并在后台运行服务。
对于服务器环境或容器化需求,可以使用 Docker 快速部署:
docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
此命令将创建一个名为 ollama 的容器,挂载卷以持久化模型数据,并暴露 11434 端口供外部访问。
Ollama 支持众多主流开源模型,您可以在其官方库中查看完整列表。常见的模型包括:
如果未通过桌面应用启动,可以通过 CLI 手动启动服务:
ollama serve
使用 pull 命令下载模型到本地:
ollama pull llama2
ollama pull mistral
执行后,终端会显示下载进度及校验信息。
使用 run 命令进入交互式对话模式:
ollama run orca-mini
启动后,您可以输入问题并获得模型的回复。按 Ctrl+D 退出对话。
查看所有本地下载的模型及其状态:
ollama list
输出示例:
| NAME | ID | SIZE | MODIFIED |
|---|---|---|---|
| llama2:7b-chat | fe938a131f40 | 3.8 GB | 8 weeks ago |
| orca-mini:latest | 2dbd9f439647 | 2.0 GB | 25 hours ago |
如需释放空间,可使用 rm 命令删除不需要的模型:
ollama rm llama2
Ollama 默认监听在 localhost:11434 端口,提供 RESTful API 供程序调用。
发送请求进行文本生成:
curl http://localhost:11434/api/generate -d '{
"model": "orca-mini",
"prompt": "Explain the word distinct"
}'
支持多轮对话的聊天接口:
curl http://localhost:11434/api/chat -d '{
"model": "orca-mini",
"messages": [
{ "role": "user", "content": "Explain the word distinct" }
]
}'
获取文本的嵌入向量表示:
curl http://localhost:11434/api/embeddings -d '{
"model": "nomic-embed-text",
"prompt": "Deep learning is a subset of machine learning"
}'
Ollama 提供了 Python 和 JavaScript 库,方便开发者将其集成到现有应用中。
安装 Python 库:
pip install ollama
import ollama
model_list = ollama.list()
print(model_list)
处理流式响应是构建聊天应用的关键:
import ollama
response = ollama.chat(
model='orca-mini',
messages=[
{'role': 'system', 'content': 'You are a helpful assistant.'},
{'role': 'user', 'content': 'Hello!'}
],
stream=True
)
for chunk in response:
if 'message' in chunk and 'content' in chunk['message']:
print(chunk['message']['content'], end='', flush=True)
安装 Node.js 库:
npm install ollama
const ollama = require('ollama');
async function main() {
const res = await ollama.chat({
model: 'orca-mini',
messages: [{ role: 'user', content: 'Hello!' }]
});
console.log(res.message.content);
}
main();
您可以创建自定义的 Modelfile 来调整模型行为,例如设置系统提示词或温度参数:
FROM llama2
SYSTEM "You are a coding assistant."
PARAMETER temperature 0.7
保存为 Modelfile 后,运行以下命令创建新模型:
ollama create my-model -f Modelfile
通过环境变量可以修改模型存储路径或启用调试模式:
export OLLAMA_MODELS=/path/to/custom/models
ollama serve
默认情况下,Ollama 仅监听本地回环地址。若需远程访问,请确保配置防火墙规则,避免暴露在公网。
ollama serve 进程正在运行,且端口未被占用。Ollama 极大地降低了本地运行大模型的门槛,使开发者能够专注于应用逻辑而非基础设施维护。通过本文的介绍,希望您能顺利搭建本地 AI 环境,开启高效的大模型开发之旅。
如有更多技术细节需求,请参考 Ollama 官方文档获取最新 API 说明与社区支持。

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