AI时代一定要学的大模型工具:Ollama,详解安装、命令与使用指南

Ollama 是一个轻量级的开源工具,允许你在本地运行各种大语言模型(LLM),包括支持加载和运行不同的 LLaMA 模型(如 7B、13B 和 70B 参数版本)。
Ollama还提供命令行界面(CLI)和Python API,这意味着开发者可以方便地集成到自己的项目中。同时,文档提到它支持量化等技术,这可能帮助减少内存使用并提高模型在旧设备上的运行效率,这对资源有限的环境特别有用,是AI应用非常有用的工具。
通过 Ollama,你可以在自己的设备上方便地使用这些强大的模型,而无需依赖云服务。本文将详细指导你如何安装、配置和使用 Ollama。

安装 Ollama

系统要求

  • 操作系统: 支持 Linux(推荐)、macOS 或 Windows。
  • 硬件需求:
    • CPU: 建议至少 4 核心,8GB 内存(运行较大的模型如 LLaMA 70B 可能需要更多内存)。
    • GPU: 不是必须,但如果你有支持 CUDA 的 GPU,可以加速推理。

安装步骤

1. 在终端中安装 Ollama

你可以通过以下命令快速安装 Ollama:

对于 Linux 和 macOS:

curl -sLO https://ollama.ai/releases/ollama-linux-x86_64.tar.gz && tar xzf ollama-linux-x86_64.tar.gz && ./ollama install

对于 Windows(使用 WSL):

# 通过 WSL 安装,假设你已经启用了 WSL
curl -sLO https://ollama.ai/releases/ollama-linux-x86_64.tar.gz && tar xzf ollama-linux-x86_64.tar.gz && ./ollama install

安装完成后,确保将 ollama 命令添加到你的 PATH 环境变量中。

2. 验证安装

打开终端并运行:

ollama --version

如果显示版本号,则说明安装成功。

基本命令与操作

启动 Ollama 服务

Ollama 运行在服务器模式,可以通过以下命令启动:

# 在默认端口 11434 上运行
ollama serve

# 或者指定配置文件路径(后面会详细讲解)
ollama serve --config ./ollama/config.json

加载模型

Ollama 支持加载多种 LLaMA 模型,包括:

  • llama2-7b
  • llama2-13b
  • llama2-70b
  • 和其他社区贡献的模型。

下载并加载模型

运行以下命令下载并加载一个模型(以 llama2-7b 为例):

ollama pull llama2-7b
ollama serve --model llama2-7b

如果需要使用 GPU 加速(如果你的系统支持 CUDA),可以指定 GPU 设备:

# 使用 CUDA 加速(假设你有一个 NVIDIA 显卡)
OLLAMA_CUDA_DEVICE=0 ollama serve --model llama2-7b

调用模型进行推理

你可以通过以下几种方式调用 Ollama 模型:

方式 1: 直接在终端中使用 ollama 命令

# 提示模型生成代码(以 Python 示例)
$ ollama --model llama2-7b code "write a function to sort a list in Python"

方式 2: 使用 HTTP 接口

Ollama 提供了一个 RESTful API,可以通过 http://localhost:11434/api/predict 发送请求。例如:

curl -X POST http://localhost:11434/api/predict \
     -H "Content-Type: application/json" \
     -d '{"model":"llama2-7b","prompt":"write a function to sort a list in Python"}'

方式 3: 使用配置文件

你可以在 ollama/config.json 中配置默认的模型和参数,例如:

{
    "default_model": "llama2-7b",
    "temperature": 0.7,
    "max_tokens": 2048
}

配置文件与高级功能

配置文件路径

Ollama 的配置文件位于 ~/.ollama/config.json。你可以编辑这个文件来调整默认参数,例如:

{
    "api_key": "your_openai_api_key",  // 如果你使用 OpenAI 模型
    "default_model": "gpt-3.5-turbo",
    "temperature": 0.8,
    "max_tokens": 4096
}

下载与管理模型

Ollama 提供了一个方便的命令来下载和管理模型:

# 查看 ollama 版本
ollama -v

# 列出所有可用模型
ollama list

# 下载特定模型(以 llama2-7b 为例)
ollama pull llama2-7b

# 卸载已下载的模型
ollama remove llama2-7b

完整命令集(可以输入ollama -h命令查看)

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
  stop        Stop a running model
  pull        Pull a model from a registry
  push        Push a model to a registry
  list        List models
  ps          List running models
  cp          Copy a model
  rm          Remove a model
  help        Help about any command

Flags:
  -h, --help      help for ollama
  -v, --version   Show version information

Use "ollama [command] --help" for more information about a command.

命令使用方法如下例子:
查看 ollama 版本

ollama -v
ollama version is 0.5.7

查看已下载模型

ollama list
NAME                ID              SIZE      MODIFIED
deepseek-r1:14b     ea35dfe18182    9.0 GB    22 hours ago
deepseek-r1:8b      28f8fd6cdc67    4.9 GB    22 hours ago
deepseek-r1:7b      0a8c26691023    4.7 GB    22 hours ago
deepseek-r1:1.5b    a42b25d8c10a    1.1 GB    22 hours ago

使用不同的模型参数

你可以在调用时临时调整模型参数:

ollama --model llama2-13b --temperature 0.9 --max_tokens 256 "write a poem about AI"

进阶技巧

配置 GPU 支持

如果你有 NVIDIA 显卡并安装了 CUDA,可以通过以下方式加速推理:

# 指定使用特定的 GPU 设备(例如设备 ID 0)
OLLAMA_CUDA_DEVICE=0 ollama serve --model llama2-7b

# 或者直接在配置文件中设置
{
    "cuda_device": 0,
    "default_model": "llama2-7b"
}

调整内存使用

如果你的设备内存不足,可以尝试降低模型参数或使用量化模型:

# 使用 4-bit 量化模型(减少内存占用)
ollama pull llama2-7b --quantization 4

# 运行时指定较低的内存配置
ollama serve --model llama2-7b --mem 16G

使用代理服务器

如果你需要通过代理访问互联网,可以在运行 Ollama 服务时设置代理:

HTTP_PROXY=http://your-proxy:port ollama serve

示例场景

场景 1:本地代码生成

在终端中输入以下命令:

ollama --model llama2-7b code "write a function to calculate Fibonacci numbers in Python"

Ollama 将返回生成的代码并解释实现方式。

展开阅读全文

本文系作者在时代Java发表,未经许可,不得转载。

如有侵权,请联系nowjava@qq.com删除。

编辑于

关注时代Java

关注时代Java