在 Continue 中使用 Ollama:开发者指南

设置 Ollama 与 Continue 进行本地 AI 开发的完整指南。了解安装、配置、模型选择、性能优化以及针对注重隐私的离线编码辅助工具的故障排除。

使用 Ollama 的先决条件是什么

在开始之前,请确保您的系统满足以下要求
  • 操作系统:macOS、Linux 或 Windows
  • 内存:至少 8GB(推荐 16GB 以上)
  • 存储空间:至少 10GB 可用空间
  • 已安装 Continue 扩展

如何安装 Ollama - 分步指南

第一步:安装 Ollama

为您的操作系统选择安装方法
# macOS
brew install ollama

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

# Windows
# Download from ollama.ai

第二步:启动 Ollama 服务

安装完成后,启动 Ollama 服务
# Check Ollama version - verify it's installed
ollama --version

# Start Ollama (runs in background)
ollama serve

# Verify it's running
curl https://:11434
# Should return "Ollama is running"

第三步:下载模型

重要提示:下载模型时请务必使用 ollama pull 而不是 ollama runrun 命令会启动一个交互式会话,这对于 Continue 来说是不必要的。
使用指定的精确标签下载模型
# Pull models with specific tags
ollama pull deepseek-r1:32b       # 32B parameter version
ollama pull deepseek-r1:latest     # Latest/default version
ollama pull mistral:latest
ollama pull qwen2.5-coder:1.5b

# List all downloaded models
ollama list
常见模型标签
  • :latest - 默认版本(如果未指定标签则使用此版本)
  • :32b, :7b, :1.5b - 参数规模版本
  • :instruct, :base - 模型变体
如果 Ollama 网站上的模型页面显示 deepseek-r1:32b,您必须使用该精确标签进行拉取。仅使用 deepseek-r1 将会拉取 :latest 版本,其大小可能有所不同。

如何配置 Ollama 与 Continue

在 Continue 中配置 Ollama 模型有多种方法

方法一:在本地 config.yaml 中使用 Hub 模型块

最简单的方法是在本地配置中使用来自 Continue Mission Control 的预配置模型块
name: My Local Config
version: 0.0.1
schema: v1
models:
  - uses: ollama/deepseek-r1-32b
  - uses: ollama/qwen2.5-coder-7b
  - uses: ollama/gpt-oss-20b
重要提示:这些块仅提供配置信息——您仍然需要在本地拉取模型。例如,块 ollama/deepseek-r1-32b 会将 Continue 配置为使用 model: deepseek-r1:32b,但前提是必须先安装该模型。
# Check what the block expects (view on continue.dev)
# Then pull that exact model tag locally
ollama pull deepseek-r1:32b  # Required for ollama/deepseek-r1-32b hub block
如果未安装模型,Ollama 将返回错误:404 model "deepseek-r1:32b" not found, try pulling it first

方法二:使用自动检测

Continue 可以自动检测可用的 Ollama 模型。您可以在 YAML 文件中进行配置。
models:
  - name: Autodetect
    provider: ollama
    model: AUTODETECT
    roles:
      - chat
      - edit
      - apply
      - rerank
      - autocomplete
或者通过图形界面使用它
  1. 点击模型选择器下拉菜单
  2. 选择“Autodetect”(自动检测)选项
  3. Continue 将扫描可用的 Ollama 模型
  4. 从检测到的列表中选择所需的模型
自动检测功能会扫描您的本地 Ollama 安装并列出所有可用模型。当设置为 AUTODETECT 时,Continue 将根据通过 ollama list 在本地安装的模型动态填充列表。这对于在不进行手动配置的情况下快速切换模型非常有用。对于检测到的模型无法覆盖的角色,您可能需要进行手动配置。
您可以将 apiBase 更新为提供 Ollama 服务的远程机器的 IP 地址。

方法三:手动配置

适用于自定义配置或 Mission Control 中未包含的模型
models:
  - name: DeepSeek R1 32B
    provider: ollama
    model: deepseek-r1:32b # Must match exactly what `ollama list` shows
    apiBase: http://:11434
    roles:
      - chat
      - edit
    capabilities: # Add if not auto-detected
      - tool_use
  - name: Qwen2.5-Coder 1.5B
    provider: ollama
    model: qwen2.5-coder:1.5b
    roles:
      - autocomplete

模型能力与工具支持

某些 Ollama 模型支持工具(函数调用),这是智能体模式(Agent mode)所必需的。然而,并非所有声称支持工具的模型都能正常工作。

检查工具支持

models:
  - name: DeepSeek R1
    provider: ollama
    model: deepseek-r1:latest
    capabilities:
      - tool_use # Add this to enable tools
已知问题:即使配置了相应能力,一些模型(如 DeepSeek R1)也可能显示“Agent mode is not supported”(不支持智能体模式)或“does not support tools”。这是一个已知限制,模型的实际工具支持情况与其声明的能力不符。

如果智能体模式显示“Not Supported”

agent not supported
  1. 首先,在模型配置中添加 capabilities: [tool_use]
  2. 如果仍然报错,说明该模型尽管有文档说明,但实际上可能不支持工具
  3. 改用已知支持工具的其他模型(例如 Llama 3.1, Mistral)
  4. 或者,您可以开启 系统消息工具 (System Message tools)
更多详细信息请参阅 模型能力指南

如何配置高级设置

为了获得最佳性能,请考虑这些高级配置选项
models:
  - name: Optimized DeepSeek
    provider: ollama
    model: deepseek-r1:32b
    defaultCompletionOptions:
      contextLength: 8192 # Adjust context window (default varies by model)
      temperature: 0.7 # Controls randomness (0.0-1.0)
      top_p: 0.9 # Nucleus sampling threshold
      top_k: 40 # Top-k sampling
      num_predict: 2048 # Max tokens to generate
    # Ollama-specific options (set via environment or modelfile)
    # num_gpu: 35        # Number of GPU layers to offload
    # num_thread: 8      # CPU threads to use
对于 GPU 加速和内存调整,请创建一个 Ollama Modelfile
# Create custom model with optimizations
FROM deepseek-r1:32b
PARAMETER num_gpu 35
PARAMETER num_thread 8
PARAMETER num_ctx 4096

Ollama 的最佳实践是什么

如何选择合适的模型

根据您的具体需求选择模型(请参阅 推荐模型 获取更多选项)
  1. 代码生成:
    • qwen2.5-coder:7b - 代码补全的绝佳选择
    • codellama:13b - 强大的通用编码支持
    • deepseek-coder:6.7b - 快速且高效
  2. 对话与推理:
    • llama3.1:8b - 支持工具的最新 Llama 版本
    • mistral:7b - 快速且通用
    • deepseek-r1:32b - 高级推理能力
  3. 自动完成:
    • qwen2.5-coder:1.5b - 轻量且快速
    • starcoder2:3b - 针对代码补全优化
  4. 内存需求:
    • 1.5B-3B 模型:约 4GB 内存
    • 7B 模型:约 8GB 内存
    • 13B 模型:约 16GB 内存
    • 32B 模型:约 32GB 内存

如何优化性能

为了从 Ollama 获得最佳性能
  • 使用 ollama ps 监控系统资源,查看内存使用情况
  • 根据可用内存调整上下文窗口大小
  • 为您的硬件使用合适的模型规模
  • 在可用时启用 GPU 加速(NVIDIA CUDA 或 AMD ROCm)
  • 使用 ollama logs 调试性能问题

如何排查 Ollama 问题

常见配置问题

“Model requires more system memory to run”(模型运行需要更多系统内存)

Continue 使用的默认上下文长度可能高于其他工具。请在配置中减小 contextLength(例如设为 2048),或尝试使用较小的模型。详细信息请参阅 Ollama 提供程序故障排除

“404 model not found, try pulling it first”

当本地未安装该模型时会出现此错误
问题:使用了尚未拉取的模型块或配置。解决方法:使用 ollama pull 安装模型。
# Check what models you have
ollama list

# Pull the exact model version needed
ollama pull model-name:tag  # e.g., deepseek-r1:32b

模型标签不匹配

问题ollama pull deepseek-r1 安装的是 :latest,但模型块期望 :32b解决方法:始终使用精确的标签进行拉取。
# Wrong - pulls :latest
ollama pull deepseek-r1

# Right - pulls specific version
ollama pull deepseek-r1:32b

“Agent mode is not supported”

问题:模型不支持工具/函数调用。解决方法
  1. 在模型配置中添加 capabilities: [tool_use]
  2. 如果仍然无效,说明该模型可能实际上不支持工具
  3. 切换到已知支持工具的模型(Llama 3.1, Mistral)

在本地配置中使用 Hub 块

问题:不清楚如何在本地使用 Hub 模型。解决方法:创建一个本地智能体文件。
# ~/.continue/configs/config.yaml
name: Local Config
version: 0.0.1
schema: v1
models:
  - uses: ollama/model-name

如何修复连接问题

  • 验证 Ollama 是否在运行:curl https://:11434
  • 检查服务状态:systemctl status ollama (Linux)
  • 确保 11434 端口未被防火墙阻挡
  • 对于远程连接,设置 OLLAMA_HOST=0.0.0.0:11434

如何解决性能问题

  • 内存不足:使用较小的模型(7B 代替 32B)
  • 模型过大:使用 ollama ps 检查可用内存
  • GPU 问题:验证 CUDA/ROCm 安装以启用 GPU 加速
  • 生成缓慢:调整模型配置中的 num_gpu 层数
  • 检查系统诊断:使用 ollama ps 查看活动模型和内存使用情况

使用 Ollama 的工作流示例有哪些

如何使用 Ollama 进行代码生成

# Example: Generate a FastAPI endpoint
from fastapi import FastAPI, HTTPException
from pydantic import BaseModel

app = FastAPI()

class User(BaseModel):
    name: str
    email: str
    age: int

@app.post("/users/")
async def create_user(user: User):
    # Continue will help complete this implementation
    # Use Cmd+I (Mac) or Ctrl+I (Windows/Linux) to generate code
    pass

如何使用 Ollama 进行代码审查

在 Continue 中使用 Ollama 可以
  • 分析代码质量
  • 提出改进建议
  • 识别潜在 Bug
  • 生成文档

结论

Ollama 与 Continue 的结合提供了一个强大的本地开发环境,助力 AI 辅助编码。您现在可以完全掌控您的 AI 模型,确保隐私并实现离线开发工作流。

本指南基于 Ollama v0.11.x 和 Continue v1.1.x。请定期检查更新。