Skip to content

Ollama

Ollama 是一个本地模型运行器,允许您在本地运行多种开源大语言模型,确保数据隐私和离线使用。

支持的模型

Meta LLaMA 系列

  • llama3 - LLaMA 3 系列模型
  • llama3:8b - LLaMA 3 8B 参数版本
  • llama3:70b - LLaMA 3 70B 参数版本
  • llama2 - LLaMA 2 系列模型

其他热门模型

  • codellama - 代码专用模型
  • mistral - Mistral AI 的开源模型
  • qwen - 阿里云通义千问
  • gemma - Google 的开源模型
  • phi3 - Microsoft 的 Phi-3 模型

配置方法

基础配置

yaml
models:
  - name: "local-llama3"
    provider: "ollama"
    model: "llama3"
    apiBase: "http://localhost:11434"
    roles: ["chat"]
    defaultCompletionOptions:
      temperature: 0.7
      maxTokens: 2000

多模型配置

yaml
models:
  - name: "llama3-chat"
    provider: "ollama"
    model: "llama3"
    apiBase: "http://localhost:11434"
    roles: ["chat"]
    defaultCompletionOptions:
      temperature: 0.7
      maxTokens: 2000

  - name: "codellama-edit"
    provider: "ollama"
    model: "codellama"
    apiBase: "http://localhost:11434"
    roles: ["edit"]
    defaultCompletionOptions:
      temperature: 0.3
      maxTokens: 1500

  - name: "qwen-autocomplete"
    provider: "ollama"
    model: "qwen:7b"
    apiBase: "http://localhost:11434"
    roles: ["autocomplete"]
    defaultCompletionOptions:
      temperature: 0.1
      maxTokens: 500

自定义端点配置

yaml
models:
  - name: "remote-ollama"
    provider: "ollama"
    model: "llama3"
    apiBase: "http://192.168.1.100:11434"
    roles: ["chat"]
    requestOptions:
      timeout: 120000
      verifySsl: false

高级配置

带认证的配置

yaml
models:
  - name: "secure-ollama"
    provider: "ollama"
    model: "llama3"
    apiBase: "http://localhost:11434"
    roles: ["chat"]
    requestOptions:
      timeout: 60000
      headers:
        "Authorization": "Bearer ${OLLAMA_TOKEN}"

完整配置示例

yaml
models:
  - name: "ollama-complete"
    provider: "ollama"
    model: "llama3:8b"
    apiBase: "http://localhost:11434"
    roles: ["chat", "edit", "apply"]
    defaultCompletionOptions:
      temperature: 0.7
      maxTokens: 4000
      topP: 0.9
      stream: true
    requestOptions:
      timeout: 120000
      verifySsl: true

使用场景配置

本地开发

yaml
models:
  - name: "local-dev"
    provider: "ollama"
    model: "codellama:7b"
    apiBase: "http://localhost:11434"
    roles: ["chat", "edit"]
    defaultCompletionOptions:
      temperature: 0.3
      maxTokens: 2000

隐私保护

yaml
models:
  - name: "private-chat"
    provider: "ollama"
    model: "llama3"
    apiBase: "http://localhost:11434"
    roles: ["chat"]
    defaultCompletionOptions:
      temperature: 0.7
      maxTokens: 1000
    requestOptions:
      timeout: 60000

快速响应

yaml
models:
  - name: "fast-local"
    provider: "ollama"
    model: "phi3:mini"
    apiBase: "http://localhost:11434"
    roles: ["autocomplete"]
    defaultCompletionOptions:
      temperature: 0.1
      maxTokens: 200
    requestOptions:
      timeout: 10000

安装和设置

1. 安装 Ollama

bash
# macOS
brew install ollama

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

# Windows
# 从 https://ollama.com/download 下载安装包

2. 启动 Ollama 服务

bash
# 启动服务
ollama serve

# 或者在后台运行
nohup ollama serve > ollama.log 2>&1 &

3. 下载模型

bash
# 下载 LLaMA 3
ollama pull llama3

# 下载代码模型
ollama pull codellama

# 下载轻量级模型
ollama pull phi3:mini

# 列出已下载的模型
ollama list

4. 测试模型

bash
# 测试对话
ollama run llama3 "Hello, how are you?"

# 交互式聊天
ollama run llama3

高级用法

自定义模型

bash
# 创建自定义模型
ollama create mymodel -f Modelfile

# Modelfile 示例
FROM llama3
SYSTEM """You are a helpful AI assistant."""
PARAMETER temperature 0.7
PARAMETER top_p 0.9

GPU 加速

确保系统有合适的 GPU 驱动:

bash
# NVIDIA GPU
# 安装 CUDA 驱动
# Ollama 会自动检测并使用 GPU

# Apple Silicon (M1/M2/M3)
# Ollama 会自动使用 Metal 性能框架

远程访问

bash
# 允许远程访问
OLLAMA_HOST=0.0.0.0 ollama serve

# 配置防火墙规则
sudo ufw allow 11434

常见问题

Q: Ollama 连接失败怎么办?

A: 检查以下几点:

  • Ollama 服务是否正在运行:ps aux | grep ollama
  • 端口 11434 是否可用:netstat -an | grep 11434
  • 防火墙设置是否正确

Q: 模型下载很慢?

A:

  • 使用镜像源或代理
  • 选择较小的模型版本
  • 考虑使用预下载的模型文件

Q: 内存不足怎么办?

A:

  • 选择较小的模型(如 7B 而不是 70B)
  • 关闭其他占用内存的程序
  • 考虑增加系统内存

Q: 如何更新模型?

A:

bash
# 更新模型到最新版本
ollama pull llama3:latest

# 查看可用版本
ollama show llama3

Q: 响应时间太长?

A:

  • 使用较小的模型
  • 启用 GPU 加速
  • 减少 maxTokens 设置
  • 使用量化版本(如 q4 版本)

最佳实践

1. 模型选择

  • 开发测试: 使用较小的 7B 模型
  • 生产环境: 根据硬件选择合适大小
  • 隐私敏感: 始终使用本地模型
  • 速度优先: 使用量化版本

2. 硬件优化

  • GPU: 使用 CUDA 或 Metal 加速
  • 内存: 至少 16GB RAM 用于 7B 模型
  • 存储: 使用 SSD 提高加载速度

3. 安全考虑

  • 本地部署确保数据隐私
  • 定期更新 Ollama 和模型
  • 限制网络访问(如仅本地访问)

4. 性能调优

  • 预加载常用模型
  • 使用合适的温度参数
  • 启用流式响应

模型推荐

使用场景推荐模型显存需求特点
通用对话llama3:8b~8GB平衡性能
代码生成codellama:7b~8GB代码专用
轻量级任务phi3:mini~4GB快速响应
高质量对话llama3:70b~40GB高质量
中文优化qwen:7b~8GB中文支持好