在内存中管理模型
用于从内存中加载、访问和卸载模型的 API
AI 模型体积庞大。将它们加载到内存中可能需要一些时间。LM Studio 的 SDK 允许您精确控制这一过程。
模型命名空间
- LLM(大语言模型)通过
client.llm命名空间进行访问 - 嵌入模型(Embedding models)通过
client.embedding命名空间进行访问 - 在默认客户端上,
lmstudio.llm等同于client.llm.model - 在默认客户端上,
lmstudio.embedding_model等同于client.embedding.model
最常用操作
- 使用
.model()获取当前加载的任意模型 - 使用
.model("model-key")来使用特定模型
高级(手动模型管理)
- 使用
.load_new_instance("model-key")加载模型的新实例 - 使用
.unload("model-key")或model_handle.unload()从内存中卸载模型
使用 .model() 获取当前模型
如果您已经在 LM Studio 中加载了模型(通过 GUI 或 lms load),可以通过不带任何参数地调用 .model() 来直接使用它。
import lmstudio as lms
model = lms.llm()使用 .model("model-key") 获取特定模型
如果您想使用特定模型,可以将该模型的 Model Key 作为参数传递给 .model()。
若已加载则获取,否则进行加载
如果指定的模型尚未加载,调用 .model("model-key") 会自动加载它;如果已经加载,则直接返回其现有实例。
import lmstudio as lms
model = lms.llm("qwen/qwen3-4b-2507")使用 .load_new_instance() 加载模型的新实例
即使某个模型已经存在一个实例,您也可以使用 load_new_instance() 来加载它的新实例。这允许您在内存中同时加载同一个模型的多个实例,或者同时加载多个不同的模型。
import lmstudio as lms
client = lms.get_default_client()
model = client.llm.load_new_instance("qwen/qwen3-4b-2507")
another_model = client.llm.load_new_instance("qwen/qwen3-4b-2507", "my-second-model")关于实例标识符的注意事项
如果您提供了一个已经存在的实例标识符,服务器将抛出错误。所以如果您不太在乎标识符是什么,最安全的方式是不提供标识符,这样服务器就会为您自动生成一个。您也可以随时在 LM Studio 的服务器(server)选项卡中进行查看!
使用 .unload() 从内存中卸载模型
当您不再需要某个模型时,只需在其句柄上调用 unload(),即可将其从内存中卸载。
import lmstudio as lms
model = lms.llm()
model.unload()设置自定义加载配置参数
您还可以在加载模型时指定与运行时间相关的配置选项,例如上下文长度(Context Length)和 GPU 卸载(GPU offload)。
有关更多信息,请参阅加载时配置。
设置自动卸载定时器 (TTL)
您可以为您加载的模型指定一个*生存时间(time to live)*,即在最后一次请求之后,模型保持空闲状态(以秒为单位)直到自动卸载的时间。有关此内容的更多信息,请参阅空闲 TTL。
专家提示
如果您在 model() 中指定了 TTL,它只有在 model() 实际加载新实例时才会生效,而*不会*追溯性地更改现有实例的 TTL。
import lmstudio as lms
model = lms.llm("qwen/qwen3-4b-2507", ttl=3600)