记录一下那天晚上的排查过程。代码里把 base_url 指向 http://localhost:1234/v1,请求报连接被拒绝,界面上模型已经加载完成并且能正常对话。
刚开始盯着「只监听了本机回环,容器内访问不到宿主机」,折腾了半个多小时,排掉了。
这类报错背后常见的原因有几处,逐个排除就行。本地服务器默认是关闭的,需要在界面里手动启动。还有一种是端口被改过,实际监听的不是 1234。
还有一种情况,模型加载了但没有选中对外提供服务的实例。
动手时先用命令行确认服务状态并启动
lms server status
指定端口启动本地服务
lms server start --port 1234
接着确认端口监听与模型列表
curl http://localhost:1234/v1/models
等前面都确认过,再容器场景改用宿主机地址访问
curl http://host.docker.internal:1234/v1/models
怎么算真的好了,看的是同一批现象。接口返回模型列表,聊天请求能正常返回内容,界面上的服务状态显示为运行中。
补一句。LM Studio 的接口是 OpenAI 兼容的子集,结构化输出和工具调用的支持度和云端不同,迁移前要先跑通关键用例。监控比日志更早给出信号,事后回看经常能提前半小时发现异常。