Ollama 运行模型指南

1. 基本运行命令

交互式运行

# 运行默认模型(如果已下载)
ollama run

# 运行指定模型
ollama run llama3
ollama run qwen2:7b
ollama run mistral

# 运行特定版本
ollama run llama3:8b
ollama run llama3:70b
ollama run qwen2:1.5b

非交互式运行(单条命令)

# 直接发送提示词
ollama run llama3 "解释一下量子力学"

# 使用 stdin 输入
echo "写一首关于春天的诗" | ollama run llama3

# 从文件读取
ollama run llama3 < prompt.txt

通过 API 调用

# 生成补全
curl http://localhost:11434/api/generate -d '{
  "model": "llama3",
  "prompt": "为什么天空是蓝色的?",
  "stream": false
}'

# 对话补全(推荐)
curl http://localhost:11434/api/chat -d '{
  "model": "llama3",
  "messages": [
    {"role": "user", "content": "你好,请介绍一下自己"}
  ],
  "stream": false
}'

2. 常用模型推荐

模型 大小 特点 适用场景
llama3:8b 4.7GB 平衡性能与速度 通用对话、代码辅助
llama3:70b 40GB 高质量回答 复杂推理、专业领域
qwen2:7b 4.1GB 中文优化 中文内容生成
qwen2:72b 40GB 中文最强 专业中文任务
mistral:7b 4.1GB 高效轻量 快速响应场景
gemma:2b 1.4GB 超轻量 低配置设备
codellama:7b 3.8GB 代码专用 编程辅助
deepseek-coder:6.7b 3.8GB 代码生成 代码补全、解释

3. 运行参数配置

命令行参数

# 设置温度(随机性)
ollama run llama3 --temperature 0.7

# 设置最大 token 数
ollama run llama3 --num-predict 500

# 设置上下文窗口
ollama run llama3 --num-context 4096

# 多参数组合
ollama run llama3 --temperature 0.5 --num-predict 1000 --num-context 8192

通过 Modelfile 自定义

# 创建 Modelfile
FROM llama3
PARAMETER temperature 0.7
PARAMETER num_predict 1000
PARAMETER num_ctx 4096
SYSTEM You are a helpful coding assistant who speaks in Chinese.
# 创建自定义模型
ollama create my-coding-assistant -f Modelfile

# 运行自定义模型
ollama run my-coding-assistant

4. 会话管理

多轮对话

# 启动后自动进入多轮对话模式
ollama run llama3

# 在对话中:
# - 输入问题继续对话
# - 输入 /bye 退出
# - 输入 /set parameter temperature 0.5 调整参数
# - 输入 /show info 查看模型信息
# - 输入 /help 查看帮助

保持会话状态

# 使用 --keepalive 参数保持会话
ollama run llama3 --keepalive 30m

# 在 API 中设置
curl http://localhost:11434/api/chat -d '{
  "model": "llama3",
  "messages": [...],
  "keep_alive": "30m"
}'

5. 批量处理

脚本批量调用

#!/bin/bash
# batch_process.sh

PROMPTS=(
  "解释机器学习的基本概念"
  "写一个Python函数计算斐波那契数列"
  "总结这篇文章的主要观点"
)

for prompt in "${PROMPTS[@]}"; do
  echo "处理:$prompt"
  ollama run llama3 "$prompt" --temperature 0.5
  echo "---"
done

使用 Python 脚本

import requests
import json

def run_ollama(prompt, model="llama3", temperature=0.7):
    response = requests.post(
        "http://localhost:11434/api/chat",
        json={
            "model": model,
            "messages": [{"role": "user", "content": prompt}],
            "temperature": temperature,
            "stream": False
        }
    )
    return response.json()["message"]["content"]

# 使用示例
result = run_ollama("写一首关于编程的诗")
print(result)

6. 性能优化

选择合适模型

  • 低配置设备:选择 1.5B-3B 参数模型
  • 中等配置:选择 7B-8B 参数模型
  • 高配置设备:选择 70B+ 参数模型

GPU 加速

# 检查 GPU 使用情况
ollama ps

# 强制使用 GPU(如果支持)
# Ollama 会自动检测并使用 GPU,无需额外配置

调整并发

# 设置最大并发数
export OLLAMA_NUM_PARALLEL=4

# 设置最大内存使用
export OLLAMA_MAX_LOADED_MODELS=2

7. 实用技巧

流式输出

# 终端流式显示
ollama run llama3 "写一个故事" --stream

# API 流式输出
curl http://localhost:11434/api/chat -d '{
  "model": "llama3",
  "messages": [{"role": "user", "content": "写一个故事"}],
  "stream": true
}'

系统提示词预设

# 创建角色
ollama run llama3 --system "你是一位经验丰富的Python程序员,请用简洁的代码回答问题"

# 在对话中设置
ollama run llama3
>>> /set system 你是一位专业的翻译,请将以下文本翻译成英文

查看模型信息

# 查看模型详细信息
ollama show llama3

# 查看模型参数
ollama show --modelfile llama3

# 查看已下载模型列表
ollama list

8. 常见问题

问题:模型运行缓慢

解决方案:

  • 选择更小的模型版本
  • 减少 num_predict 参数
  • 确保使用 GPU 加速

问题:内存不足

解决方案:

  • 使用量化版本(如 llama3:8b-q4_0
  • 减少上下文窗口大小
  • 关闭其他占用内存的应用

问题:回答质量不高

解决方案:

  • 调整 temperature 参数(0.3-0.7 之间)
  • 使用更具体的提示词
  • 选择更大参数的模型

运行模型前,请确保已下载对应模型(ollama pull <model-name>)。首次运行会自动下载模型文件。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐