LM StudioLM Studio

在内存中管理模型

用于从内存中加载、访问和卸载模型的 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)
© . This site is unofficial and not affiliated with Element Labs, Inc.