Skip to content

常见问题 (FAQ)

本页面收集了用户在使用 Ollama 过程中最常遇到的问题和解决方案。

安装和设置

如何安装 Ollama?

Linux:

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

macOS: 从 ollama.com 下载 .dmg 文件并安装。 Windows: 从 ollama.com 下载 .exe 安装程序。

如何更新 Ollama?

Linux: 重新运行安装脚本:

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

macOS/Windows: 下载并安装最新版本,它会自动覆盖旧版本。

如何卸载 Ollama?

Linux:

bash
sudo systemctl stop ollama
sudo systemctl disable ollama
sudo rm /etc/systemd/system/ollama.service
sudo rm $(which ollama)
sudo rm -r /usr/share/ollama
sudo userdel ollama
sudo groupdel ollama

macOS:

bash
sudo rm -rf /usr/local/bin/ollama
sudo rm -rf /Applications/Ollama.app

Windows: 通过"添加或删除程序"卸载。

模型管理

如何下载模型?

使用 ollama pull 命令:

bash
ollama pull gemma3

如何查看已安装的模型?

bash
ollama list

如何删除模型?

bash
ollama rm gemma3

模型存储在哪里?

Linux: /usr/share/ollama/.ollama/modelsmacOS: ~/.ollama/modelsWindows: C:\Users\%username%\.ollama\models

如何更改模型存储位置?

设置 OLLAMA_MODELS 环境变量: Linux/macOS:

bash
export OLLAMA_MODELS=/path/to/models

Windows:

cmd
set OLLAMA_MODELS=C:\path\to\models

如何导入 GGUF 模型?

  1. 创建 Modelfile:
FROM ./path/to/model.gguf
  1. 创建模型:
bash
ollama create my-model -f Modelfile

性能和硬件

Ollama 支持哪些 GPU?

  • NVIDIA: 支持 CUDA 11.2+ 的显卡
  • AMD: 支持 ROCm 的显卡(Linux)
  • Apple: 支持 Metal 的 M 系列芯片

如何检查 GPU 是否被使用?

运行模型时查看 GPU 使用情况: NVIDIA:

bash
nvidia-smi

AMD:

bash
rocm-smi

Apple: 使用活动监视器查看 GPU 使用情况。

为什么模型运行很慢?

可能的原因:

  1. 内存不足: 模型可能被分页到磁盘
  2. CPU 模式: GPU 未被正确识别或配置
  3. 模型太大: 选择更小的模型或增加内存 解决方案:
  • 检查系统内存和 GPU 内存
  • 确保 GPU 驱动正确安装
  • 尝试较小的模型变体

如何限制 GPU 内存使用?

设置 OLLAMA_GPU_MEMORY_FRACTION 环境变量:

bash
export OLLAMA_GPU_MEMORY_FRACTION=0.8  # 使用 80% GPU 内存

如何在 CPU 模式下运行?

设置 OLLAMA_NUM_GPU 为 0:

bash
export OLLAMA_NUM_GPU=0
ollama run gemma3

网络和连接

如何更改服务端口?

设置 OLLAMA_HOST 环境变量:

bash
export OLLAMA_HOST=0.0.0.0:8080
ollama serve

如何通过网络访问 Ollama?

  1. 设置监听地址:
bash
export OLLAMA_HOST=0.0.0.0:11434
  1. 确保防火墙允许端口 11434
  2. 从其他机器访问:
bash
curl http://your-server-ip:11434/api/generate -d '{
  "model": "gemma3",
  "prompt": "Hello"
}'

如何配置代理?

设置代理环境变量:

bash
export HTTPS_PROXY=https://proxy.example.com:8080
export HTTP_PROXY=http://proxy.example.com:8080

如何使用自签名证书?

  1. 将证书添加到系统信任存储
  2. 或设置 OLLAMA_CA_BUNDLE
bash
export OLLAMA_CA_BUNDLE=/path/to/ca-bundle.crt

API 和集成

如何使用 OpenAI 兼容 API?

Ollama 提供 OpenAI 兼容的端点:

python
import openai
client = openai.OpenAI(
    base_url='http://localhost:11434/v1',
    api_key='ollama',  # 必需但未使用
)
response = client.chat.completions.create(
    model="gemma3",
    messages=[
        {"role": "user", "content": "Hello!"}
    ]
)

支持哪些 OpenAI 端点?

  • /v1/chat/completions
  • /v1/completions
  • /v1/models

如何流式传输响应?

cURL:

bash
curl http://localhost:11434/api/generate -d '{
  "model": "gemma3",
  "prompt": "为什么天空是蓝色的?",
  "stream": true
}'

Python:

python
import requests
import json
response = requests.post('http://localhost:11434/api/generate',
    json={
        'model': 'gemma3',
        'prompt': '为什么天空是蓝色的?',
        'stream': True
    },
    stream=True)
for line in response.iter_lines():
    if line:
        print(json.loads(line)['response'], end='')

自定义和配置

如何创建自定义模型?

  1. 创建 Modelfile:
FROM gemma3
SYSTEM "你是一个专业的中文助手。"
PARAMETER temperature 0.7
PARAMETER top_p 0.9
  1. 构建模型:
bash
ollama create my-chinese-assistant -f Modelfile

如何调整模型参数?

在 Modelfile 中设置参数:

PARAMETER temperature 0.8
PARAMETER top_k 40
PARAMETER top_p 0.9
PARAMETER repeat_penalty 1.1

或在 API 调用中指定:

bash
curl http://localhost:11434/api/generate -d '{
  "model": "gemma3",
  "prompt": "Hello",
  "options": {
    "temperature": 0.8,
    "top_p": 0.9
  }
}'

如何设置系统提示?

在 Modelfile 中:

FROM gemma3
SYSTEM "你是一个有用的助手,总是用中文回答问题。"

或在 API 调用中:

bash
curl http://localhost:11434/api/chat -d '{
  "model": "gemma3",
  "messages": [
    {"role": "system", "content": "你是一个有用的助手。"},
    {"role": "user", "content": "你好!"}
  ]
}'

故障排除

模型下载失败怎么办?

  1. 检查网络连接
  2. 检查磁盘空间
  3. 尝试重新下载:
bash
ollama pull gemma3
  1. 如果仍然失败,检查日志:
bash
ollama logs

"模型未找到" 错误

确保模型已正确下载:

bash
ollama list

如果模型不在列表中,重新下载:

bash
ollama pull model-name

内存不足错误

  1. 检查可用内存:
bash
free -h  # Linux
  1. 尝试较小的模型
  2. 关闭其他应用程序
  3. 增加交换空间(不推荐,会很慢)

GPU 未被检测到

NVIDIA:

  1. 检查驱动安装:
bash
nvidia-smi
  1. 检查 CUDA 版本:
bash
nvcc --version

AMD:

  1. 检查 ROCm 安装:
bash
rocm-smi

Apple: 确保使用 Apple Silicon Mac。

服务无法启动

  1. 检查端口是否被占用:
bash
lsof -i :11434  # Linux/macOS
netstat -an | findstr :11434  # Windows
  1. 检查权限
  2. 查看错误日志:
bash
ollama logs

响应很慢或超时

  1. 检查系统资源使用情况
  2. 尝试较小的模型
  3. 调整超时设置:
bash
export OLLAMA_REQUEST_TIMEOUT=300  # 5 分钟

环境变量参考

变量名描述默认值
OLLAMA_HOST服务监听地址127.0.0.1:11434
OLLAMA_MODELS模型存储路径系统默认路径
OLLAMA_NUM_GPU使用的 GPU 数量自动检测
OLLAMA_GPU_MEMORY_FRACTIONGPU 内存使用比例0.9
OLLAMA_REQUEST_TIMEOUT请求超时时间(秒)300
OLLAMA_DEBUG启用调试日志false

获取帮助

如果您的问题未在此列表中找到答案:

  1. 查看 故障排除指南
  2. 搜索 GitHub Issues
  3. Discord 社区 寻求帮助
  4. 提交新的 GitHub Issue

希望这些常见问题解答能帮助您更好地使用 Ollama!

让大语言模型触手可及 - Get up and running with large language models