Ollama 本地 LLM 运行

FreeGuideOnline 最新 2026-07-13

bash brew install ollama

- 安装完成后,Ollama 会自动作为后台服务启动(菜单栏可见小羊驼图标)

### Linux 安装
通过官方脚本一键安装:
```bash
curl -fsSL https://ollama.com/install.sh | sh

该脚本会自动配置 systemd 服务。若需 NVIDIA GPU 加速,确保已安装 NVIDIA 驱动程序及 CUDA Toolkit,Ollama 会自动检测。

手动管理服务:

# 启动服务
systemctl start ollama
# 设置开机自启
systemctl enable ollama

Windows 安装

Windows 原生版本目前处于预览阶段,推荐使用 WSL2 安装:

  1. 在 Windows 中启用 WSL2 并安装一个 Linux 发行版(如 Ubuntu)
  2. 进入该 Linux 环境,执行与 Linux 相同的安装命令
  3. Ollama 默认监听 localhost:11434,可在 Windows 直接访问

也可直接下载 Windows 预览版 安装,注意安装后使用 PowerShell 或 CMD 执行命令。

模型管理与下载

模型仓库概览

Ollama 官方维护了一个丰富的模型库,可通过 ollama.com/library 浏览。常用模型包括:

  • Llama 3 (Meta) 8B / 70B
  • Mistral (Mistral AI) 7B
  • Gemma (Google) 2B / 7B
  • Phi-3 (Microsoft) mini / medium
  • Qwen 2 (阿里) 0.5B-72B
  • Llava (多模态视觉模型)

每个模型提供了默认版本和多种量化标签(如 7b-instruct-q4_0),在占用和性能间平衡。

下载首个模型

下载模型只需一条 pull 命令:

ollama pull llama3

若未指定版本,Ollama 会根据硬件自动选择最适合的量化版本(通常是 4-bit 量化,约 4.7GB)。下载过程中会显示进度,下载完成后会自动管理。

自定义模型与 Modelfile

你可以基于基础模型修改系统提示词、参数或合并自定义模型。通过创建 Modelfile 文件:

FROM llama3
# 设置温度
PARAMETER temperature 0.7
# 设置系统提示词
SYSTEM "你是一个幽默的助手,用风趣的语言回答问题。"

然后执行创建命令:

ollama create my-assistant -f ./Modelfile

之后便能像标准模型一样使用:

ollama run my-assistant

本地运行与交互

命令行聊天

下载模型后,直接进入交互式对话:

ollama run llama3

输入问题即可得到回复,按 Ctrl + D 或发送 /bye 退出。支持多行输入,用 """ 包裹长文本。

多模态模型使用

与可视觉模型(如 Llava)交互,可传入图片路径:

ollama run llava
>>> 这张图片里有什么? /path/to/image.jpg

Ollama 会读取图片编码并与文本一起送入模型,真正实现图文理解。

实用运行参数

临时覆盖模型超参数:

ollama run llama3 --temperature 0.5 --num-predict 100
  • --temperature:控制随机性(0-2,低值更确定)
  • --num-predict:最大生成 token 数
  • --top-p / --top-k:采样策略

更多参数见 ollama run --help

API 接口与集成

Ollama 启动时会开启本地 REST API 服务,默认地址 http://localhost:11434

REST API 基础

生成请求示例(非流式):

curl http://localhost:11434/api/generate -d '{
  "model": "llama3",
  "prompt": "用一句话解释什么是人工智能",
  "stream": false
}'

返回 JSON 包含生成文本及性能指标。若需流式输出,设置 "stream": true,响应会逐 token 返回。

对话接口(维护上下文):

curl http://localhost:11434/api/chat -d '{
  "model": "llama3",
  "messages": [
    {"role": "user", "content": "你好!"}
  ],
  "stream": false
}'

使用 Python 调用

官方提供了 ollama Python 库:

pip install ollama

同步调用:

import ollama
response = ollama.chat(model='llama3', messages=[
  {'role': 'user', 'content': '写一首关于夏天的诗'}
])
print(response['message']['content'])

异步与流式也是直接支持,适合构建 Web 应用。

在应用中使用

凭借 OpenAI 兼容的 API 适配层,你可以透明地将 Ollama 插入任何兼容的框架。例如使用 LangChain:

from langchain_community.llms import Ollama
llm = Ollama(model="llama3")
print(llm.invoke("提问"))

或用 openai Python 库连接本地接口:

from openai import OpenAI
client = OpenAI(base_url='http://localhost:11434/v1/', api_key='ollama')
completion = client.chat.completions.create(
  model="llama3",
  messages=[{"role": "user", "content": "Hello"}]
)

这样大量现有工具即可零改动接入本地大模型。

高级配置与优化

更改模型存储位置

Ollama 默认将模型文件保存在 /home/<user>/.ollama/models(Linux)或 ~/.ollama/models(Mac)。若需要移动至大容量硬盘,可设置环境变量:

export OLLAMA_MODELS=/mnt/data/models      # Linux
launchctl setenv OLLAMA_MODELS /Volumes/Data/models   # macOS

然后重启 Ollama 服务,已有模型可直接复制过去。

GPU 加速与内存设置

  • NVIDIA GPU:Ollama 自动调用 CUDA,可通过环境变量 CUDA_VISIBLE_DEVICES 指定 GPU 编号
  • Apple Silicon (M 系列):使用 Metal 加速,在 Mac 上已是默认最优
  • 内存限制:大型模型可能超出显存,Ollama 会自动 offload 到 CPU,但速度下降。可通过 OLLAMA_NUM_GPU 限制 GPU 层数,例如:
    ollama run llama3:70b --gpu-layers 20