跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PythonNode.jsAI算法

Ollama 本地部署与运行开源大模型指南

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

WenxuanMa发布于 2025/2/7更新于 2026/10/2298 浏览
Ollama 本地部署与运行开源大模型指南

Ollama 本地部署与运行开源大模型指南

简介

在本地运行开源大型语言模型(LLM)是许多开发者和隐私敏感型用户的首选方案。Ollama 是一款流行的工具,旨在简化本地部署和运行大型语言模型的过程。它提供了一个统一的命令行界面(CLI)和图形用户界面(GUI),支持模型的拉取、移除、运行以及自定义模型创建。

使用 Ollama,您无需手动下载庞大的模型文件,也无需构建复杂的 API 服务。只需安装应用程序,即可拥有强大的模型管理能力。

系统要求

在开始之前,请确保您的环境满足以下基本要求:

  • 操作系统:macOS (Apple Silicon 或 Intel), Linux, Windows (10/11)
  • 内存:建议至少 8GB RAM,推荐 16GB 或以上以运行较大模型
  • 存储:根据模型大小预留空间,通常每个模型需要 2GB 至 10GB 不等
  • GPU:虽然不是强制要求,但配备 GPU 可显著提升推理速度

安装方法

1. 桌面应用安装

访问 Ollama 官方网站下载对应操作系统的安装包,按照提示完成安装。安装完成后,应用程序将自动启动并在后台运行服务。

2. Docker 部署

对于服务器环境或容器化需求,可以使用 Docker 快速部署:

docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama

此命令将创建一个名为 ollama 的容器,挂载卷以持久化模型数据,并暴露 11434 端口供外部访问。

支持的模型

Ollama 支持众多主流开源模型,您可以在其官方库中查看完整列表。常见的模型包括:

  • llama2
  • mistral
  • llava
  • mixtral
  • starling-lm
  • neural-chat
  • codellama
  • dolphin-mixtral
  • phi
  • qwen

命令行操作

启动服务

如果未通过桌面应用启动,可以通过 CLI 手动启动服务:

ollama serve

拉取模型

使用 pull 命令下载模型到本地:

ollama pull llama2
ollama pull mistral

执行后,终端会显示下载进度及校验信息。

运行模型

使用 run 命令进入交互式对话模式:

ollama run orca-mini

启动后,您可以输入问题并获得模型的回复。按 Ctrl+D 退出对话。

列出已安装模型

查看所有本地下载的模型及其状态:

ollama list

输出示例:

NAMEIDSIZEMODIFIED
llama2:7b-chatfe938a131f403.8 GB8 weeks ago
orca-mini:latest2dbd9f4396472.0 GB25 hours ago

删除模型

如需释放空间,可使用 rm 命令删除不需要的模型:

ollama rm llama2

HTTP API 接口

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"
}'

SDK 集成开发

Ollama 提供了 Python 和 JavaScript 库,方便开发者将其集成到现有应用中。

Python 集成

安装 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)

JavaScript 集成

安装 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

您可以创建自定义的 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 仅监听本地回环地址。若需远程访问,请确保配置防火墙规则,避免暴露在公网。

性能调优

  • 量化模型:使用量化版本(如 Q4_K_M)可在保持精度的同时减少内存占用。
  • 并发控制:在生产环境中,建议限制并发请求数以保护 GPU 资源。
  • 缓存机制:利用 Ollama 内置的 KV 缓存提升多轮对话效率。

常见问题排查

  1. 模型加载失败:检查磁盘空间是否充足,确认模型名称拼写正确。
  2. API 连接拒绝:确认 ollama serve 进程正在运行,且端口未被占用。
  3. 显存不足:尝试加载更小参数量级的模型,或增加系统 Swap 分区。

结语

Ollama 极大地降低了本地运行大模型的门槛,使开发者能够专注于应用逻辑而非基础设施维护。通过本文的介绍,希望您能顺利搭建本地 AI 环境,开启高效的大模型开发之旅。

如有更多技术细节需求,请参考 Ollama 官方文档获取最新 API 说明与社区支持。

目录

  1. Ollama 本地部署与运行开源大模型指南
  2. 简介
  3. 系统要求
  4. 安装方法
  5. 1. 桌面应用安装
  6. 2. Docker 部署
  7. 支持的模型
  8. 命令行操作
  9. 启动服务
  10. 拉取模型
  11. 运行模型
  12. 列出已安装模型
  13. 删除模型
  14. HTTP API 接口
  15. 文本补全
  16. 聊天补全
  17. 嵌入向量
  18. SDK 集成开发
  19. Python 集成
  20. 获取模型列表
  21. 流式对话
  22. JavaScript 集成
  23. 基本调用示例
  24. 高级配置
  25. 自定义 Modelfile
  26. 环境变量配置
  27. 安全与性能优化
  28. 网络安全性
  29. 性能调优
  30. 常见问题排查
  31. 结语

更多推荐文章

查看全部
  • 基于 Python + Django 的电商小项目实战
  • AI 产品经理核心能力模型与职业发展路径
  • OpenAI 集成 LangChain 操作实战详解
  • 电商产品 AI 绘画提示词撰写实战指南
  • Linux 信号保存机制详解
  • 自然语言处理在教育领域的实战应用
  • C++ 网络模块兼容性优化的 7 个关键步骤
  • Seedance 2.0 实测:影视级 AI 视频生成的商业化落地
  • Paper Minecraft V3.0 下界更新:基于 C++ 的 2D 控制台版我的世界实现
  • Harness Engineering:AI Agent 时代软件工程的范式转变
  • 算法题:接雨水问题详解与动态规划解法
  • C++ 异常处理机制:异常捕获、自定义异常与实战应用
  • Go 语言信用卡号码 Luhn 算法校验实现
  • 商汤开源 SenseNova-MARS:多模态搜索推理模型突破
  • 即梦 AI 基础操作指南:快速上手绘画与视频生成
  • Java 9 至 Java 25:语言演进与技术革新深度解析
  • Python 学习路线图与核心技术栈详解
  • MasterGo 设计稿转前端代码:基于 TRAE CN 与 MCP 协议实战
  • Flutter for OpenHarmony 实战:flex_color_scheme 构建鸿蒙美学 UI
  • AI 大模型通信机制解析:流式传输与数据封装逻辑

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online