第31章 Zed 教程:使用本地模型
当你在本地机器或自己可控的基础设施上运行模型时,请使用本地模型。
| 本地路径 | Zed AI 功能 | 外部代理 | 终端线程 | 备注 |
|---|---|---|---|---|
| llama.cpp | 支持 | 独立配置 | 独立配置 | 为 Zed AI 功能配置 llama.cpp 服务器 |
| LM Studio | 支持 | 独立配置 | 独立配置 | 为 Zed AI 功能配置 LM Studio |
| Ollama | 支持 | 独立配置 | 独立配置 | 为 Zed AI 功能配置 Ollama |
| 本地 OpenAI 兼容服务器 | 支持 | 独立配置 | 独立配置 | 配置基础 URL、模型,必要时配置密钥 |
| 本地/自托管编辑预测 | 仅编辑预测 | 不支持 | 不支持 | 使用 编辑预测 配置 |
llama.cpp
使用 llama.cpp 及其内置服务器,为 Zed Agent、Inline Assistant 及其他依赖模型的 Zed AI 功能提供本地模型支持。
-
从 llama.app 安装 llama.cpp。
-
以 路由器模式启动服务器:
llama serve它会按需从 llama.cpp 缓存加载模型。若想一步下载并运行特定模型,请传递
-hf参数:llama serve -hf unsloth/gemma-4-26B-A4B-it-GGUF:BF16 -
在 Zed 中,从模型下拉菜单中选择 llama.cpp 模型。
Zed 会自动发现已提供的模型及其上下文长度和工具/视觉能力。在路由器模式下,当模型加载完成后,这些能力会通过服务器的 /models/sse 流进一步细化(这需要较新版本的 llama.cpp 构建)。若想手动列出模型而非自动发现,请将 auto_discover 设置为 false:
{
"language_models": {
"llama.cpp": {
"api_url": "http://localhost:8080",
"auto_discover": false,
"available_models": [
{
"name": "gemma-4-12b-it-GGUF:BF16",
"display_name": "gemma-4-12b-it-GGUF:BF16",
"max_tokens": 32768,
"supports_tools": true,
"supports_images": false
}
]
}
}
}
llama.cpp 上下文长度
Zed 会使用服务器上报的上下文长度(/props)。可以通过 context_window 为所有模型统一覆盖,也可以在 available_models 中用 max_tokens 为单个模型设置:
{
"language_models": {
"llama.cpp": {
"context_window": 8192
}
}
}
如果你的 llama.cpp 服务器需要密钥,可以在提供商界面中输入,或设置 LLAMACPP_API_KEY。对于远程服务器,把 API URL 设为其端点地址并提供密钥(服务器端用 --api-key 设置)。
Ollama
通过 Ollama 使用本地模型,可配合 Zed Agent、Inline Assistant 以及其他基于模型的 Zed AI 功能。
-
从 ollama.com/download 下载并安装 Ollama。
-
拉取一个模型:
ollama pull mistral -
确保 Ollama 服务器正在运行。macOS 上打开 Ollama.app 即可;Linux 或命令行环境下运行:
ollama serve -
在 Zed 的模型下拉菜单中选择一个 Ollama 模型。
Zed 会自动发现 Ollama 已拉取的模型。如需关闭自动发现并手动列出模型,可以配置 auto_discover:
{
"language_models": {
"ollama": {
"api_url": "http://localhost:11434",
"auto_discover": false,
"available_models": [
{
"name": "qwen2.5-coder",
"display_name": "qwen 2.5 coder",
"max_tokens": 32768,
"supports_tools": true,
"supports_thinking": true,
"supports_images": true
}
]
}
}
}
Ollama 上下文长度
Zed 发送给 Ollama 的请求会将上下文长度作为 num_ctx 参数包含在内。默认情况下,Zed 使用 4096 个 token。
为所有 Ollama 模型设置上下文长度:
{
"language_models": {
"ollama": {
"context_window": 8192
}
}
}
你也可以通过 available_models 中的 max_tokens 为每个模型单独配置上下文长度。
如果 Ollama 服务器需要密钥,请在提供商界面中输入,或设置 OLLAMA_API_KEY。对于 Ollama Turbo 等远程 Ollama 服务,需将 API URL 设置为远程端点并提供 API 密钥。
LM Studio
使用 LM Studio 作为本地模型,以支持 Zed Agent、Inline Assistant 及其他依赖模型的 Zed AI 功能。
-
下载并安装 LM Studio。
-
在 LM Studio 中下载至少一个模型,或使用 LM Studio CLI:
lms get qwen2.5-coder-7b -
启动 LM Studio API 服务器:
lms server start -
在 Zed 中,从模型下拉菜单选择一个 LM Studio 模型。
如果 LM Studio 服务器需要密钥,请在提供商界面中输入,或设置 LMSTUDIO_API_KEY。
本地 OpenAI 兼容服务器
使用 OpenAI 兼容端点 来连接本地或自托管且提供 OpenAI 兼容 API 的服务器。
本地编辑预测
编辑预测拥有独立的服务配置。有关本地及自托管的编辑预测选项,请参阅编辑预测。
智能体路径边界
本页仅涵盖在 Zed 中配置的本地模型。外部智能体与终端 CLI 可能拥有各自的本地模型配置;请直接在相应的智能体或 CLI 中进行设置。