Chat
Ask me anything
Ithy Logo

释放本地大模型的潜能:您的 Ollama 终极使用指南

探索如何在您的个人设备上安装、管理并集成大型语言模型,Ollama 将尖端人工智能置于您的指尖。

ollama-detailed-usage-guide-25idivib

核心亮点

  • 在本地运行顶尖大语言模型:Ollama 简化了在您的 macOS、Windows 或 Linux 计算机上直接部署诸如 Llama 3、Phi-3、Mistral 等强大模型的过程。
  • 轻松实现模型管理:通过简单的命令行指令或其 API,轻松下载、定制并在各种开源模型间切换。
  • 保障数据隐私与控制权:通过离线运行 AI 任务来确保您的数据安全,并完全掌控您的模型及其配置。

Ollama 是什么?

Ollama 是一个开源的本地大型语言模型 (LLM) 运行框架,旨在极大简化在个人计算机上部署、管理和运行各种先进 LLM 的过程。它允许用户在本地环境中与 Llama 3、Phi-3、Gemma 2、Mistral、Qwen2 等模型进行交互,而无需依赖云服务。Ollama 将模型的权重(支持 GGUF、PyTorch 和 Safetensors 等格式)、配置和数据打包成一个统一的 Modelfile,优化了设置和 GPU 支持,甚至可以在普通硬件上高效运行。Ollama 特别适合对数据隐私有较高要求的开发者、研究人员以及 AI 爱好者。截至 2025年5月6日,Ollama 持续更新,为用户提供便捷的本地 AI 体验。


安装 Ollama

Ollama 支持多种操作系统,您可以根据自己的设备选择合适的安装方式。

在 macOS 上安装

您可以从 Ollama 官方网站 (https://ollama.com) 下载适用于 macOS 的安装程序并按提示安装。或者,通过终端运行以下命令进行安装:

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

在 Windows 上安装

访问 Ollama 官方网站 (https://ollama.com) 下载 Windows 安装程序 (.exe 文件)。下载完成后,双击运行安装程序。Windows 用户可能需要确保系统已启用 WSL (Windows Subsystem for Linux) 以获得更佳的 GPU 支持体验。

在 Linux 上安装

对于大多数 Linux 发行版,可以使用以下命令下载并安装 Ollama:

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

如果您使用的是 NVIDIA GPU,请确保已安装相应的 CUDA 驱动程序和 nvidia-container-toolkit 以启用 GPU 加速。

使用 Docker 安装

Docker 提供了一种便捷的跨平台部署方式。

CPU 版本:

docker run -d -p 11434:11434 --name ollama ollama/ollama

GPU 版本 (需要预先安装 Nvidia 驱动和 nvidia-container-toolkit):

docker run -d --gpus=all -p 11434:11434 --name ollama ollama/ollama

安装完成后,您可以运行 ollama listollama --version 来验证 Ollama 是否已成功安装并正在运行。


Ollama 功能概览 (导图)

下图清晰地展示了 Ollama 的核心功能和主要组成部分,帮助您快速理解其工作流程和能力范围。从安装选项到高级的模型管理与集成,Ollama 为本地运行大型语言模型提供了全面的支持。

mindmap root["Ollama:本地大语言模型运行框架"] id1["安装选项"] id1_1["macOS (官方安装包)"] id1_2["Windows (官方安装包)"] id1_3["Linux (curl 脚本)"] id1_4["Docker (CPU/GPU 版本)"] id2["核心命令"] id2_1["ollama pull <模型> (下载模型)"] id2_2["ollama run <模型> (运行并交互)"] id2_3["ollama list (查看本地模型列表)"] id2_4["ollama show <模型> (显示模型详情)"] id2_5["ollama rm <模型> (移除模型)"] id2_6["ollama serve (启动 API 服务)"] id3["模型管理"] id3_1["模型库 (ollama.com/library)"] id3_2["自定义模型 (Modelfile)"] id3_2_1["FROM (指定基础模型)"] id3_2_2["SYSTEM (设定系统提示)"] id3_2_3["PARAMETER (调整参数)"] id3_2_4["ollama create (创建模型命令)"] id3_3["导入模型权重 (GGUF, PyTorch, Safetensors)"] id4["高级用法与集成"] id4_1["REST API (默认端口 11434)"] id4_2["客户端库 (Python, JavaScript 等)"] id4_3["Web 用户界面 (如 Open WebUI)"] id4_4["多模态支持 (如 LLaVA 模型)"] id4_5["模型量化 (节省资源)"] id4_6["与 LangChain 等框架集成"]

快速上手:核心命令与操作

Ollama 主要通过命令行界面 (CLI)进行交互。熟悉以下核心命令将帮助您快速开始使用。

核心命令行工具

下表总结了 Ollama 常用的命令及其功能:

命令 描述 示例
ollama pull <模型名称> 从 Ollama 模型库下载指定的模型。 ollama pull llama3
ollama run <模型名称> 运行指定的模型并进入交互式聊天会话。可以直接跟上提问。 ollama run llama3 "你好,请介绍一下你自己"
ollama list 列出本地已下载的所有模型及其大小和上次使用时间。 ollama list
ollama show <模型名称> 显示特定模型的详细信息,包括其 Modelfile 内容和参数。 ollama show llama3
ollama rm <模型名称> 从本地删除指定的模型以释放磁盘空间。 ollama rm llama3
ollama cp <源模型> <目标模型> 复制一个现有模型到新的名称,方便基于现有模型进行修改。 ollama cp llama3 my-custom-llama3
ollama create <模型名称> -f ./Modelfile 根据指定的 Modelfile 文件创建或自定义一个新的模型。 ollama create mymodel -f ./Modelfile
ollama serve 在后台启动 Ollama 服务,使其 API 可供其他应用程序调用 (默认监听 0.0.0.0:11434)。 ollama serve

交互式聊天

安装并下载模型后,您可以直接在终端中与模型进行对话。例如,要与 Llama 3 模型聊天:

ollama run llama3

然后,您就可以输入您的问题或提示,模型会生成回应。输入 /bye 或按 Ctrl+D 可以退出交互模式。


通过社区开发的 WebUI 工具,用户可以获得更直观的图形化操作界面来与本地 Ollama 模型进行交互。

Ollama WebUI 界面示例

通过 Web 界面与本地托管的 Ollama 模型进行交互的示例。


模型管理与自定义

Ollama 提供了灵活的模型管理功能,包括从官方库拉取模型、创建自定义模型以及导入外部模型。

模型库与拉取模型

Ollama 维护了一个包含众多流行开源模型的库,您可以在 ollama.com/library 查看可用模型列表。要下载并使用模型,例如 Mistral,只需运行:

ollama pull mistral

Ollama 会自动下载模型文件。您可以拉取不同参数规模的模型,如 llama3:8b (80亿参数) 或 llama3:70b (700亿参数)。

使用 Modelfile 创建自定义模型

Modelfile 是一个纯文本文件,用于定义模型的行为和属性。您可以通过创建一个名为 Modelfile (无扩展名) 的文件来定制模型。例如:

# 指定基础模型
FROM llama3:8b

# 设置系统提示,指导模型的行为和角色
SYSTEM """
你是一个乐于助人的AI助手。请用简洁明了的中文回答问题。
"""

# 设置模型参数 (可选)
PARAMETER temperature 0.7
PARAMETER top_k 40

然后,使用以下命令基于此 Modelfile 创建名为 my-custom-assistant 的新模型:

ollama create my-custom-assistant -f ./Modelfile

导入现有模型权重

Ollama 支持导入 GGUF、PyTorch 和 Safetensors 格式的模型权重。您可以在 Modelfile 中通过 FROM 指令指定本地模型文件的路径来导入。例如,要导入一个本地的 GGUF 文件:

# Modelfile 内容
FROM ./path/to/your-local-model.gguf

然后同样使用 ollama create my-local-model -f ./Modelfile 命令来创建并注册该模型到 Ollama。


Ollama 热门模型特性比较 (雷达图)

以下雷达图比较了几款可以通过 Ollama 运行的流行大型语言模型在不同维度上的特性。这些评估是基于普遍认知的主观分析,旨在提供一个大致的参考。实际表现可能因具体任务和使用方式而异。图表的评分范围为 3 到 10,分值越高代表在该维度上表现越优或特性越突出(例如,“模型大小 (紧凑性)”分值越高代表模型越小巧)。


进阶功能与集成

Ollama 不仅限于基本的模型运行,还提供 API、客户端库以及对多模态和模型量化等高级功能的支持。

使用 Ollama API

当您运行 ollama serve 或通过 Docker 启动 Ollama 时,它会在本地的 11434 端口上暴露一个 REST API。您可以使用这个 API 将 Ollama 集成到自己的应用程序中。例如,使用 curl 发送生成请求:

curl http://localhost:11434/api/generate -d '{
  "model": "llama3",
  "prompt": "请用一句话解释什么是量子纠缠?",
  "stream": false
}'

Ollama API 还支持流式响应、多轮对话 (/api/chat) 和 OpenAI 兼容的接口 (/v1/chat/completions)。

客户端库 (Python/JavaScript)

为了方便开发者,Ollama 社区提供了多种编程语言的客户端库。

Python (ollama-python)

您可以使用官方的 ollama-python 库在 Python 应用中与 Ollama 交互。首先安装库:pip install ollama。然后:

import ollama

response = ollama.chat(
    model='llama3',
    messages=[
        {
            'role': 'user',
            'content': '你好,Ollama!写一首关于春天的短诗。',
        },
    ]
)
print(response['message']['content'])

JavaScript (ollama-js)

对于 Node.js 或前端 JavaScript 项目,可以使用 ollama-js 库。安装:npm install ollama。用法与 Python 库类似,方便构建 Web 应用或后端服务。

Web UI 和社区工具

社区已经开发了许多优秀的 Web 用户界面 (WebUI) 工具,如 Open WebUI (原 Ollama WebUI)、AnythingLLM 等。这些工具提供了图形化的界面,方便用户管理模型、进行聊天、构建知识库等,进一步降低了使用门槛。

多模态支持

Ollama 从 0.1.15 版本开始支持多模态模型,例如 LLaVA (Large Language and Vision Assistant)。这意味着您可以向模型提供图像作为输入,并进行基于图像内容的对话或分析。例如,运行 LLaVA 模型:

ollama run llava
>>> /path/to/your/image.jpg 描述这张图片中的主要物体。

/path/to/your/image.jpg 替换为实际的图片路径。

模型量化

为了在资源受限的设备上运行大型模型,Ollama 支持模型量化。量化是一种减少模型权重精度从而减小模型体积和内存占用的技术,通常能显著降低显存需求,提高推理速度,同时尽量保持模型性能。许多 Ollama 模型库中的模型都提供了不同量化级别的版本供选择。


视频教程:Ollama 入门指南

下面的视频教程详细介绍了 Ollama 的核心概念、安装步骤以及基本使用方法。通过观看此视频,您可以更直观地了解如何利用 Ollama 在本地环境中轻松管理和运行大型语言模型,是初学者快速入门的绝佳资源。


常见问题解答 (FAQ)

问:在哪些操作系统上可以运行 Ollama?
问:我可以将自己的模型或不同格式的模型与 Ollama 一起使用吗?
问:Ollama 有图形用户界面 (GUI) 吗?
问:如何减少 Ollama 中模型的资源消耗?

推荐探索


参考资料

ollama.readthedocs.io
Ollama 中文文档
lib.uml.com.cn
Ollama 教程

Last updated May 6, 2025
Ask Ithy AI
Download Article
Delete Article