VSCodium 的 Continue 如何连接本地 llama.cpp 服务?
Continue 可以通过 llama-server 的 OpenAI 兼容接口连接本地服务:使用 provider: openai,将 apiBase 设置为 http://127.0.0.1:10000/v1,并填写服务实际返回的模型 ID。Continue 官方支持通过这种方式连接自定义服务。配置说明
现有配置至少有两处需要修正:一是没有指定服务的 10000 端口;二是如果文件中的缩进与贴出的内容一致,provider 和 model 没有放在对应的模型条目内。仅凭界面的通用错误提示,还无法确定是否存在其他兼容性问题。
1. 检查服务接口和模型 ID
保持 llama-server 运行,在 PowerShell 中执行:
Invoke-RestMethod -Uri 'http://127.0.0.1:10000/health'
$modelList = Invoke-RestMethod -Uri 'http://127.0.0.1:10000/v1/models'
$modelList.data | Select-Object id
/health 用于检查服务是否就绪,/v1/models 用于查看模型信息。启动命令中的 unsloth/GLM-4.7-Flash-GGUF:Q6_K_XL 是模型下载标识,不能直接假定它就是 API 返回的模型 ID。配置时以实际查询结果为准。llama-server 接口说明
2. 修改 Continue 的配置
打开 Continue 当前使用的本地 config.yaml,使用以下配置,将 REPLACE_WITH_MODEL_ID 替换为上一步返回的 id:
name: Local Agent
version: 1.0.0
schema: v1
models:
- name: GLM 4.7 Flash Local
provider: openai
model: REPLACE_WITH_MODEL_ID
apiBase: http://127.0.0.1:10000/v1
roles:
- chat
defaultCompletionOptions:
contextLength: 32000
注意以下几点:
name是 Continue 中显示的名称,model是请求发送给服务的模型标识,两者用途不同。provider、model、apiBase等属性都要用空格缩进到同一个模型条目内。provider: openai用于选择兼容接口协议,模型请求的目标由apiBase指定。contextLength: 32000与当前启动命令一致,不会扩大服务端的上下文容量。- 原启动命令没有设置 API key,所以示例没有填写
apiKey。如果实际服务启用了认证,需要补充相应凭据。
这些字段及模型角色的含义可参见 Continue 的 config.yaml 参考。
保存后,确认 Continue 当前选中了 Local Agent 配置,再选择 GLM 4.7 Flash Local,先用普通 Chat 发送一条简短消息。如果界面未更新,可以执行 Developer: Reload Window 后重试。无需等待添加模型的下拉列表自动发现本地服务。
3. 直接测试聊天接口
如果 Continue 仍然报错,可以绕过扩展测试同一个接口。以下示例适用于当前仅运行一个模型的实例:
$modelList = Invoke-RestMethod -Uri 'http://127.0.0.1:10000/v1/models'
$modelId = $modelList.data[0].id
$requestBody = @{
model = $modelId
messages = @(
@{
role = 'user'
content = 'Say hello.'
}
)
stream = $false
max_tokens = 256
} | ConvertTo-Json -Depth 6
Invoke-RestMethod `
-Uri 'http://127.0.0.1:10000/v1/chat/completions' `
-Method Post `
-ContentType 'application/json' `
-Body $requestBody
该请求调用 llama-server 的 OpenAI 兼容聊天接口。接口文档
根据结果继续排查:
- 无法连接时,检查进程是否仍在运行,以及请求是否从服务所在的同一台机器发出。
- 如果返回 HTTP 错误,结合响应正文和 llama-server 日志,检查模型 ID、请求路径及参数。
- 如果能返回聊天响应,但 Continue 仍然失败,重点检查 Continue 是否加载了修改后的配置,并查看扩展日志中的具体错误。这里测试的是非流式响应,不能据此判断流式响应是否正常。
发送 Continue 消息时,也可以观察服务端是否出现对应的请求记录,这比单看“处理响应时出错”的界面提示更容易定位问题。
4. 保留 llama.cpp provider 时如何填写
Continue 官方也提供 provider: llama.cpp 的配置方式,不能仅凭当前错误认定该 provider 完全不可用。如果继续使用它,需要修正缩进并显式指定服务地址:
name: Local Agent
version: 1.0.0
schema: v1
models:
- name: GLM 4.7 Flash Local
provider: llama.cpp
model: REPLACE_WITH_MODEL_ID
apiBase: http://127.0.0.1:10000
这里按该 provider 的官方示例填写根地址,不附加 /v1。前面的 openai 配置则使用带 /v1 的地址,两种配置不要混用。llama.cpp provider 配置说明
如果修正后仍失败,可以使用前面的 OpenAI 兼容配置,并根据具体日志判断扩展版本或适配器是否存在问题。原始材料没有提供 Continue 版本和详细异常,无法进一步确定。
使用时的注意事项
127.0.0.1 指向发起请求的环境自身。如果 Continue 扩展实际运行在 WSL、容器或远程主机中,需要确认它能否访问 Windows 上的服务,不能只凭 Windows PowerShell 中的测试结果判断。
先验证普通 Chat。Agent 工具调用还涉及模型能力、聊天模板和客户端支持,普通聊天连接成功不代表这些能力也已配置完成。
备注:内容仅供参考。
